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

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Check whether app is built in debug or release mode
Currently, if as a library author you are shipping dependencies as code, you can use the #if DEBUG preprocessor check to execute logic based on whether app is being built for Debug or Release. My concern is more about the approach that should be taken when distributing frameworks/xcframeworks. One approach I am thinking of using is checking the presence of {CFBundleName}.debug.dylib in the main bundle. Is this approach reliable? Do you suggest any other approach?
7
0
265
22h
Running tests on multiple simulators and local mock servers
Hello, I have a question about running tests on multiple simulators. Currently, my company has a WDIO+Appium test suite with XCUITEST driver that runs on a single simulator through a mockttp proxy (we are intercepting and mocking some of the responses from our APIs and pass through the rest). In order to route the traffic we are currently using 'networksetup -setsecurewebproxy '. Everything works as expected. With growing number of tests we'd like to scale number of simulators on a single host to 3-5. We have a working setup but the problem are system-wide proxy settings routing traffic from multiple simulators, which we can't distinguish by UDID or any other means, we know of. We can spin multiple mock servers on the same machine but we are struggling to find the way to route the traffic on a simulator basis. In the end, both options are viable: 1 mock server running for multiple simulators N number of mock servers for N number of simulators Has anyone had the same/similar problem? How to approach this? We are currently running on Sequoia OSX and platform version 18.6. Thanks!
0
0
12
1d
Package created with pkgbuild installs zero-byte file
Just recently, any pkg file that I create with pkgbuild will install the Payload's application as a zero-byte file in the /Applications directory. This has been working for years without issue for me. Here are the commands I am using with company specific items replaced: pkgbuild --analyze --root MyApplicationRootDirectory standalone.plist plutil -replace BundleIsRelocatable -bool NO standalone.plist pkgbuild --identifier MyIdentifier --version 1.0 --install-location /Applications --root MyApplicationRootDirectory --component-plist standalone.plist --sign 'Developer ID Installer: MyCompany (MySignId)' --timestamp installer.pkg Any ideas on what could be causing the issue? I have verified the following: The application being added to the pkg is both signed and notarized using the correct Developer ID Application certificate. The resultant pkg file is both signed and notarized using the Developer ID Installer certificate. Verified the pkg contents using "pkgutil --expand" to dump the contents. Verified the pkg's Payload contents by extracting the data using "cat Payload | gunzip | cpio -1". This results in an application file that is a binary match for file added in the "pkgbuild --root" argument. My application is the only file within the directory passed to the "pkgbuild --root" argument. There are no warnings in the System Settings / Privacy & Security Panel when running the package installer. I have a valid Mac Developer account. I am building the application and the pkg file on the same computer. Thank you for any insight.
6
0
190
1d
Downgrade Developer Test-Device to iOS 18.7.X
Hi, I accidentally upgraded my test device (iPhone 13 mini) to iOS 26. I really need to downgrade it to 18.7.X again. It seems this isn't possible since Apple doesn't sign the .ipsw anymore. Is there really no way for a paying developer to downgrade her test devices? (Please don't tell me to use the support forums, this is a concerning a developer test device)
1
0
54
2d
App Store Connect release notes RSS feed
I want to keep an eye on the App Store Connect release notes to find out when builds created with Xcode 26.2 RC will be accepted. I tried to add https://developer.apple.com/help/app-store-connect/release-notes/ to my RSS reeder but the items listed are not the same, it’s the items from the latest news from Apple Developer instead. Can we get an RSS feed please? Seems will be useful to monitor these release notes over time.
4
0
183
3d
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
298
3d
How to test SignificantChange Permission Ask
I'm developing for compliance with Texas law in the United States. Currently, I'm encountering an issue where I want to test the feature point "when the app undergoes significant changes, a supervised user initiates a request." However, during actual testing, the app pops up an error message: "Can't Ask, An Unknown error occurred." Additionally, I see the following error message in the Xcode Console: "Error Domain=AskToCore.ATMessageComposeValidationError Code=4 'The user is in a region that does not support this type of ask.' UserInfo={NSLocalizedFailureReason=The user must be in a supported region to use this feature., NSLocalizedRecoverySuggestion=Please ensure the user is in an eligible region., NSLocalizedDescription=The user is in a region that does not support this type of ask.}" I am indeed not in the Texas region. I want to conduct full-process testing before the feature is released to the App Store. What should I do? Apart from Sandbox testing (which, in fact, doesn't show any pop-ups either), how can I test under real-world conditions?
0
1
111
4d
I need help with my TestFlight crash report. I have already symbolicated my crash report but I don't see an error.
My application always crashes at the same position when I open it on my iPad Air. It doesn't crash in debug mode which makes it very difficult for me to find the issue. My crash report from TestFlight: Exception Subtype: KERN_INVALID_ADDRESS at 0x000000016d5f26f0 Exception Codes: 0x0000000000000001, 0x000000016d5f26f0 VM Region Info: 0x16d5f26f0 is not in any region. Bytes after previous region: 546219761 Bytes before following region: 399632 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL MALLOC_LARGE 14c000000-14cd08000 [ 13.0M] rw-/rwx SM=PRV ---> GAP OF 0x2094c000 BYTES Stack Guard 16d654000-16d658000 [ 16K] ---/rwx SM=NUL Termination Reason: SIGNAL 4 Illegal instruction: 4 Terminating Process: ProjectiOS [745] Triggered by Thread: 0 Thread 0 name: Thread 0 name: Thread 0 Crashed: 0 ProjectiOS 0x0000000107abf3b4 0x1026ac000 + 88159156 1 ProjectiOS 0x000000010e7d3be4 0x1026ac000 + 202537956 2 ProjectiOS 0x000000010e96c45c 0x1026ac000 + 204211292 3 ProjectiOS 0x000000010e96cadc 0x1026ac000 + 204212956 4 ProjectiOS 0x000000010e7d7ba4 0x1026ac000 + 202554276 5 ProjectiOS 0x00000001079cccc0 0x1026ac000 + 87166144 6 ProjectiOS 0x000000010945f33c 0x1026ac000 + 115028796 7 ProjectiOS 0x000000010945b648 0x1026ac000 + 115013192 8 ProjectiOS 0x0000000109458510 0x1026ac000 + 115000592 9 ProjectiOS 0x0000000107530430 0x1026ac000 + 82330672 10 ProjectiOS 0x0000000109459290 0x1026ac000 + 115004048 11 ProjectiOS 0x0000000109457584 0x1026ac000 + 114996612 12 ProjectiOS 0x00000001094b961c 0x1026ac000 + 115398172 13 ProjectiOS 0x00000001094bb8a0 0x1026ac000 + 115407008 14 ProjectiOS 0x00000001094c0340 0x1026ac000 + 115426112 15 ProjectiOS 0x000000010971e698 0x1026ac000 + 117909144 16 ProjectiOS 0x000000011104f7a4 0x1026ac000 + 244987812 17 QuartzCore 0x00000001879f4548 CA::Display::DisplayLinkItem::dispatch_(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&) + 64 (CADisplay.mm:6671) 18 QuartzCore 0x00000001879d1c64 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 880 (CADisplay.mm:5794) 19 QuartzCore 0x00000001879e5394 CA::Display::DisplayLink::dispatch_deferred_display_links(unsigned int) + 360 (CADisplay.mm:4886) 20 UIKitCore 0x000000018c936afc _UIUpdateSequenceRunNext + 128 (_UIUpdateSequence.mm:189) 21 UIKitCore 0x000000018c935f8c schedulerStepScheduledMainSectionContinue + 60 (_UIUpdateScheduler.m:1197) 22 UpdateCycle 0x000000027364b560 UC::DriverCore::continueProcessing() + 84 (UCDriver.cc:288) 23 CoreFoundation 0x0000000186f8c4cc __CFMachPortPerform + 168 (CFMachPort.c:604) 24 CoreFoundation 0x0000000186fbc0b0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 (CFRunLoop.c:2045) 25 CoreFoundation 0x0000000186fbbfd8 __CFRunLoopDoSource1 + 508 (CFRunLoop.c:2184) 26 CoreFoundation 0x0000000186f93c1c __CFRunLoopRun + 2168 (CFRunLoop.c:3205) 27 CoreFoundation 0x0000000186f92a6c _CFRunLoopRunSpecificWithOptions + 532 (CFRunLoop.c:3462) 28 GraphicsServices 0x000000022790d498 GSEventRunModal + 120 (GSEvent.c:2049) 29 UIKitCore 0x000000018c956ba4 -[UIApplication _run] + 792 (UIApplication.m:3902) 30 UIKitCore 0x000000018c8ffa78 UIApplicationMain + 336 (UIApplication.m:5577) 31 ProjectiOS 0x0000000110d93700 0x1026ac000 + 242120448 32 ProjectiOS 0x00000001109068f0 0x1026ac000 + 237349104 33 ProjectiOS 0x000000010f5885d4 0x1026ac000 + 216909268 34 ProjectiOS 0x000000010f588908 0x1026ac000 + 216910088 35 ProjectiOS 0x0000000107cf95b8 0x1026ac000 + 90494392 36 ProjectiOS 0x000000010e85dce8 0x1026ac000 + 203103464 37 ProjectiOS 0x0000000110fadbd4 0x1026ac000 + 244325332 38 ProjectiOS 0x0000000110f48e64 0x1026ac000 + 243912292 39 ProjectiOS 0x0000000110f50004 0x1026ac000 + 243941380 40 ProjectiOS 0x0000000110fb54f4 0x1026ac000 + 244356340 41 ProjectiOS 0x0000000110de715c 0x1026ac000 + 242463068 42 ProjectiOS 0x000000011102e55c 0x1026ac000 + 244852060 43 dyld 0x0000000183faae28 start + 7116 (dyldMain.cpp:1477) Then I symbolicated all the lines starting with "ProjectiOS" in my crash report but I cannot find the issue. Which lines in my crash report cause the crash? Lines 0-16: alcCaptureSamples (in ProjectiOS) + 202259184 alcCaptureSamples (in ProjectiOS) + 203932520 alcCaptureSamples (in ProjectiOS) + 203934184 alcCaptureSamples (in ProjectiOS) + 202275504 alcCaptureSamples (in ProjectiOS) + 86887372 alcCaptureSamples (in ProjectiOS) + 114750024 alcCaptureSamples (in ProjectiOS) + 114734420 alcCaptureSamples (in ProjectiOS) + 114721820 alcCaptureSamples (in ProjectiOS) + 82051900 alcCaptureSamples (in ProjectiOS) + 114725276 alcCaptureSamples (in ProjectiOS) + 114717840 alcCaptureSamples (in ProjectiOS) + 115119400 alcCaptureSamples (in ProjectiOS) + 115128236 alcCaptureSamples (in ProjectiOS) + 115147340 alcCaptureSamples (in ProjectiOS) + 117630372 BrotliEncoderHasMoreOutput (in ProjectiOS) + 2126968 Lines 31-42: alcCaptureSamples (in ProjectiOS) + 237070332 alcCaptureSamples (in ProjectiOS) + 216630496 alcCaptureSamples (in ProjectiOS) + 216631316 alcCaptureSamples (in ProjectiOS) + 90215620 alcCaptureSamples (in ProjectiOS) + 202824692 BrotliEncoderHasMoreOutput (in ProjectiOS) + 1464488 BrotliEncoderHasMoreOutput (in ProjectiOS) + 1051448 BrotliEncoderHasMoreOutput (in ProjectiOS) + 1080536 BrotliEncoderHasMoreOutput (in ProjectiOS) + 1495496 xamarin_get_original_working_directory_path (in ProjectiOS) + 4032 BrotliEncoderHasMoreOutput (in ProjectiOS) + 1991216
2
0
248
5d
Alternatives to exports file for using Xcode frameworks in iOS
Hi, I have an iOS project with the following app targets: main iOS application a notification service extension 5 static libs containing some swift files with public methods 1 dynamic framework with above static libs as dependencies. The framework only contains 2 files - a default .h file and 1 .exp file. This exports file contains mangled-names of all the public methods that are exposed by the 5 static libs present as framework's dependencies. I obtained these symbols using the nm command for each static lib. The main iOS app target has 2 dependencies - the framework and the notification extension. The notification extension only depends on the framework. This setup works perfectly fine. I wanted to understand: If using the exports file is the only way to make this setup work? If not, what else can I do? What way does Apple recommend? According to my requirements, I only need at-most 2-3 functions to be exposed by the framework - thus using a exports file just for that seems to bug me. Thank you.
3
0
110
1w
Installer packages are failing to install on macOS26.1
Hi, We use Flat package installers (.pkg based installers) to install our applications on macOS. In macOS 26.1, installation is failing with the error Unable to use PK session due to incompatible packages. Terminating. 2025-11-03 14:22:36+05:30 Admin-3 installer[1160]: Install failed: The Installer could not install the software because there was no software found to install. Same installer package is working on macOS 26. Any help is greatly appreciated.
15
0
496
1w
Installer JS warning when try to read the version from /var/db/receipts folder
Hi, I am using Installer JS in Distrtibution file which is created using productbuild command. I am trying to read the installed version of app from the plist file present in the /var/db/receipts folder. It gives the following warning. If I enable the flag , notarization will fail. FJS: Package Authoring Error: access to path "/var/db/receipts/com.xxx.xxx.plist" requires Following is the function I have used to read the installed version. system.files.plistAtPath() I have also tried the following function to read the version from .app file. system.files.bundleAtPath Both the functions give the warning. Is there are a way to avoid this warning or a better way to read the installed version? Regards Prema Kumar
1
0
83
1w
Why is my device, in a free developer account under the age of majority, allowing beta updates?
I am a developer with a free developer account, and my account is under the legal age of majority. I know that, according to the terms in Section 6 of the Apple Developer Agreement, I must be the legal age of majority to use pre-release software, and yet the Software Update section of Settings on my device would allow me to install a beta release of iOS 26. Is there a way for me to hide/remove this option without signing out of my account, and not have it appear again as an option until I reach the age of majority?
1
0
62
1w
Unable to get a new API Key
When I try to get a new API Key I get the following error. "API Keys cannot be created due to an invalid Program License Agreement. Please update this agreement and try your request again." I have been to the agreement section, and it says: "Issued October 8, 2025. Accepted November 19, 2025." Any idea why I still get this error?? Not sure if that makes a difference. I had a paid account, but I didn't renew it because I don't need it anymore, and I was told that I can still use this account for free for app testing.
8
0
371
1w
Signing / Provisioning Profile Error After Enabling CloudKit + MusicKit Entitlements
Hi everyone, after enabling CloudKit in my project, my app started showing conflicts between MusicKit and CloudKit entitlements — and now Xcode is failing to generate the provisioning profile entirely. Current issue (Signing / Provisioning Profile Failure) Xcode shows this error: “Provisioning profile ‘iOS Team Provisioning Profile: team8.groovefy.dev’ doesn’t include the entitlements: com.apple.developer.media-library, com.apple.developer.music-user-token, com.apple.developer.musickit, com.apple.developer.playable-content, com.apple.security.exception.mach-lookup.global-name” Automatic signing fails, and Xcode cannot create or update the provisioning profile. This started right after CloudKit was enabled in the project. Context Before enabling CloudKit, MusicKit worked normally, including Apple Music authentication and playlist creation. After activating CloudKit capabilities: MusicKit stopped generating the Apple Music user token Playlist creation broke Now the provisioning profile cannot be rebuilt because the required MusicKit-related entitlements are no longer included Even after removing CloudKit entirely, the issue persists — as if the App ID or entitlements on the server side became inconsistent or corrupted. I already tried: Recreating App Identifier Recreating provisioning profiles Resetting capabilities Cleaning and reinitializing the Xcode project settings But Xcode still refuses to generate a valid provisioning profile that includes the MusicKit entitlements. Summary Enabling CloudKit caused MusicKit entitlements to collide, and now the provisioning profile no longer includes the required MusicKit entitlements — preventing the app from signing, running, or creating playlists. If anyone has faced this type of entitlements/provisioning corruption or knows how to reset the App ID entitlements on Apple’s side, any help would be greatly appreciated.
1
0
98
1w
How to create a dylib for iOS project?
I want to create a dynamic library for my iOS project, which would be loaded at runtime. In Xcode, there are templates available for creating a static/dynamic lib for MacOS. But under the iOS tab, there is only a "static library" template. So, I used the "static library" template and in its build settings I changed the Mach-O type to "dynamic library". Now after building it, I use the file command on the generated file and it tells me it is a dynamic lib. But the generated file still has .a extension, which is usually for static libs. I'm aware we can tell Xcode in build settings to change the .a extension to something else, say .dylib but this seems like a hacky way to create a dynamic library. What is the correct way? I am aware that standalone dylibs are not supported on iOS, and we need to wrap them in a framework. For my use case, the framework will literally be a wrapper, it won't have any source files of its own. It should only contain the dynamic lib generated from some independent codebase. I am not sure how to place the dylib in the framework.
1
0
56
1w
Is there a way for two users to make development builds on separate accounts for one app?
Tech stack: React Native + Expo. We are using two solo developer accounts (not a business or team account). Context: Friend and I set out to make an app together. Friend created app and set it up on Apple. We worked on it together. He controlled devops (builds and submission). Friend no longer can commit to development. Wants to transfer to me. I create apple developer account. After app transfer, my phone (deviceid) underwent a 14 day soft ban preventing builds. That has since been lifted. There seems to be something in place preventing me from making dev builds on the original dev bundleid. It says it's still owned by him despite the app transfer. Bottom line: what needs to happen so 1 can make dev builds? nice to have: is there a way for us to both make dev builds under the same bundleid?
1
0
31
1w
Is there a way for two users to make development builds on separate accounts for one app?
Tech stack: React Native + Expo. We are using two solo developer accounts (not a business or team account). Context: Friend and I set out to make an app together. Friend created app and set it up on Apple. We worked on it together. He controlled devops (builds and submission). Friend no longer can commit to development. Wants to transfer to me. I create apple developer account. After app transfer, my phone (deviceid) underwent a 14 day soft ban preventing builds. That has since been lifted. There seems to be something in place preventing me from making dev builds on the original dev bundleid. It says it's still owned by him despite the app transfer. Bottom line: what needs to happen so I can make dev builds? Nice to have: we can both make dev builds under the same bundleid
1
0
60
1w
Sign in with Google Issue
We're having issues getting Sign in with Google to function on TestFlight (not experiencing these issues on iOS Browser) with user unable to be authorised and proceed to logged in screens of our app. Below are the three sign-in methods tested and the exact results for each. Button 1: Default Standard Google Sign-In button (Google JavaScript SDK) embedded in the frontend. Uses the normal OAuth browser redirect flow. Auth URL: https://accounts.google.com/o/oauth2/v2/auth?... Sometimes disallowed_useragent error. Other times a 400 invalid_request error. In most cases the callback is never triggered inside the wrapper. Appears that the wrapper does not retain cookies/session data from the external Google window. Button 2: Custom Custom button calling Google OAuth through our own redirect handler. Explicitly set a custom user-agent to bypass disallowed user agent logic. Later removed user-agent override entirely for testing. Added multiple ATS (App Transport Security) exceptions for Google domains. Added custom URL scheme to Info.plist for OAuth redirect. Changing the user-agent had no effect. ATS exceptions + scheme support verified and working. Redirect still fails to propagate tokens back to the WebView. In tests a few weeks ago we got to Google’s login page, but it never returned to the app with a valid code. Now we are consistently getting disallowed_useragent error. Button 3: Default Same as Button 1 however tested outside of Vue.js with just plain JavaScript. Added new Google domain exceptions and updated redirect URIs. Behaviour matches Button 1 Google account selection sometimes worked, however now consitently disallowed_useragent error Additional Technical Attempts User-Agent Modifications Set UA to standard desktop Chrome → no effect. Removed UA override → no effect. ATS / Domain / Scheme Configuration Added: accounts.google.com .googleusercontent.com *.googleapis.com
0
0
239
1w