Delve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.

Posts under General subtopic

Post

Replies

Boosts

Views

Created

App crashed on [ +[NSObject(NSObject) _copyDescription] ], however could not get why.
Hi All my app randomly crash on very rare case. when bring app into foreground I checked the code: { NSError *error = nil; if (![sender authenticateWithPassword:MyManager.sharedManager.service.authToken.accessToken error:&error]) { ... ... ... } } accessToken is NSString type, was that because accessToken is deallocated? Manager and service could not be nil at all. Last Exception Backtrace: 0 CoreFoundation 0x18b04d2ec __exceptionPreprocess + 164 1 libobjc.A.dylib 0x1884d1a7c objc_exception_throw + 88 2 CoreFoundation 0x18b0b767c +[NSObject(NSObject) _copyDescription] + 0 3 CoreFoundation 0x18af64b84 ___forwarding___ + 1492 4 CoreFoundation 0x18af644f0 _CF_forwarding_prep_0 + 96 5 PTComms 0x102adafac __45-[XMPPStream authenticateWithPassword:error:]_block_invoke + 1884 6 libdispatch.dylib 0x192ecb584 _dispatch_client_callout + 16 7 libdispatch.dylib 0x192ec1b4c _dispatch_sync_invoke_and_complete_recurse + 64 8 libdispatch.dylib 0x192ec15dc _dispatch_sync_f_slow + 176 9 PTComms 0x102ada760 -[XMPPStream authenticateWithPassword:error:] + 516 10 PTComms 0x102a7b6f0 -[CommsService xmppStreamDidConnect:] + 160 11 CoreFoundation 0x18af64434 __invoking___ + 148 12 CoreFoundation 0x18af65044 -[NSInvocation invoke] + 424 13 CoreFoundation 0x18afbb6b8 -[NSInvocation invokeWithTarget:] + 64 14 PTComms 0x102b391c8 __42-[GCDMulticastDelegate forwardInvocation:]_block_invoke + 68 15 libdispatch.dylib 0x192eb1aac _dispatch_call_block_and_release + 32 16 libdispatch.dylib 0x192ecb584 _dispatch_client_callout + 16 17 libdispatch.dylib 0x192ee8574 _dispatch_main_queue_drain.cold.5 + 812 18 libdispatch.dylib 0x192ec0d30 _dispatch_main_queue_drain + 180 19 libdispatch.dylib 0x192ec0c6c _dispatch_main_queue_callback_4CF + 44 20 CoreFoundation 0x18afa62b4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 21 CoreFoundation 0x18afa40b0 __CFRunLoopRun + 1980 22 CoreFoundation 0x18afc8700 CFRunLoopRunSpecific + 572 23 GraphicsServices 0x1d7b09190 GSEventRunModal + 168 24 UIKitCore 0x18dbe6240 -[UIApplication _run] + 816 25 UIKitCore 0x18dbe4470 UIApplicationMain + 336 26 VoceraEdgeComms 0x102542318 0x10253c000 + 25368 27 dyld 0x1b19cbad8 start + 5964 Thread 0 name: Dispatch queue: xmpp Thread 0 Crashed: 0 libsystem_kernel.dylib 0x1dbb3a1dc __pthread_kill + 8 1 libsystem_pthread.dylib 0x2154b8b40 pthread_kill + 268 2 libsystem_c.dylib 0x192f6d360 __abort + 132 3 libsystem_c.dylib 0x192f6d2dc abort + 136 4 libc++abi.dylib 0x2153e25a0 abort_message + 132 5 libc++abi.dylib 0x2153d0f10 demangling_terminate_handler() + 344 6 libobjc.A.dylib 0x1884d3bb8 _objc_terminate() + 156 7 PTCore 0x1061f0d98 FIRCLSTerminateHandler() (.cold.3) + 56 8 PTCore 0x1060ef7e8 FIRCLSTerminateHandler() + 276 9 libc++abi.dylib 0x2153e18b4 std::__terminate(void (*)()) + 16 10 libc++abi.dylib 0x2153e4e1c __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 88 11 libc++abi.dylib 0x2153e4dc4 __cxa_throw + 92 12 libobjc.A.dylib 0x1884d1be4 objc_exception_throw + 448 13 CoreFoundation 0x18b0b767c -[NSObject(NSObject) doesNotRecognizeSelector:] + 364 14 CoreFoundation 0x18af64b84 ___forwarding___ + 1492 15 CoreFoundation 0x18af644f0 _CF_forwarding_prep_0 + 96 16 PTComms 0x102adafac __45-[XMPPStream authenticateWithPassword:error:]_block_invoke + Thanks, CrashReporter.txt
2
0
187
Apr ’25
How to debug a CoreSpotlight extension?
My CoreSpotlight extension seems to exceed the 6 MB memory limit. What’s the best way to debug this? I've tried to attach the debugger on the Simulator but the extension seems to be never launched when I trigger the reindex from Developer settings. Is this supposed to work? On device, I am able to attach the debugger. However, I can neither transfer the debug session to Instruments, nor display the memory graph. So I've no idea how the memory is used. Any recommendations how to move forward? Is there a way to temporarily disable the memory limit since even with LLDB attached, the extension is killed.
0
1
193
Apr ’25
__CRASHING_DUE_TO_PRIVACY_VIOLATION__ reason
Is there any way to find the reason for a CRASHING_DUE_TO_PRIVACY_VIOLATION from a crash report? It does not happen on my old iPad Air 2 and it does not happen on the simulators with the latest iOS. But it crashes always on newer real devices to which I have no access. The last app review for the AppStore also did not find it. I added some privacy strings by guessing and sent it via TestFlight but it doesn't change anything.
1
0
91
Apr ’25
0xBAADCA11 Occurs when VoIP Call Incoming (APNs Push Notification)
I am developing a VoIP phone application(Our Phoneapp) using APNs VoIP push. I have a question regarding a behavior I discovered during testing of this application. When performing the following operations using an iPhoneSE3 with an sXGP-NW SIM inserted, 0xBAADCA11 occurs upon receiving an APNs VoIP PUSH. Do you have any information regarding this issue? 0xBAADCA11 occurs in operation 8. However, since there were no problems in operation 4 (the app works when Wi-Fi is off), I think there is no issue with the Our Phoneapp. [Configuration of system components] [VoIP Telephone] --Call to iPhone(Phoneapp)--> [Our VoIP PBX Server] -- VoIP PUSH request --> [Apple APNs Server] -- VoIP PUSH --> [Our Phoneapp (iPhoneSE3(with sXGP SIM)] [Operations] (The issue is reproducible 100% by following oparation) iPhoneSE3: Power on (iPhoneSE3 with sXGP SIM) iPhoneSE3: Wi-Fi off, connect to the internet via SIM. VoIP Telephone: Call to Our Phoneapp iPhoneSE3: Receives VoIP PUSH and Phoneapp launches. Successfully answers the call and communication is possible. (Receives VoIP push notification from APNs via sXGP SIM) iPhoneSE3: Wi-Fi is turned ON, connect to the internet via Wi-Fi. iPhoneSE3: Task kill Our Phoneapp. VoIP Telephone: Call to Our Phoneapp iPhoneSE3: iOS does not call the push notification delegate (didReceiveIncomingPushWithPayload). As a result our Phoneapp is unable to detect the incoming call, However, an ips log with 0xBAADCA11 is output. in other words, iOS received the VoIP PUSH, but Our Phoneapp dose not call CallKit, so Our Phoneapp was terminated by iOS.
13
0
486
Apr ’25
Receive Custom URL Parameters
Hello! I’m trying to handle custom URLs (e.g., customurl://open?param=value) that open the app. However, while the app launches via the custom URL as expected, the parameters are not being passed to or are accessible from the iOS-specific implementation. Currently, if I open a custom URL via Safari, the app gets launched but the custom URL and parameters are not accessible. customurl://open?hello=test According to the iOS Docs ( https://developer.apple.com/documentation/xcode/defining-a-custom-url-scheme-for-your-app#Handle-incoming-URLs ) any URLs should be passed to: func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool I do not register the above application function to be called but instead this one is executed during app start with launchOptions always being nil: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool This is the case regardless of if the App is started fresh or was already running in the background. My pInfo entry for the custom URL: <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Viewer</string> <key>CFBundleURLName</key> <string>dev.customurl.project</string> <key>CFBundleURLSchemes</key> <array> <string>customurl</string> </array> </dict> <dict/> </array> TLDR: How can I access the parameters, passed with the URL? Any thoughts on what I am doing wrong?
4
0
217
Apr ’25
Weatherkit API Historical 404 Errors Starting 3/5/25
We've been using the WeatherKit API for a few years now. Everything has been pretty stable. We'll periodically get 404 errors, but they usually disappear within a couple days. Starting March 5th we've again been getting 404 errors that slowly ramped up to March 20th and continued. We have had no code changes on our end, so something seems to have changed / broken on the server side of things. Here are some example API calls that are giving us a 404 error now https://weatherkit.apple.com/api/v1/weather/en/35.9981205/-78.8920444?dataSets=forecastDaily&dailyStart=2025-03-21T05:00:00Z&timezone=America/New_York&countryCode=US https://weatherkit.apple.com/api/v1/weather/en/41.4789363/-81.7404134?dataSets=forecastDaily&dailyStart=2025-03-21T04:56:00Z&timezone=America/New_York&countryCode=US Does anyone have any insights or information on this? Also if Apple is listening, an error more meaningful than 404 would be much much appreciated.
0
0
108
Apr ’25
Direct to 'Call Blocking & Identification' on iOS
As far as I know, Apple doesn’t allow apps to directly navigate users to the Call Blocking & Identification settings screen. That’s why many apps just show instructions like: "Go to Settings > Phone > Call Blocking & Identification" to enable the app. Apple only officially provides UIApplicationOpenSettingsURLString, which takes users to the app's own settings page. But here’s where I’m confused: some Korean apps like Whowho and Adot Phone seem to be able to direct users to the Call Blocking & Identification screen. Whowho: https://apps.apple.com/kr/app/whowho-spam-block-callerid/id1033450260?l=en-GB Adot Phone: I'm wondering how these apps are doing that. Are they using some kind of private API or workaround? Those app are developed from Internet Serivce Provider Company.
2
0
84
Apr ’25
WatchOS app not downloaded from appstore
This is a bit of a headscratcher. Xcode 16 fyi. I've written a standalone watchos app (with a stub ios app). Distributes and works perfectly over Testflight. I've submitted for app store and it passed the checks an I've released it for sale. Told my brother to use a promo code to download it and show me how it looks and report me any nuisances. He tells me there's no app neither on phone (expected) nor in watch. And he checked both the Watch ios app list and the watch. I've gone through various GPTs and they've all told me the basic troubleshooting. That his watch might not be supported (wrong, it's a watch 10 ultra with latest updates and my min supported versions are hilariously low). They've suggested that I might not have the right keys for making it standalone set, also no. They suggested that skip_install shouldn't be set to no; also wrong I think they're thinking xcode 13 and below. The stub ios app has a dependency on watchos app and also has an embed directive. I also checked the archive and saw the watchos app embedded indeed. Again, the app works perfectly fine when distributed over testflight. And AFAIK that's a release build which I know for a fact because I had a problem with not giving healthkit entitlements to release (that was another but minor headscratcher at the time, when it was working over direct xcode upload). Minor detail, I've written, test(flight)ed the app in UK and in English, my brother is in Turkey. Of course now I immediately pulled the app out of sale because I don't want people paying and getting nothing, that's gonna cause a lot of trouble. So I need any help I can get to How to debug this without exposing the app and myself: is it possible to limit the release? Obviously: what could be going wrong? How the hell did I even pass app review? Is this maybe isolated to my brother's watch? I'm more than happy to share project files and/or info.plist files(end products of them, because my plists are generated from project file).
4
0
225
Apr ’25
How to learn most recent best practices?
Hello. Background: Most learning resources are for leaning Swift/Objective-C. I'm pretty sure I need something different. I'm already an experienced software engineer, just new to iOS/MacOS development. My problem is not learning the language, but rather how to learn modern best practices. I cannot find examples for what I'm looking for. So much seems to be sparse on implementation details, out of date, or both. I'm trying to write an app that has a few distinct parts. The UI portion will be mostly a menu bar app, which I am not having a problem discovering resources for how to implement. The app will also have a daemon and utilize network extensions. This is where I am having trouble. What's the current best practices on how to write and launch a daemon? Should the daemon be its own library/package which is them imported into the main app? If so, which Xcode template do I use for this? Are there any Hello World! examples of this? What is the best way for a UI app to communicate with a daemon? Are there any Hello World! repositories on how to implement network extensions? Should this be done in the main UI app, or in a separate library/package? TIA
4
0
172
Apr ’25
How to set permanent environment variables?
I am looking to set environment variables for the use of some applications that are launched by icon or from the dock. I am aware of launchctl setenv for setting environment variables, but I am also aware that the effects of that last only until the next reboot. I find various people posting hacks that come down to configuring some .zsh* initialization files, but those fines are not used until an interactive login session is started, and so are not of value for the case where the user does not happen to launch terminal The particular environment variable of interest at the moment is JAVA_HOME for use by MATLAB . MATLAB is started by the shell script /Applications/MATLAB_R20xxx.app/bin/matlab and does not appear to have a .plist file associated with it . Editing the shell script would not be ideal.
1
0
54
Apr ’25
How is Security Delay still so broken?
I'm sitting at my house and trying to sign my test device out of my apple ID so I can sign into a Sandbox user, but now I have an hour to kill because of this terribly broken "security" feature that thinks it's in an unfamiliar location, despite being at the only location it's ever known. Looks like I'll just be disabling this feature all together. Especially as a device with Developer Mode enabled, which gets reset regularly, there should be additional options here. Come on!
0
0
68
Apr ’25
WeatherKit DayWeather::date Timezone Issue
I use WeatherKit with Swift to get multiple cities weather by longitude and latitude. But I use this API in WeatherService for daily forecast: final public func weather<T>(for location: CLLocation, including dataSet: WeatherQuery<T>) async throws -> T And I found there is something wired: The date of WeatherKit::DayWeather is based on my device's timezone settings. Tokyo's Day Weather is start at UTC+8, New York' Day Weather is start UTC+8. Is there any way to set timezone correctly?
0
1
141
Apr ’25
There were problems encountered during the development of core spotlight.
In IOS17 and IOS18, core spotlight can only match app contents by searching for the displayName, but cannot hit the contents by using keywords. Moreover, when matching the app content by searching for the "displayName", it requires inputting four consecutive characters to achieve a match.These issues did not occur in iOS 16. What is the reason for this? Here is my code. func addItemToIndex(_ item: QSpotlightItem) { let attributeSet = CSSearchableItemAttributeSet(contentType: .item) attributeSet.title = item.title attributeSet.displayName = item.title attributeSet.contentDescription = item.contentDescription attributeSet.keywords = item.keywords attributeSet.thumbnailData = item.thumbnailImage attributeSet.contactKeywords = item.keywords attributeSet.supportsNavigation = true let searchableItem = CSSearchableItem(uniqueIdentifier: item.id, domainIdentifier: "xxx", attributeSet: attributeSet) searchableItem.expirationDate = .distantFuture CSSearchableIndex.default().indexSearchableItems([searchableItem]) { error in if let error = error { } else { } } }
9
3
366
Apr ’25
Does Apple Screen Time API Allow Access to App Usage Data for Custom Rewards?
Hi everyone, I'm working on an app for parents and kids where parents can define screen time goals or restrict usage of certain app categories (like social media or games). If the kid follows those rules—for example, by using their device less or avoiding restricted categories—they would earn points or rewards in the app. I’ve been exploring if the Apple Screen Time API allows developers to access this kind of data (like total screen time, app usage by category, etc.) so that I can track the kid’s behavior and reward them accordingly. Is it possible to programmatically access this data and implement such a reward system within my app? If so, what’s the best way to get started or which APIs should I look into? Thanks in advance for your help!
0
0
96
Apr ’25
In Core Spotlight, it requires four consecutive characters to index the content. Only through title or displayName can the content be indexed.
In Core Spotlight, one can only index content by using title or displayName, and it requires four consecutive characters for indexing. These situations occurred in iOS 17 and 18. In iOS 16, I could not only index content by title or displayName, but also by keyword. Moreover, there was no restriction of requiring four consecutive characters. I could index my app content by simply inputting one character. Here is my code.https://github.com/kritto1/corespotlight-bug-test/tree/main @available(iOS 14, *) func addItemToIndex(_ item: QSpotlightItem) { let attributeSet = CSSearchableItemAttributeSet(contentType: .item) attributeSet.title = item.title attributeSet.displayName = item.title attributeSet.contentDescription = item.contentDescription attributeSet.keywords = item.keywords attributeSet.thumbnailData = item.thumbnailImage attributeSet.contactKeywords = item.keywords attributeSet.supportsNavigation = true let searchableItem = CSSearchableItem(uniqueIdentifier: item.id, domainIdentifier: "com.qunar.iphone.spotlight", attributeSet: attributeSet) searchableItem.expirationDate = .distantFuture CSSearchableIndex.default().indexSearchableItems([searchableItem]) { error in if let error = error { } else { } } } @available(iOS 14, *) func addToSpotlightIndex() { let spotlightHotel = QSpotlightItem( id: "corespotlight_1", title: "查询酒店住宿", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["酒店", "住宿"] ) addItemToIndex(spotlightHotel) let spotlightFlight = QSpotlightItem( id: "corespotlight_2", title: "查询和预订机票", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["查询", "预订", "机票"] ) addItemToIndex(spotlightFlight) let spotlightSight = QSpotlightItem( id: "corespotlight_3", title: "查询预订门票", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["查询", "预订", "门票"] ) addItemToIndex(spotlightSight) }
1
1
182
Apr ’25
Can not replicate the Apple Review error
Hello there! So Im trying to upload an app to the App Store for iphone and Ipad, but from the revision team the same message always appears, the app crash. So I know the "it works on my computer" sounds bad but....works on my computer and my test system. Dont know what to do since I dont know how to replicate the error. This is the rely they sent me: Issue Description The app exhibited one or more bugs that would negatively impact users. Bug description: at time of review the app’s interface went blank at launch. Review device details: Device type: iPad Air (5th generation) OS version: iPadOS 18.4.1 Anyone has any idea on how can I replicate the error and maybe check the logs? Im completely blind on this one.
2
0
81
Apr ’25
App crashed on [ +[NSObject(NSObject) _copyDescription] ], however could not get why.
Hi All my app randomly crash on very rare case. when bring app into foreground I checked the code: { NSError *error = nil; if (![sender authenticateWithPassword:MyManager.sharedManager.service.authToken.accessToken error:&amp;error]) { ... ... ... } } accessToken is NSString type, was that because accessToken is deallocated? Manager and service could not be nil at all. Last Exception Backtrace: 0 CoreFoundation 0x18b04d2ec __exceptionPreprocess + 164 1 libobjc.A.dylib 0x1884d1a7c objc_exception_throw + 88 2 CoreFoundation 0x18b0b767c +[NSObject(NSObject) _copyDescription] + 0 3 CoreFoundation 0x18af64b84 ___forwarding___ + 1492 4 CoreFoundation 0x18af644f0 _CF_forwarding_prep_0 + 96 5 PTComms 0x102adafac __45-[XMPPStream authenticateWithPassword:error:]_block_invoke + 1884 6 libdispatch.dylib 0x192ecb584 _dispatch_client_callout + 16 7 libdispatch.dylib 0x192ec1b4c _dispatch_sync_invoke_and_complete_recurse + 64 8 libdispatch.dylib 0x192ec15dc _dispatch_sync_f_slow + 176 9 PTComms 0x102ada760 -[XMPPStream authenticateWithPassword:error:] + 516 10 PTComms 0x102a7b6f0 -[CommsService xmppStreamDidConnect:] + 160 11 CoreFoundation 0x18af64434 __invoking___ + 148 12 CoreFoundation 0x18af65044 -[NSInvocation invoke] + 424 13 CoreFoundation 0x18afbb6b8 -[NSInvocation invokeWithTarget:] + 64 14 PTComms 0x102b391c8 __42-[GCDMulticastDelegate forwardInvocation:]_block_invoke + 68 15 libdispatch.dylib 0x192eb1aac _dispatch_call_block_and_release + 32 16 libdispatch.dylib 0x192ecb584 _dispatch_client_callout + 16 17 libdispatch.dylib 0x192ee8574 _dispatch_main_queue_drain.cold.5 + 812 18 libdispatch.dylib 0x192ec0d30 _dispatch_main_queue_drain + 180 19 libdispatch.dylib 0x192ec0c6c _dispatch_main_queue_callback_4CF + 44 20 CoreFoundation 0x18afa62b4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 21 CoreFoundation 0x18afa40b0 __CFRunLoopRun + 1980 22 CoreFoundation 0x18afc8700 CFRunLoopRunSpecific + 572 23 GraphicsServices 0x1d7b09190 GSEventRunModal + 168 24 UIKitCore 0x18dbe6240 -[UIApplication _run] + 816 25 UIKitCore 0x18dbe4470 UIApplicationMain + 336 26 VoceraEdgeComms 0x102542318 0x10253c000 + 25368 27 dyld 0x1b19cbad8 start + 5964 Thread 0 name: Dispatch queue: xmpp Thread 0 Crashed: 0 libsystem_kernel.dylib 0x1dbb3a1dc __pthread_kill + 8 1 libsystem_pthread.dylib 0x2154b8b40 pthread_kill + 268 2 libsystem_c.dylib 0x192f6d360 __abort + 132 3 libsystem_c.dylib 0x192f6d2dc abort + 136 4 libc++abi.dylib 0x2153e25a0 abort_message + 132 5 libc++abi.dylib 0x2153d0f10 demangling_terminate_handler() + 344 6 libobjc.A.dylib 0x1884d3bb8 _objc_terminate() + 156 7 PTCore 0x1061f0d98 FIRCLSTerminateHandler() (.cold.3) + 56 8 PTCore 0x1060ef7e8 FIRCLSTerminateHandler() + 276 9 libc++abi.dylib 0x2153e18b4 std::__terminate(void (*)()) + 16 10 libc++abi.dylib 0x2153e4e1c __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 88 11 libc++abi.dylib 0x2153e4dc4 __cxa_throw + 92 12 libobjc.A.dylib 0x1884d1be4 objc_exception_throw + 448 13 CoreFoundation 0x18b0b767c -[NSObject(NSObject) doesNotRecognizeSelector:] + 364 14 CoreFoundation 0x18af64b84 ___forwarding___ + 1492 15 CoreFoundation 0x18af644f0 _CF_forwarding_prep_0 + 96 16 PTComms 0x102adafac __45-[XMPPStream authenticateWithPassword:error:]_block_invoke + Thanks, CrashReporter.txt
Replies
2
Boosts
0
Views
187
Activity
Apr ’25
How to debug a CoreSpotlight extension?
My CoreSpotlight extension seems to exceed the 6 MB memory limit. What’s the best way to debug this? I've tried to attach the debugger on the Simulator but the extension seems to be never launched when I trigger the reindex from Developer settings. Is this supposed to work? On device, I am able to attach the debugger. However, I can neither transfer the debug session to Instruments, nor display the memory graph. So I've no idea how the memory is used. Any recommendations how to move forward? Is there a way to temporarily disable the memory limit since even with LLDB attached, the extension is killed.
Replies
0
Boosts
1
Views
193
Activity
Apr ’25
__CRASHING_DUE_TO_PRIVACY_VIOLATION__ reason
Is there any way to find the reason for a CRASHING_DUE_TO_PRIVACY_VIOLATION from a crash report? It does not happen on my old iPad Air 2 and it does not happen on the simulators with the latest iOS. But it crashes always on newer real devices to which I have no access. The last app review for the AppStore also did not find it. I added some privacy strings by guessing and sent it via TestFlight but it doesn't change anything.
Replies
1
Boosts
0
Views
91
Activity
Apr ’25
0xBAADCA11 Occurs when VoIP Call Incoming (APNs Push Notification)
I am developing a VoIP phone application(Our Phoneapp) using APNs VoIP push. I have a question regarding a behavior I discovered during testing of this application. When performing the following operations using an iPhoneSE3 with an sXGP-NW SIM inserted, 0xBAADCA11 occurs upon receiving an APNs VoIP PUSH. Do you have any information regarding this issue? 0xBAADCA11 occurs in operation 8. However, since there were no problems in operation 4 (the app works when Wi-Fi is off), I think there is no issue with the Our Phoneapp. [Configuration of system components] [VoIP Telephone] --Call to iPhone(Phoneapp)--> [Our VoIP PBX Server] -- VoIP PUSH request --> [Apple APNs Server] -- VoIP PUSH --> [Our Phoneapp (iPhoneSE3(with sXGP SIM)] [Operations] (The issue is reproducible 100% by following oparation) iPhoneSE3: Power on (iPhoneSE3 with sXGP SIM) iPhoneSE3: Wi-Fi off, connect to the internet via SIM. VoIP Telephone: Call to Our Phoneapp iPhoneSE3: Receives VoIP PUSH and Phoneapp launches. Successfully answers the call and communication is possible. (Receives VoIP push notification from APNs via sXGP SIM) iPhoneSE3: Wi-Fi is turned ON, connect to the internet via Wi-Fi. iPhoneSE3: Task kill Our Phoneapp. VoIP Telephone: Call to Our Phoneapp iPhoneSE3: iOS does not call the push notification delegate (didReceiveIncomingPushWithPayload). As a result our Phoneapp is unable to detect the incoming call, However, an ips log with 0xBAADCA11 is output. in other words, iOS received the VoIP PUSH, but Our Phoneapp dose not call CallKit, so Our Phoneapp was terminated by iOS.
Replies
13
Boosts
0
Views
486
Activity
Apr ’25
Receive Custom URL Parameters
Hello! I’m trying to handle custom URLs (e.g., customurl://open?param=value) that open the app. However, while the app launches via the custom URL as expected, the parameters are not being passed to or are accessible from the iOS-specific implementation. Currently, if I open a custom URL via Safari, the app gets launched but the custom URL and parameters are not accessible. customurl://open?hello=test According to the iOS Docs ( https://developer.apple.com/documentation/xcode/defining-a-custom-url-scheme-for-your-app#Handle-incoming-URLs ) any URLs should be passed to: func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -&gt; Bool I do not register the above application function to be called but instead this one is executed during app start with launchOptions always being nil: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -&gt; Bool This is the case regardless of if the App is started fresh or was already running in the background. My pInfo entry for the custom URL: &lt;key&gt;CFBundleURLTypes&lt;/key&gt; &lt;array&gt; &lt;dict&gt; &lt;key&gt;CFBundleTypeRole&lt;/key&gt; &lt;string&gt;Viewer&lt;/string&gt; &lt;key&gt;CFBundleURLName&lt;/key&gt; &lt;string&gt;dev.customurl.project&lt;/string&gt; &lt;key&gt;CFBundleURLSchemes&lt;/key&gt; &lt;array&gt; &lt;string&gt;customurl&lt;/string&gt; &lt;/array&gt; &lt;/dict&gt; &lt;dict/&gt; &lt;/array&gt; TLDR: How can I access the parameters, passed with the URL? Any thoughts on what I am doing wrong?
Replies
4
Boosts
0
Views
217
Activity
Apr ’25
Cannot submit App with "Default Translation Extension"
We developed a "Default Translation App" following the guide: https://developer.apple.com/documentation/translationuiprovider/preparing-your-app-to-be-the-default-translation-app. I have already configured everything that needs to be configured according to the document, but there is still this problem
Replies
0
Boosts
0
Views
41
Activity
Apr ’25
Weatherkit API Historical 404 Errors Starting 3/5/25
We've been using the WeatherKit API for a few years now. Everything has been pretty stable. We'll periodically get 404 errors, but they usually disappear within a couple days. Starting March 5th we've again been getting 404 errors that slowly ramped up to March 20th and continued. We have had no code changes on our end, so something seems to have changed / broken on the server side of things. Here are some example API calls that are giving us a 404 error now https://weatherkit.apple.com/api/v1/weather/en/35.9981205/-78.8920444?dataSets=forecastDaily&dailyStart=2025-03-21T05:00:00Z&timezone=America/New_York&countryCode=US https://weatherkit.apple.com/api/v1/weather/en/41.4789363/-81.7404134?dataSets=forecastDaily&dailyStart=2025-03-21T04:56:00Z&timezone=America/New_York&countryCode=US Does anyone have any insights or information on this? Also if Apple is listening, an error more meaningful than 404 would be much much appreciated.
Replies
0
Boosts
0
Views
108
Activity
Apr ’25
Accidentally Deleted the Build Version Slot in Versioning
I have an app I want to get on the App Store but when I was putting in the build version slot, I accidentally deleted it by clicking backspace and tried everything to get it working again but I can't. Is there anyway for me to retrieve the slot so it works?
Replies
3
Boosts
0
Views
71
Activity
Apr ’25
Direct to 'Call Blocking & Identification' on iOS
As far as I know, Apple doesn’t allow apps to directly navigate users to the Call Blocking & Identification settings screen. That’s why many apps just show instructions like: "Go to Settings > Phone > Call Blocking & Identification" to enable the app. Apple only officially provides UIApplicationOpenSettingsURLString, which takes users to the app's own settings page. But here’s where I’m confused: some Korean apps like Whowho and Adot Phone seem to be able to direct users to the Call Blocking & Identification screen. Whowho: https://apps.apple.com/kr/app/whowho-spam-block-callerid/id1033450260?l=en-GB Adot Phone: I'm wondering how these apps are doing that. Are they using some kind of private API or workaround? Those app are developed from Internet Serivce Provider Company.
Replies
2
Boosts
0
Views
84
Activity
Apr ’25
WatchOS app not downloaded from appstore
This is a bit of a headscratcher. Xcode 16 fyi. I've written a standalone watchos app (with a stub ios app). Distributes and works perfectly over Testflight. I've submitted for app store and it passed the checks an I've released it for sale. Told my brother to use a promo code to download it and show me how it looks and report me any nuisances. He tells me there's no app neither on phone (expected) nor in watch. And he checked both the Watch ios app list and the watch. I've gone through various GPTs and they've all told me the basic troubleshooting. That his watch might not be supported (wrong, it's a watch 10 ultra with latest updates and my min supported versions are hilariously low). They've suggested that I might not have the right keys for making it standalone set, also no. They suggested that skip_install shouldn't be set to no; also wrong I think they're thinking xcode 13 and below. The stub ios app has a dependency on watchos app and also has an embed directive. I also checked the archive and saw the watchos app embedded indeed. Again, the app works perfectly fine when distributed over testflight. And AFAIK that's a release build which I know for a fact because I had a problem with not giving healthkit entitlements to release (that was another but minor headscratcher at the time, when it was working over direct xcode upload). Minor detail, I've written, test(flight)ed the app in UK and in English, my brother is in Turkey. Of course now I immediately pulled the app out of sale because I don't want people paying and getting nothing, that's gonna cause a lot of trouble. So I need any help I can get to How to debug this without exposing the app and myself: is it possible to limit the release? Obviously: what could be going wrong? How the hell did I even pass app review? Is this maybe isolated to my brother's watch? I'm more than happy to share project files and/or info.plist files(end products of them, because my plists are generated from project file).
Replies
4
Boosts
0
Views
225
Activity
Apr ’25
How to learn most recent best practices?
Hello. Background: Most learning resources are for leaning Swift/Objective-C. I'm pretty sure I need something different. I'm already an experienced software engineer, just new to iOS/MacOS development. My problem is not learning the language, but rather how to learn modern best practices. I cannot find examples for what I'm looking for. So much seems to be sparse on implementation details, out of date, or both. I'm trying to write an app that has a few distinct parts. The UI portion will be mostly a menu bar app, which I am not having a problem discovering resources for how to implement. The app will also have a daemon and utilize network extensions. This is where I am having trouble. What's the current best practices on how to write and launch a daemon? Should the daemon be its own library/package which is them imported into the main app? If so, which Xcode template do I use for this? Are there any Hello World! examples of this? What is the best way for a UI app to communicate with a daemon? Are there any Hello World! repositories on how to implement network extensions? Should this be done in the main UI app, or in a separate library/package? TIA
Replies
4
Boosts
0
Views
172
Activity
Apr ’25
Xcode 16.3打包的App在iOS 13 - iOS 14.0中Crash
DYLD, symbol '_CTRadioAccessTechnologyNR' not found, expected in '/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony'
Replies
1
Boosts
0
Views
236
Activity
Apr ’25
How to set permanent environment variables?
I am looking to set environment variables for the use of some applications that are launched by icon or from the dock. I am aware of launchctl setenv for setting environment variables, but I am also aware that the effects of that last only until the next reboot. I find various people posting hacks that come down to configuring some .zsh* initialization files, but those fines are not used until an interactive login session is started, and so are not of value for the case where the user does not happen to launch terminal The particular environment variable of interest at the moment is JAVA_HOME for use by MATLAB . MATLAB is started by the shell script /Applications/MATLAB_R20xxx.app/bin/matlab and does not appear to have a .plist file associated with it . Editing the shell script would not be ideal.
Replies
1
Boosts
0
Views
54
Activity
Apr ’25
How is Security Delay still so broken?
I'm sitting at my house and trying to sign my test device out of my apple ID so I can sign into a Sandbox user, but now I have an hour to kill because of this terribly broken "security" feature that thinks it's in an unfamiliar location, despite being at the only location it's ever known. Looks like I'll just be disabling this feature all together. Especially as a device with Developer Mode enabled, which gets reset regularly, there should be additional options here. Come on!
Replies
0
Boosts
0
Views
68
Activity
Apr ’25
WeatherKit DayWeather::date Timezone Issue
I use WeatherKit with Swift to get multiple cities weather by longitude and latitude. But I use this API in WeatherService for daily forecast: final public func weather<T>(for location: CLLocation, including dataSet: WeatherQuery<T>) async throws -> T And I found there is something wired: The date of WeatherKit::DayWeather is based on my device's timezone settings. Tokyo's Day Weather is start at UTC+8, New York' Day Weather is start UTC+8. Is there any way to set timezone correctly?
Replies
0
Boosts
1
Views
141
Activity
Apr ’25
There were problems encountered during the development of core spotlight.
In IOS17 and IOS18, core spotlight can only match app contents by searching for the displayName, but cannot hit the contents by using keywords. Moreover, when matching the app content by searching for the "displayName", it requires inputting four consecutive characters to achieve a match.These issues did not occur in iOS 16. What is the reason for this? Here is my code. func addItemToIndex(_ item: QSpotlightItem) { let attributeSet = CSSearchableItemAttributeSet(contentType: .item) attributeSet.title = item.title attributeSet.displayName = item.title attributeSet.contentDescription = item.contentDescription attributeSet.keywords = item.keywords attributeSet.thumbnailData = item.thumbnailImage attributeSet.contactKeywords = item.keywords attributeSet.supportsNavigation = true let searchableItem = CSSearchableItem(uniqueIdentifier: item.id, domainIdentifier: "xxx", attributeSet: attributeSet) searchableItem.expirationDate = .distantFuture CSSearchableIndex.default().indexSearchableItems([searchableItem]) { error in if let error = error { } else { } } }
Replies
9
Boosts
3
Views
366
Activity
Apr ’25
Does Apple Screen Time API Allow Access to App Usage Data for Custom Rewards?
Hi everyone, I'm working on an app for parents and kids where parents can define screen time goals or restrict usage of certain app categories (like social media or games). If the kid follows those rules—for example, by using their device less or avoiding restricted categories—they would earn points or rewards in the app. I’ve been exploring if the Apple Screen Time API allows developers to access this kind of data (like total screen time, app usage by category, etc.) so that I can track the kid’s behavior and reward them accordingly. Is it possible to programmatically access this data and implement such a reward system within my app? If so, what’s the best way to get started or which APIs should I look into? Thanks in advance for your help!
Replies
0
Boosts
0
Views
96
Activity
Apr ’25
In Core Spotlight, it requires four consecutive characters to index the content. Only through title or displayName can the content be indexed.
In Core Spotlight, one can only index content by using title or displayName, and it requires four consecutive characters for indexing. These situations occurred in iOS 17 and 18. In iOS 16, I could not only index content by title or displayName, but also by keyword. Moreover, there was no restriction of requiring four consecutive characters. I could index my app content by simply inputting one character. Here is my code.https://github.com/kritto1/corespotlight-bug-test/tree/main @available(iOS 14, *) func addItemToIndex(_ item: QSpotlightItem) { let attributeSet = CSSearchableItemAttributeSet(contentType: .item) attributeSet.title = item.title attributeSet.displayName = item.title attributeSet.contentDescription = item.contentDescription attributeSet.keywords = item.keywords attributeSet.thumbnailData = item.thumbnailImage attributeSet.contactKeywords = item.keywords attributeSet.supportsNavigation = true let searchableItem = CSSearchableItem(uniqueIdentifier: item.id, domainIdentifier: "com.qunar.iphone.spotlight", attributeSet: attributeSet) searchableItem.expirationDate = .distantFuture CSSearchableIndex.default().indexSearchableItems([searchableItem]) { error in if let error = error { } else { } } } @available(iOS 14, *) func addToSpotlightIndex() { let spotlightHotel = QSpotlightItem( id: "corespotlight_1", title: "查询酒店住宿", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["酒店", "住宿"] ) addItemToIndex(spotlightHotel) let spotlightFlight = QSpotlightItem( id: "corespotlight_2", title: "查询和预订机票", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["查询", "预订", "机票"] ) addItemToIndex(spotlightFlight) let spotlightSight = QSpotlightItem( id: "corespotlight_3", title: "查询预订门票", contentDescription: "", thumbnailImage: UIImage(named: "img2")?.pngData(), keywords: ["查询", "预订", "门票"] ) addItemToIndex(spotlightSight) }
Replies
1
Boosts
1
Views
182
Activity
Apr ’25
EKEventStore save throws error "access denied" since iOS 18.4+, macOS 15.4+
Since iOS 18.4 and macOS 15.4 updating the calendar of an (ek)event (to another accounts calendar) or detaching an repeating event throws an error while saving: "Access denied" EKEventStore.save(event, span: .thisEvent, commit: true) catch { "Access denied" }
Replies
4
Boosts
4
Views
364
Activity
Apr ’25
Can not replicate the Apple Review error
Hello there! So Im trying to upload an app to the App Store for iphone and Ipad, but from the revision team the same message always appears, the app crash. So I know the "it works on my computer" sounds bad but....works on my computer and my test system. Dont know what to do since I dont know how to replicate the error. This is the rely they sent me: Issue Description The app exhibited one or more bugs that would negatively impact users. Bug description: at time of review the app’s interface went blank at launch. Review device details: Device type: iPad Air (5th generation) OS version: iPadOS 18.4.1 Anyone has any idea on how can I replicate the error and maybe check the logs? Im completely blind on this one.
Replies
2
Boosts
0
Views
81
Activity
Apr ’25