Post

Replies

Boosts

Views

Activity

How to use the declared age range API / Comply with Texas law
What are guidelines for apps being released in the US App Store in order to comply with The Texas App Store Accountability Act? I mean there's no way to differentiate an app downloaded in Texas from the other states and it would be ridiculous to add location awareness to an app to comply with this, so effectively it means any developer of any app for release in the US must comply with this in case it might be being used in Texas? This new Apple API has zero background, zero context, zero example of usage, zero guidelines about how to use it in practice: https://developer.apple.com/documentation/declaredagerange/
3
2
322
Oct ’25
Where is the download dSYM option in Testflight? Its not in Metadata
If I upload a build to Testflight using Xcode 14 that offers the option to upload the app symbols. Xcode 15 doesn't offer this option, so presumably it does so automatically. However I've got several builds in TF, built with both Xcode 14 and 15 but the option to download dSYMs isn't available in the Metadata section. There defiantly are dSYMs though - they are present in the archive. How can I download them for apps in Testflight and in the AppStore if the option isn't appearing in the Metadata section?
5
4
2.1k
Nov ’23
"XCBBuildService quit unexpectedly" occurs %100 of the time with XCode 16 RC
I have a project which when I attempt to build with XCode 16 RC fails with the message "XCBBuildService quit unexpectedly". This occurs 100% of the time, thus I am unable to build the project. It first occurred in Xcode 16 beta 1 and has been present ever since, ever present in every beta; and now as its still present in the RC its highly unlikely it'll be fixed when the RC release becomes the final release. I submitted a ticket for this many weeks ago (FB14062261), but its not been looked at/updated. This is a problem in the short term because my app needs updating to use some iOS 18 specific features, in the longer term, it won't be possible to submit the app to the App Store if it continues to only be buildable with Xcode 15. As its impossible to build the app, I attempted to create a support ticket to get assistance. However I am unable to create a support ticket because the web page won't permit me to proceed raising a ticket unless there is a test Xcode project that recreates the issue. However, the issue does not occur with small simple Xcode projects. The Xcode project which I cannot be build contains dozens of sources files, thousands of lines of code, and many dependences. I can't submit that as the text Xcode project as its larger than that stated minimum requirements to attach to a support ticket. So how can I proceed, I can't build the app, I've raised a feedback ticket which hasn't been looked at, and when I attempt to raise a support ticket, the website won't let me proceed and create one. What can I do to get a support ticket created? What Xcode outputs: Process: XCBBuildService [9024] Path: /Applications/Xcode.app/Contents/SharedFrameworks/XCBuild.framework/Versions/A/PlugIns/XCBBuildService.bundle/Contents/MacOS/XCBBuildService Identifier: com.apple.dt.XCBBuildService Version: 1.0 (23000.1.226) Build Info: XCBuild-23000001226000000~13 (16A242) Code Type: ARM-64 (Native) Parent Process: Xcode [8990] Responsible: Xcode [8990] User ID: 504 Date/Time: 2024-09-09 14:03:16.8948 -0700 OS Version: macOS 14.6.1 (23G93) Report Version: 12 Anonymous UUID: EB8CED5F-F888-D71F-3893-33504A2FE3FD Time Awake Since Boot: 1800 seconds System Integrity Protection: enabled Crashed Thread: 13 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6 Terminating Process: XCBBuildService [9024] Application Specific Information: abort() called Kernel Triage: VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter Thread 0:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x1871fcdf4 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x18720f5e4 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x1872059c4 mach_msg_overwrite + 476 3 libsystem_kernel.dylib 0x1871fd178 mach_msg + 24 4 CoreFoundation 0x18731d680 __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x18731bf44 __CFRunLoopRun + 1208 6 CoreFoundation 0x18731b434 CFRunLoopRunSpecific + 608 7 CoreFoundation 0x18739945c CFRunLoopRun + 64 8 libswift_Concurrency.dylib 0x24eabd4e0 swift_task_asyncMainDrainQueueImpl() + 40 9 libswift_Concurrency.dylib 0x24eabd4a0 swift_task_asyncMainDrainQueue + 92 10 XCBBuildService 0x1043b392c main + 84 11 dyld 0x186eb3154 start + 2476 Thread 1: 0 libsystem_kernel.dylib 0x1871fd9b4 read + 8 1 XCBServiceCore 0x104c34688 closure #3 in ServiceHostConnection.resume() + 624 2 XCBServiceCore 0x104c326ed partial apply for closure #1 in Service.registerMessageHandler<A>(_:) + 1 3 XCBServiceCore 0x104c32a55 closure #1 in closure #1 in OS_dispatch_queue.async(group:qos:flags:execute:) + 1 4 XCBServiceCore 0x104c32a55 closure #1 in closure #1 in OS_dispatch_queue.async(group:qos:flags:execute:) + 1 5 XCBServiceCore 0x104c35c21 $sxIeAgHr_xs5Error_pIegHrzo_s8SendableRzs5NeverORs_r0_lTRyt_Tg5TQ0_ + 1 6 XCBServiceCore 0x104c326ed partial apply for closure #1 in Service.registerMessageHandler<A>(_:) + 1 7 libswift_Concurrency.dylib 0x24eabe0f9 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1 Thread 2:: llb_buildsystem_build 0 libsystem_kernel.dylib 0x1872005ec __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x18723e55c _pthread_cond_wait + 1228 2 libc++.1.dylib 0x187163b14 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 3 llbuild 0x10531730c (anonymous namespace)::BuildEngineImpl::executeTasks(llbuild::core::KeyType const&) + 4552 4 llbuild 0x105314390 llbuild::core::BuildEngine::build(llbuild::core::KeyType const&) + 580 5 llbuild 0x10532da38 (anonymous namespace)::BuildSystemImpl::build(llbuild::buildsystem::BuildKey) + 208 6 llbuild 0x10532dc14 llbuild::buildsystem::BuildSystem::build(llvm::StringRef) + 260 7 llbuild 0x1053203f4 llbuild::buildsystem::BuildSystemFrontend::build(llvm::StringRef) + 56 8 llbuild 0x1052a6d8c 0x10528c000 + 109964 9 XCBBuildSystem 0x104d8ad1c partial apply for closure #13 in BuildOperation.build() + 28 10 libswift_Concurrency.dylib 0x24ea89a4c TaskLocal.withValue<A>(_:operation:file:line:) + 304 11 XCBUtil 0x1048d8864 closure #1 in closure #1 in static Task<>.detachNewThread(name:_:) + 296 12 XCBUtil 0x1048854ec thunk for @escaping @callee_guaranteed @Sendable () -> () + 28 13 Foundation 0x188bc2e1c __NSThread__block_start__ + 76 14 libsystem_pthread.dylib 0x18723df94 _pthread_start + 136 15 libsystem_pthread.dylib 0x187238d34 thread_start + 8 <snip>
0
4
984
Sep ’24
The relationship between age verification and permission kit isn't clear (IMO)
I'm trying to digest and understand the new set of APIs relating age verification that were released last week. I have say that without some cohesive overview, example app, just a simple diagram showing the relationship of everything, its not at all clear to me what's going on nor what an app developer is expected to do to use these apis (I'm a senior engineer with 15 year's iOS experience, but hey maybe I'm just a bit slow in the head). I have a few questions, but the topic of this post is what is the relationship between age verification i.e. between the declared age range/significant change and Permission Kit? The documentation for the former mentions the Significant Change API/Topic (https://developer.apple.com/news/?id=2ezb6jhj / https://developer.apple.com/documentation/PermissionKit/SignificantAppUpdateTopic). Now the Significant Change Topic is documented as being part of PermissionKit, however the documentation for that (https://developer.apple.com/documentation/permissionkit) States emphatically at the top: "Communication experiences using the PermissionKit framework are only available using iMessage." Meaning you can't use PermissionKit for anything other than iMessage? If it doesn't mean that, then why does it state so? If it does mean that, then how does an app which has nothing to do with iMessage make use of Significant Change - because this documentation:https://developer.apple.com/news/?id=2ezb6jhj Is talking about using significant change for all apps, not iMessage. So there is a contradiction here.
1
4
180
Nov ’25
Push to talk: how is the push token supposed to be used if its lifetime is ephemeral?
I don't understand how the push tokens are supposed to be used with push to talk given that their lifetime is ephemeral and they become invalid as soon as a channel is left. Suppose there is phone A and phone B, both with a PTT app installed on it. Then on phone A if the user launches the app and, for example, pushes a button to initiate a talk session with user B, then the app on phone A will join a channel and this will result in receivedEphemeralPushToken() getting called. Then if phone A sends that push token to the server, well then what next though? How is the user on phone B going to be informed that the user on phone A wants to talk to them. The server can't send a push to phone B using that token because that's the token for phone A. If the server has a token from phone B stored from previously, then the push isn't going to work because the documentation says the push token's lifetime is empemeral and will end as soon as the channel is left. So that channel for B's push token would have been left hours, or days or even months in the past. Summary: if user A wants to talk to user B, how does user B's app get notified user A want's to talk to them if the push tokens' lifetimes are all ephemeral?
1
1
1.3k
Aug ’22
VPN causes developer cert in keychain to become untrusted
After not happening to me for a few months, this issue has started hitting me again with currently %100 reproducability. If turn on VPN on my Mac then instantly the developer certificates within the keychain become untrusted. But that's not all, if VPN is then turned off the certificates do not revert to their trusted status but remain untrusted. The consequence of this is that if VPN is turned on and then a build is perform, it fails, and the only way to fix things is to delete the cert(s) from they keychain and re-install them. As a remote worker, having this happen several or even dozens of times a day is incredibly annoying and frustrating. This issue has been occurring for literally years, sometimes it occurs very often, others while its quiet for a while, and has spanned multiple versions of Xcode and Mac OS. So whatever the cause is its endemic. It doesn't just affect myself, but all the members in my development team. I'm currently using Xcode 14.1 RC 2 and Monterey but I've seen this issue occur with many versions of Xcode and Mac. (I'm using Cisco AnyConnect Secure Mobility Client). If the VPN is somehow interfering/affecting the connectivity aspect when an attempt is made by Xcode to validate the certificate, then why does it not rectify itself after turning off VPN? This is so so so so annoying. Can somebody please comment on why this happens and if there's a way to prevent it.
5
1
3.4k
Dec ’24
What happened to the WWDC16 session 230: Enhancing VoIP Apps with CallKit video? Its gone
This video is referenced in several places, for example here references it https://developer.apple.com/documentation/callkit/making_and_receiving_voip_calls_with_callkit and Eskimo has referenced it in his posts. But its gone, there are other WWDC16 session videos but not this one (https://developer.apple.com/videos/wwdc2016) Is it available anywhere else? Also how can this code be run/tested for an incoming call (without using the build in simulator i.e. using a real incoming Voip call)? What tool/app etc. could be used to generate a call to the handset to see the code in action when answering a VoIP call?
2
1
1.4k
Mar ’23
Is it possible to catch a memory exception in an extension?
I've got a notification service extension with quite a lot going on, and consequently I've been running out of memory. One thing in particular that is using a lot of memory is UIGraphicsImageRenderer which I'm using to construct an image at run time the size of the device's bounds. Running the extension in Xcode and profiling its memory it appears that using autoreleasepool {} doesn't seem to always release memory instantly, so if you do A and then B, and combined they have too much memory usage for the extension to handle, trying to autorelease A doesn't actually always release the memory before B (unlike if the code is running in the main app rather than an extension). A few questions is there any way of programmatically detecting the memory usage / memory limit within the extension? if the extension goes over the 24Mg limit, is there any way of catching that exception and handling it somehow? is there a way of ensuring/forcing autoreleasepool{} to clear memory before proceeding with further code?
1
1
760
Dec ’22
"Final reminder: Answer the updated age ratings questions." But there are no questions
I received the email from Apple entitled "Final reminder: Answer the updated age ratings questions." However if I login to App Connect, or click on the link in the email to go directly to App Connect, there are no questions. There are 6 tabs/sections in App Connect, flicking through them, there are no questions about age ratings. Even if I could find these questions, if there are no apps actually released to the App Store (and no plans to release any) is answering these questions necessary? The Apple email sounds quite threatening in its tone, hinting at consequences if you don't comply, but I can't comply because no questions in App Connect are being presented.
6
3
391
1w
Unwanted communication extension is unable to persist data written to defaults
I'm currently using 4 extensions within my app and use a group in combination with UserDefaults.init(suiteName:) to share settings between the extensions and the app. However I've just tried adding an unwanted communications extension and found that data writing to defaults, in the exact same way as the other extensions, isn't saved. At first I noticed data written by the UCE wasn't present when the app tried to read it, so performed an experiment and found that while the extension is running, it can write and read data to user defaults, but the next time the extension runs, all that data has gone. I've tried using the old and now default UserDefaults.synchronize() but it makes no difference. Why is the UC extension different from every other extension? Is it possible to write and persist data from within it? let groupName = "group.com.mycompany.appName" let sharedDefaults = UserDefaults.init(suiteName: groupName) var theValue = sharedDefaults!.value(forKey: "some key") NSLog("\(theValue)") // prints nothing, despite the extension having previously run sharedDefaults!.set("some value", forKey: "some key")) sharedDefaults!.synchronize() theValue = sharedDefaults!.value(forKey: "some key") NSLog("\(theValue)") // prints "some value"
2
1
1.5k
Aug ’22
Why does Xcode 15 Beta not have a 17.0 folder in DeviceSupport?
The Xcode 15 beta does not have a 17.* folder within Developer/Platforms/iPhoneOS.platform/DeviceSupport. How therefore does it build/install/run on a a phone with iOS 17 installed? Is there a different mechanism for device support used from 17 onwards than has historically been the case? I want to build/run using Xcode 14.n with an iOS 17 phone, but without being able to locate the iOS 17 support file am unable to do so. Where is the iOS 17 device support files with Xcode 15? How can I build using Xcode 14 for iOS 17 if its not present in Xcode15 (in order to drag and drop it into Xcode 14)
0
2
916
Jun ’23
How do you file a feature request?
If you go to https://feedbackassistant.apple.com and create a new feedback (for iOS and iPad) item, then these are the types of feedback choices: Incorrect/Unexpected Behavior Application Crash Application Slow/Unresponsive Battery Life Suggestion A suggestion sounds more like something an iPhone user want so suggest as a feature, not how a developer might request an API feature. Is that really what, as a developer, you are supposed to use to make a development feature request?
4
0
3.7k
Jul ’23
Why is Xcode taking forever to install/launch app?
Ever since Xcode 15 and iOS 17 came out development has quite often been a nightmare of waiting and waiting -Xcode displaying endless circles saying preparing the device, connecting to the device, installing the device. But recently to add to this, installation and launching is just taking really forever. I'm currently running Xcode 15.1 and various versions of iOS 17 (I have several phones) and installing the app from Xcode takes about 7 - 10 minutes (compared to the same app installing in seconds with Xcode 14 for example). Then once its finally installed, it then takes further minutes to launch, Xcode often actually displays a dialog saying its taking longer than expected to launch the app, adding the footnote "LLDB is likely reading from device memory to resolve symbols." What could be reasons, and solutions, for the excruciatingly slow installation time, and launch time? I really need to find a solution to this please - making a code change tweak, running, making another, running, making another, running, just isn't possible given the length of time it takes to install and launch each time. The iPhone is connected via physical cable to the Mac, and the Mac and iPhone are both on the same Wifi network. Xcode 15.1 M1 Macbook Pro Sonomo 14.0 iOS 17.2
11
11
7.2k
Jul ’24