Dive into the vast array of tools and services available to developers.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Unexpected timezone issues
Hi, my server in Melbourne Australia is getting weather forecasts from a few places around Australia. When I look at the daily timesteps that I get back, they might be something like this: "days": [ { "forecastStart": "2025-06-25T00:00:00Z", "forecastEnd": "2025-06-26T00:00:00Z", "daytimeForecast": { "forecastStart": "2025-06-25T07:00:00Z", "forecastEnd": "2025-06-25T19:00:00Z", "overnightForecast": { "forecastStart": "2025-06-25T19:00:00Z", "forecastEnd": "2025-06-26T07:00:00Z",} It doesn't matter where I ask for - Melbourne, Darwin, Perth, it always comes back the same. The documentation says that daytimeForecast is 7 am to 7 pm local and overnightForecast is 7pm to 7 am local. However, in a place like Perth 7-19Z is 3 pm to 3 am, not 7 pm to 7 am like advertised. I can see that for any given date, there are 3 maximum temperature forecasts, a 24 hour max, a daytime max and an overnight max and they differ from each other. Can anyone help me understand what's happening here? And furthermore in the example above, the 24 hour forecasts that have, for example this: "forecastStart": "2025-06-25T00:00:00Z" ... Can the 00:00:00Z be trusted literally? Or is it more the case that it's "2025-06-25" but the HMS got tacked on in a conversion?
3
0
144
Jul ’25
My Apple developer certificates expire soon. Is it necessary to create new certificates?
My Apple developer certificates(4 certificates) expire soon. I'm developing an application for iOS but the application is not yet released in the App Store, only Testflight releases for private testing. Is it necessary to create 4 new certificates or can I edit the current certificates so that they don't expire soon?
1
0
164
Oct ’25
pkgbuild on Tahoe fails to build packages if any directory name contains non-ascii characters
pkgbuild on Tahoe (26.3.1) fails to build packages if any directory name contains non-ascii characters. pkgbuild is able to build successfully with the same source data on previous versions on macOS, so this is a regression and prevents us from build able to build our products on macOS 26. Example that demonstrates the issue: mkdir -p MyAppData/Taishōgoto echo "Testing" >> MyAppData/Taishōgoto/Content.txt pkgbuild --identifier com.example.MyAppData --install-location '/Library/Application Support/MyAppData' --root MyAppData myappdata.pkg Error messages: parent directory ./Taishōgoto does not exist pkgbuild: error: Cannot write package to "myappdata.pkg". (The file “package.bom” couldn’t be saved in the folder “NSIRD_pkgbuild_52fPuN”.) I have submitted this via Feedback Assistant (FB22312299). I have not found a workaround. Tried copying pkgbuild from Sequoia but the problem persisted, probably because the buggy code is in PackageKit rather than the tool itself.
3
0
89
3w
Apple-hosted managed assets
Hi, anyone managed to make this work? https://developer.apple.com/documentation/backgroundassets Trying for past few days and can't make it work. Following their official documentation, also this video https://www.youtube.com/watch?v=M3jpgZrB1uo, but it seems I am stuck at: try await AssetPackManager.shared.ensureLocalAvailability(of: assetPack) What I did: Manifest files created, info.plist configured, asset pack created and uploaded to appstoreconnect via transporter, successfully assigned to app and ready for internal testing. Added to my code: let assetPack = try await AssetPackManager.shared.assetPack(withID: "Tutorial") try await AssetPackManager.shared.ensureLocalAvailability(of: assetPack) let videoData = try AssetPackManager.shared.contents(at: "Videos/Introduction.m4v") but no luck at all.... is anywhere any demo project available to download to compare with my project?
3
0
479
Oct ’25
How do I get HomeKit accessories to show up in the iOS Simulator?
I'm finding developing for HomeKit using the iOS Simulator utterly confounding. All of my home's actual HomeKit accessories show up fine when I run the HomeKit app I'm developing on my actual phone. But none show up when I run my app in the iOS Simulator. Maybe that's how it's supposed to be? I decided to run the HomeKit Accessory Simulator in an attempt to get something to show up in the iOS Simulator, but the accessories I've created there don't show up in the Simulator either. How do I get devices to show up in the iOS Simulator? Thanks.
1
0
435
Jun ’25
Installer package is terminated after 600 seconds
Hi, I have an installer package that runs a postinstall script. The script can take a long time to complete, as one thing it does is copy about 10-30 GB of files using the rsync tool. We noticed on macOS 15 that the installer would fail almost exactly 10 minutes after it started. Looking in the /var/log/install.log, I see a message like this: 2025-07-01 12:54:32-07 Work-M1 package_script_service[21562]: PackageKit: Terminating PKInstallTask(pid:21573). Task has exceeded its 600 seconds of runtime. This does not happen in my testing on macOS 12 (Monterey) I have a few questions about this: A) Is this documented, and which OS introduced this? B) Is there a way a developer can extend or disable the time limit via a setting in the installer package. Or if not, is there a way end end user can disable it temporarily on their system? Thanks, Andrew
4
0
175
Sep ’25
Include the release date and sw_vers in macos release notes
This is not exactly a feedback about the forums but I couldn't find a better location to ask this question. The macos release notes are hosted at developer.apple.com. For example, the macos 26.4 release note is here https://developer.apple.com/documentation/macos-release-notes/macos-26_4-release-notes. Would it be possible to include the release date in those release notes? Right now, it's hard to locate that information. It would also be useful to even include the sw_vers of that particular release in those release notes. For example: ProductName: macOS ProductVersion: 26.4 BuildVersion: 25E246 Having the sw_vers and the release date in the first few lines of the release note would be handy. The reason I went looking for the release date was because the corresponding sources for macos 26.4 hasn't yet been listed at https://opensource.apple.com/releases/. It usually takes a few days for that to happen, so I wanted to see how long it has been since 26.4 was released.
2
0
98
1w
Building an app with both GUI and Command Line versions
I use CMake for my builds not the XCode GUI. I want to be able to build a single .app that contains both the GUI version and the command line version. I have seen products that ship both as part of the same .app (e.g. CMake) so this is clearly entirely possible, the 64k question is HOW? Right now I am building them as separate apps - lets call them DSS and DSSCL (*). The code base for each is in its own directory - each with its own CMakelists.txt file. My initial thoughts are to change the build for DSSCL so it doesn't create a bundle and then simply copy the DSSCL command and related .qm files into DSS.app/.../MacOS. However that's likely enough totally wrong, so how should I handle this please. As much detail as possible please, I am very new to macOS development -please don't assume knowledge of stuff that's second nature to you Many thanks David (*) Strictly they are DeepSkyStacker and DeepSkyStackerCL
7
0
291
Apr ’25
XCFramework with Common Third-Party Dependencies Causing Duplicate Symbol Conflicts
What is the recommended approach for distributing an XCFramework that uses common third-party dependencies (like Google Maps) when client apps may also use the same dependencies, resulting in duplicate symbol conflicts? I'm developing a closed-source SDK distributed as an XCFramework. My SDK internally uses Google Maps for mapping functionality. However, when clients integrate my XCFramework into their apps that also use Google Maps, we encounter duplicate symbol errors. What I've Tried: Static vs Dynamic Linking: Both approaches result in conflicts Static linking: Google Maps symbols compiled into my binary Dynamic linking: GoogleMaps.framework bundled with my XCFramework Build Configuration: Set "Build Libraries for Distribution" = YES Tried various linking strategies Architecture Changes: Used @implementation_only import Wrapped code with #if canImport(GoogleMaps) However, the dependencies still get linked at build time
9
0
689
Dec ’25
memory leak in dlopen / dlcose, or user error?
Calling dlopen then dlclose causes an increase in the amount of memory used by the program. If I create a loop that calls dlopen / dlclose repeatedly on the same dynamic library, memory usage increases continuously. Is this a bug, or am I using dlopen / dlclose incorrectly? I can reproduce this by modifying the sample code in the Apple Developer docs Creating Dynamic Libraries. If I modify Runtime.c, changing the line void *lib_handle = dlopen(lib_name, RTLD_NOW); to add the infinite loop, as below: void *lib_handle = dlopen(lib_name, RTLD_NOW); for (int ii = 0; ; ++ii) { printf("loop %i\n", ii); int close_err = dlclose(lib_handle); printf("close error: %i\n", close_err); printf("dlopen(%s, RTLD_NOW)\n", lib_name); lib_handle = dlopen(lib_name, RTLD_NOW); } then opening and closing the dynamic library will succeed, but memory usage (as reported by top) will rapidly increase. I'm running on x86_64 macOS 13.6.6. Full code for the modified Runtime.c is attached, the rest of the code is available in the Apple Developer docs. Any suggestions? Many thanks, Chris Runtime.c
6
0
393
Feb ’26
Inconsistency in returning nanoseconds in /bin/date
I am using macOS’s /bin/date command, both in Terminal and via AppleScript (do shell script). I noticed inconsistent behaviour with the %N format specifier for nanoseconds: • On some Macs, date +%s%N returns numeric nanoseconds as expected. • On other Macs, the same command returns a literal N or fails when coerced to a number. • This occurs across different macOS versions and on both Intel and Apple Silicon machines. My understanding is that macOS ships BSD date, which does not officially document %N. I am trying to determine: 1. Is %N in /bin/date officially supported on macOS, and if so, on which versions? 2. If %N is not supported, what is Apple’s recommended, portable method for obtaining sub-second or millisecond timestamps in shell scripts or AppleScript across all macOS versions?
1
0
310
Jan ’26
Use of non-public or deprecated APIs
Hello, "This issue is blocking App store approval" I have tried pushing my application to Appstore. However it has been rejected on the following ground: _"As we discussed, the app uses or references the following non-public or deprecated APIs: Frameworks/CommonLibrary.framework/CommonLibrary Symbols: • _SecCertificateIsValid The use of non-public or deprecated APIs is not permitted, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms."_ I have scanned the app using "strings" tool & "otool -ov" tool. But they have come out clean. No Non-public or deprecated APIs detected. Please advise which tool can be used to scan the CL to locate where the deprecated API or non-public API lies and also how to rectify the same. Thanks Saikat Bakshi.
1
0
227
Jan ’26
Lost X Code Project for a Live Application
Hello, I currently have a live application in the iOS App Store that needs an update to start functioning again, but I've lost the source code in a hard drive failure. Is there a way to reverse engineer the currently deployed package that is live (and also a way to download it from App Store Connect)⁉️ The development change itself is just a very small change for an API route in the code itself. I could even direct an engineer at Apple to make the change in 5 minutes! Let me know if this is possible. Thanks❗️
1
0
95
Apr ’25
Error Message - Rork Publishing in Apple IOS
Hi, I keep getting an error message when I try to publish my App made with Rork into Apple IOS. Message reads "Submission failed: Submission failed. Contact support. Don’t dump it on Rork — it won’t fix this. We still need a human." Any help with this would be appreciated. I am using Microsoft edge and have also used Google Chrome.
1
0
81
Nov ’25
Unexpected timezone issues
Hi, my server in Melbourne Australia is getting weather forecasts from a few places around Australia. When I look at the daily timesteps that I get back, they might be something like this: "days": [ { "forecastStart": "2025-06-25T00:00:00Z", "forecastEnd": "2025-06-26T00:00:00Z", "daytimeForecast": { "forecastStart": "2025-06-25T07:00:00Z", "forecastEnd": "2025-06-25T19:00:00Z", "overnightForecast": { "forecastStart": "2025-06-25T19:00:00Z", "forecastEnd": "2025-06-26T07:00:00Z",} It doesn't matter where I ask for - Melbourne, Darwin, Perth, it always comes back the same. The documentation says that daytimeForecast is 7 am to 7 pm local and overnightForecast is 7pm to 7 am local. However, in a place like Perth 7-19Z is 3 pm to 3 am, not 7 pm to 7 am like advertised. I can see that for any given date, there are 3 maximum temperature forecasts, a 24 hour max, a daytime max and an overnight max and they differ from each other. Can anyone help me understand what's happening here? And furthermore in the example above, the 24 hour forecasts that have, for example this: "forecastStart": "2025-06-25T00:00:00Z" ... Can the 00:00:00Z be trusted literally? Or is it more the case that it's "2025-06-25" but the HMS got tacked on in a conversion?
Replies
3
Boosts
0
Views
144
Activity
Jul ’25
My Apple developer certificates expire soon. Is it necessary to create new certificates?
My Apple developer certificates(4 certificates) expire soon. I'm developing an application for iOS but the application is not yet released in the App Store, only Testflight releases for private testing. Is it necessary to create 4 new certificates or can I edit the current certificates so that they don't expire soon?
Replies
1
Boosts
0
Views
164
Activity
Oct ’25
pkgbuild on Tahoe fails to build packages if any directory name contains non-ascii characters
pkgbuild on Tahoe (26.3.1) fails to build packages if any directory name contains non-ascii characters. pkgbuild is able to build successfully with the same source data on previous versions on macOS, so this is a regression and prevents us from build able to build our products on macOS 26. Example that demonstrates the issue: mkdir -p MyAppData/Taishōgoto echo "Testing" >> MyAppData/Taishōgoto/Content.txt pkgbuild --identifier com.example.MyAppData --install-location '/Library/Application Support/MyAppData' --root MyAppData myappdata.pkg Error messages: parent directory ./Taishōgoto does not exist pkgbuild: error: Cannot write package to "myappdata.pkg". (The file “package.bom” couldn’t be saved in the folder “NSIRD_pkgbuild_52fPuN”.) I have submitted this via Feedback Assistant (FB22312299). I have not found a workaround. Tried copying pkgbuild from Sequoia but the problem persisted, probably because the buggy code is in PackageKit rather than the tool itself.
Replies
3
Boosts
0
Views
89
Activity
3w
Apple-hosted managed assets
Hi, anyone managed to make this work? https://developer.apple.com/documentation/backgroundassets Trying for past few days and can't make it work. Following their official documentation, also this video https://www.youtube.com/watch?v=M3jpgZrB1uo, but it seems I am stuck at: try await AssetPackManager.shared.ensureLocalAvailability(of: assetPack) What I did: Manifest files created, info.plist configured, asset pack created and uploaded to appstoreconnect via transporter, successfully assigned to app and ready for internal testing. Added to my code: let assetPack = try await AssetPackManager.shared.assetPack(withID: "Tutorial") try await AssetPackManager.shared.ensureLocalAvailability(of: assetPack) let videoData = try AssetPackManager.shared.contents(at: "Videos/Introduction.m4v") but no luck at all.... is anywhere any demo project available to download to compare with my project?
Replies
3
Boosts
0
Views
479
Activity
Oct ’25
Programatically Get macOS Version From Mac Catalyst Version
How can I get the macOS version from the Mac Catalyst version? We're building Info.plist files ourselves but we need a way to programatically (using shell scripts) derive the LSMinimumSystemVersion key needed from the iOS deployment target.
Replies
2
Boosts
0
Views
151
Activity
Jun ’25
How do I get HomeKit accessories to show up in the iOS Simulator?
I'm finding developing for HomeKit using the iOS Simulator utterly confounding. All of my home's actual HomeKit accessories show up fine when I run the HomeKit app I'm developing on my actual phone. But none show up when I run my app in the iOS Simulator. Maybe that's how it's supposed to be? I decided to run the HomeKit Accessory Simulator in an attempt to get something to show up in the iOS Simulator, but the accessories I've created there don't show up in the Simulator either. How do I get devices to show up in the iOS Simulator? Thanks.
Replies
1
Boosts
0
Views
435
Activity
Jun ’25
Installer package is terminated after 600 seconds
Hi, I have an installer package that runs a postinstall script. The script can take a long time to complete, as one thing it does is copy about 10-30 GB of files using the rsync tool. We noticed on macOS 15 that the installer would fail almost exactly 10 minutes after it started. Looking in the /var/log/install.log, I see a message like this: 2025-07-01 12:54:32-07 Work-M1 package_script_service[21562]: PackageKit: Terminating PKInstallTask(pid:21573). Task has exceeded its 600 seconds of runtime. This does not happen in my testing on macOS 12 (Monterey) I have a few questions about this: A) Is this documented, and which OS introduced this? B) Is there a way a developer can extend or disable the time limit via a setting in the installer package. Or if not, is there a way end end user can disable it temporarily on their system? Thanks, Andrew
Replies
4
Boosts
0
Views
175
Activity
Sep ’25
Can the bundle ID for an unsubmitted app be reused?
I was developing an app using a certain bundle ID, but then had to delete it (and I also removed the app ID Identifier) My question is, can I make a new app with the exact same bundle ID as I was using on the removed one? Since the old app never went into production I don't see why that would be a problem
Replies
2
Boosts
0
Views
476
Activity
Jul ’25
Setting LSApplicationCategoryType
Is this a valid thing to include in the Info.plist file? If so is a category of public.app-category.astronomyvalid? I couldn't find that, but the categories I did find seemed very limited.
Replies
2
Boosts
0
Views
155
Activity
May ’25
Include the release date and sw_vers in macos release notes
This is not exactly a feedback about the forums but I couldn't find a better location to ask this question. The macos release notes are hosted at developer.apple.com. For example, the macos 26.4 release note is here https://developer.apple.com/documentation/macos-release-notes/macos-26_4-release-notes. Would it be possible to include the release date in those release notes? Right now, it's hard to locate that information. It would also be useful to even include the sw_vers of that particular release in those release notes. For example: ProductName: macOS ProductVersion: 26.4 BuildVersion: 25E246 Having the sw_vers and the release date in the first few lines of the release note would be handy. The reason I went looking for the release date was because the corresponding sources for macos 26.4 hasn't yet been listed at https://opensource.apple.com/releases/. It usually takes a few days for that to happen, so I wanted to see how long it has been since 26.4 was released.
Replies
2
Boosts
0
Views
98
Activity
1w
Building an app with both GUI and Command Line versions
I use CMake for my builds not the XCode GUI. I want to be able to build a single .app that contains both the GUI version and the command line version. I have seen products that ship both as part of the same .app (e.g. CMake) so this is clearly entirely possible, the 64k question is HOW? Right now I am building them as separate apps - lets call them DSS and DSSCL (*). The code base for each is in its own directory - each with its own CMakelists.txt file. My initial thoughts are to change the build for DSSCL so it doesn't create a bundle and then simply copy the DSSCL command and related .qm files into DSS.app/.../MacOS. However that's likely enough totally wrong, so how should I handle this please. As much detail as possible please, I am very new to macOS development -please don't assume knowledge of stuff that's second nature to you Many thanks David (*) Strictly they are DeepSkyStacker and DeepSkyStackerCL
Replies
7
Boosts
0
Views
291
Activity
Apr ’25
XCFramework with Common Third-Party Dependencies Causing Duplicate Symbol Conflicts
What is the recommended approach for distributing an XCFramework that uses common third-party dependencies (like Google Maps) when client apps may also use the same dependencies, resulting in duplicate symbol conflicts? I'm developing a closed-source SDK distributed as an XCFramework. My SDK internally uses Google Maps for mapping functionality. However, when clients integrate my XCFramework into their apps that also use Google Maps, we encounter duplicate symbol errors. What I've Tried: Static vs Dynamic Linking: Both approaches result in conflicts Static linking: Google Maps symbols compiled into my binary Dynamic linking: GoogleMaps.framework bundled with my XCFramework Build Configuration: Set "Build Libraries for Distribution" = YES Tried various linking strategies Architecture Changes: Used @implementation_only import Wrapped code with #if canImport(GoogleMaps) However, the dependencies still get linked at build time
Replies
9
Boosts
0
Views
689
Activity
Dec ’25
memory leak in dlopen / dlcose, or user error?
Calling dlopen then dlclose causes an increase in the amount of memory used by the program. If I create a loop that calls dlopen / dlclose repeatedly on the same dynamic library, memory usage increases continuously. Is this a bug, or am I using dlopen / dlclose incorrectly? I can reproduce this by modifying the sample code in the Apple Developer docs Creating Dynamic Libraries. If I modify Runtime.c, changing the line void *lib_handle = dlopen(lib_name, RTLD_NOW); to add the infinite loop, as below: void *lib_handle = dlopen(lib_name, RTLD_NOW); for (int ii = 0; ; ++ii) { printf("loop %i\n", ii); int close_err = dlclose(lib_handle); printf("close error: %i\n", close_err); printf("dlopen(%s, RTLD_NOW)\n", lib_name); lib_handle = dlopen(lib_name, RTLD_NOW); } then opening and closing the dynamic library will succeed, but memory usage (as reported by top) will rapidly increase. I'm running on x86_64 macOS 13.6.6. Full code for the modified Runtime.c is attached, the rest of the code is available in the Apple Developer docs. Any suggestions? Many thanks, Chris Runtime.c
Replies
6
Boosts
0
Views
393
Activity
Feb ’26
Inconsistency in returning nanoseconds in /bin/date
I am using macOS’s /bin/date command, both in Terminal and via AppleScript (do shell script). I noticed inconsistent behaviour with the %N format specifier for nanoseconds: • On some Macs, date +%s%N returns numeric nanoseconds as expected. • On other Macs, the same command returns a literal N or fails when coerced to a number. • This occurs across different macOS versions and on both Intel and Apple Silicon machines. My understanding is that macOS ships BSD date, which does not officially document %N. I am trying to determine: 1. Is %N in /bin/date officially supported on macOS, and if so, on which versions? 2. If %N is not supported, what is Apple’s recommended, portable method for obtaining sub-second or millisecond timestamps in shell scripts or AppleScript across all macOS versions?
Replies
1
Boosts
0
Views
310
Activity
Jan ’26
Has anyone turned macOS into a globally accessible multiuser dev server?
Has anyone here successfully set up macOS as a globally accessible, multiuser development server using native remote login (SSH) and VS Code Remote?
Replies
1
Boosts
0
Views
104
Activity
May ’25
Xcode26.1 ld: Assertion failed:function ObjCClassReadOnlyDataRef, file Atom.cpp, line 3292.
log
Replies
3
Boosts
0
Views
466
Activity
Jan ’26
Use of non-public or deprecated APIs
Hello, "This issue is blocking App store approval" I have tried pushing my application to Appstore. However it has been rejected on the following ground: _"As we discussed, the app uses or references the following non-public or deprecated APIs: Frameworks/CommonLibrary.framework/CommonLibrary Symbols: • _SecCertificateIsValid The use of non-public or deprecated APIs is not permitted, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms."_ I have scanned the app using "strings" tool & "otool -ov" tool. But they have come out clean. No Non-public or deprecated APIs detected. Please advise which tool can be used to scan the CL to locate where the deprecated API or non-public API lies and also how to rectify the same. Thanks Saikat Bakshi.
Replies
1
Boosts
0
Views
227
Activity
Jan ’26
Support Liquid Glass and normal app icon
How do I support both Liquid Glass app icon for devices running iOS 26 and a regular app icon for devices running iOS18?
Replies
1
Boosts
0
Views
180
Activity
Jul ’25
Lost X Code Project for a Live Application
Hello, I currently have a live application in the iOS App Store that needs an update to start functioning again, but I've lost the source code in a hard drive failure. Is there a way to reverse engineer the currently deployed package that is live (and also a way to download it from App Store Connect)⁉️ The development change itself is just a very small change for an API route in the code itself. I could even direct an engineer at Apple to make the change in 5 minutes! Let me know if this is possible. Thanks❗️
Replies
1
Boosts
0
Views
95
Activity
Apr ’25
Error Message - Rork Publishing in Apple IOS
Hi, I keep getting an error message when I try to publish my App made with Rork into Apple IOS. Message reads "Submission failed: Submission failed. Contact support. Don’t dump it on Rork — it won’t fix this. We still need a human." Any help with this would be appreciated. I am using Microsoft edge and have also used Google Chrome.
Replies
1
Boosts
0
Views
81
Activity
Nov ’25