Post

Replies

Boosts

Views

Activity

Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
Hello @eskimo @DTS Engineer In the response, There are basically two strategies here: Completely hide these dependencies from your framework’s clients. Completely expose these dependencies to your framework’s clients. In the first strategy, you statically link these dependencies into your framework. How should a framework be statically linked into its parent framework, which setting in Xcode controls this?
Mar ’25
Reply to Notification Service Extension Not Triggering for Push Notifications on iOS
I've been using rich notifications with images on all these platforms without an issue. So the problem is most likely something to do with your code which for some reason only manifests with those versions. Have you tried just simply interactively debugging the extension and checking, for example, that the image is being loaded/retrieved from wherever it is you are getting it from? Are you getting the image from the bundle? Check its not nil for example.
Mar ’25
Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
@DTS Engineer / @Eskimo Thank you for your answers on this topic. There's something I'm not clear on - above you say "An umbrella framework has a very specific technical meaning, and that’s not what you’re talking about here. The term you’re looking for is nested framework." and outline possible approaches. But in this post https://developer.apple.com/forums/thread/748419 You state: "You’re correct that iOS doesn’t support nested frameworks." So what is exactly meant by the term nested framework therefore? Thank you
Mar ’25
Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
@DTS Engineer / @Eskimo What is the situation outlined this ticket called? Where app A is using a Framework F which in turn contains dependencies upon other(3rd party) frameworks? If that is possible (which it must be as you're making reccommendations on approaches), how is it different from nested frameworks? Than you
Mar ’25
Reply to How include dSYM when I build my Framework project?
How can this be done without having the framework project within the app project? In m case I have an Xcode iOS project with type framework. Then I create a .xcframework and include that into another project with type app. In both projects the debug information format is set to Dwarf with dSYM in release build. Within the app project, within the Frameworks, Libraries & Embedded content section the framework is set to Embed and Sign, and its within the Embed Frameworks section. Yet when an archive of the app is created there is no dSYM present from the framework.
Apr ’25
Reply to didRegisterForRemoteNotificationsWithDeviceToken() not called if requestAuthorization() is not called
This can be reproduced from scratch in just 2 minutes: create a brand new iOS app and give it the push notification capability. Change the app delegate template code to this: @main class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { UNUserNotificationCenter.current().delegate = self // UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in // NSLog("Notification permission granted: \(granted)") // DispatchQueue.main.async { application.registerForRemoteNotifications() // } // } NSLog("didFinishLaunchingWithOptions returning") return true } // Called when an APNS token has been sucessfully obtained func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined() NSLog("Apn Push token: \(token)") } // Called when APN token request fails func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { NSLog("❗️Failed to register for remote notifications: \(error)") } Neither didRegisterForRemoteNotificationsWithDeviceToken() nor didFailToRegisterForRemoteNotificationsWithError() get called. Now uncomment the code and didRegisterForRemoteNotificationsWithDeviceToken() will get called. So based on this experiment, requestAuthorization() is a requirment. Now where does it state that in the Apple documentation, it doesn't, how does this code differ from what's in the Apple documentation, it doesn't. https://developer-mdn.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW4
Sep ’25
Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
Hello @eskimo @DTS Engineer In the response, There are basically two strategies here: Completely hide these dependencies from your framework’s clients. Completely expose these dependencies to your framework’s clients. In the first strategy, you statically link these dependencies into your framework. How should a framework be statically linked into its parent framework, which setting in Xcode controls this?
Replies
Boosts
Views
Activity
Mar ’25
Reply to Notification Service Extension Not Triggering for Push Notifications on iOS
I've been using rich notifications with images on all these platforms without an issue. So the problem is most likely something to do with your code which for some reason only manifests with those versions. Have you tried just simply interactively debugging the extension and checking, for example, that the image is being loaded/retrieved from wherever it is you are getting it from? Are you getting the image from the bundle? Check its not nil for example.
Replies
Boosts
Views
Activity
Mar ’25
Reply to When creating a nested framework, most but not all symbols found
@eskimo @DTS Engineer FYI Note that this issue isn't specific to installing dependencies via pods. If the 3rd party frameworks are added directly to the parent framework, the exact same issues manifest. i.e.
Replies
Boosts
Views
Activity
Mar ’25
Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
@DTS Engineer / @Eskimo Thank you for your answers on this topic. There's something I'm not clear on - above you say "An umbrella framework has a very specific technical meaning, and that’s not what you’re talking about here. The term you’re looking for is nested framework." and outline possible approaches. But in this post https://developer.apple.com/forums/thread/748419 You state: "You’re correct that iOS doesn’t support nested frameworks." So what is exactly meant by the term nested framework therefore? Thank you
Replies
Boosts
Views
Activity
Mar ’25
Reply to If you have code to package as a framework which has a 3rd party dependency, what can you do given that iOS doesn't support umbrella frameworks
@DTS Engineer / @Eskimo What is the situation outlined this ticket called? Where app A is using a Framework F which in turn contains dependencies upon other(3rd party) frameworks? If that is possible (which it must be as you're making reccommendations on approaches), how is it different from nested frameworks? Than you
Replies
Boosts
Views
Activity
Mar ’25
Reply to "CLIENT OF UIKIT REQUIRES UPDATE: This process does not adopt UIScene lifecycle. This will become an assert in a future version."
@Ed Ford What does this part mean "This will become an assert in a future version." A run time assertion? In which case this is a mandatory thing to change?
Replies
Boosts
Views
Activity
Apr ’25
Reply to How include dSYM when I build my Framework project?
How can this be done without having the framework project within the app project? In m case I have an Xcode iOS project with type framework. Then I create a .xcframework and include that into another project with type app. In both projects the debug information format is set to Dwarf with dSYM in release build. Within the app project, within the Frameworks, Libraries & Embedded content section the framework is set to Embed and Sign, and its within the Embed Frameworks section. Yet when an archive of the app is created there is no dSYM present from the framework.
Replies
Boosts
Views
Activity
Apr ’25
Reply to Direct to 'Call Blocking & Identification' on iOS
CXCallDirectoryManager.openSettings()
Replies
Boosts
Views
Activity
Apr ’25
Reply to In Xcode's build phases section is it possible to enable/disable compile flags bases on scheme
I.e. if a flag is set here: Anyway to turn it on off without having to duplicate the target?
Replies
Boosts
Views
Activity
May ’25
Reply to Can an iOS app programmatically detect if it's built for release or debug?
@eskimo Is looking for the presence of Bundle.main.appStoreReceiptURL usable in this context? If present it would mean the app requires the Apple push production server
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Jun ’25
Reply to TestFlight not Working
I get the same message
Replies
Boosts
Views
Activity
Jul ’25
Reply to Call Blocking (CallKit) not working on iOS 26 Public Beta
FWIW I've got an app in the App Store using CallKit to block and identify calls. After reading this thread I gave it try out with some iOS 16 devices but didn't encounter any issues. Doesn't mean there aren't any of course, but at least its not something endemic affecting all apps/users. I'll keep watching the thread with interest.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to App extension write data The main target reads data.
What type of extension is it? Some have read and write access, but others only have read access.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to NSLog doesn't work on iOS 26 when the app is installed from TestFlight
Hello It doesn't occur when using OSLog, just NSLog. Is this intentional? My apps can change over, of course, but there's a installed app base out there of millions of users (some users are savvy enough to be able to collect console logs if ever there's an issue they report)
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to didRegisterForRemoteNotificationsWithDeviceToken() not called if requestAuthorization() is not called
This can be reproduced from scratch in just 2 minutes: create a brand new iOS app and give it the push notification capability. Change the app delegate template code to this: @main class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { UNUserNotificationCenter.current().delegate = self // UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in // NSLog("Notification permission granted: \(granted)") // DispatchQueue.main.async { application.registerForRemoteNotifications() // } // } NSLog("didFinishLaunchingWithOptions returning") return true } // Called when an APNS token has been sucessfully obtained func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined() NSLog("Apn Push token: \(token)") } // Called when APN token request fails func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { NSLog("❗️Failed to register for remote notifications: \(error)") } Neither didRegisterForRemoteNotificationsWithDeviceToken() nor didFailToRegisterForRemoteNotificationsWithError() get called. Now uncomment the code and didRegisterForRemoteNotificationsWithDeviceToken() will get called. So based on this experiment, requestAuthorization() is a requirment. Now where does it state that in the Apple documentation, it doesn't, how does this code differ from what's in the Apple documentation, it doesn't. https://developer-mdn.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW4
Replies
Boosts
Views
Activity
Sep ’25