Posts under Developer Tools & Services topic

Post

Replies

Boosts

Views

Created

On Demand Resources does not show an error
I am integrating On Demand Resources into my Unity game. The resources install without any problems if the internet connection is stable: all resources are installed. While testing various scenarios without an internet connection, I encountered the following problem: if I turn off the internet during installation, I don't get any error messages, but if I turn the internet back on, the download no longer continues (and I still don't get an error). If I reopen the application with a stable internet connection, the download will always be at 0%. Please tell me what I am doing wrong. #import "Foundation/Foundation.h" #if ENABLE_IOS_ON_DEMAND_RESOURCES #import "Foundation/NSBundle.h" #endif #include <string.h> struct CustomOnDemandResourcesRequestData; typedef void (*CustomOnDemandResourcesRequestCompleteHandler)(struct CustomOnDemandResourcesRequestData* handler, const char* error); #if ENABLE_IOS_ON_DEMAND_RESOURCES struct CustomOnDemandResourcesRequestData { NSBundleResourceRequest* request; }; extern "C" CustomOnDemandResourcesRequestData* CustomOnDemandResourcesCreateRequest(const char* const* tags, int tagCount, CustomOnDemandResourcesRequestCompleteHandler handler) { NSMutableArray* tagArray = [NSMutableArray array]; for (int i = 0; i < tagCount; i++) { const char* tag = tags[i]; if (tag != NULL) { [tagArray addObject:[NSString stringWithUTF8String:tag]]; } } NSSet* tagSet = [NSSet setWithArray:tagArray]; CustomOnDemandResourcesRequestData* data = new CustomOnDemandResourcesRequestData(); data->request = [[NSBundleResourceRequest alloc] initWithTags:tagSet]; [data->request beginAccessingResourcesWithCompletionHandler:^(NSError* error) { dispatch_async(dispatch_get_main_queue(), ^{ const char* errorMessage = error ? [[error localizedDescription] UTF8String] : NULL; handler(data, errorMessage); }); }]; return data; } extern "C" void CustomOnDemandResourcesRelease(CustomOnDemandResourcesRequestData* data) { [data->request endAccessingResources]; delete data; } extern "C" float CustomOnDemandResourcesGetProgress(CustomOnDemandResourcesRequestData* data) { return data->request.progress.fractionCompleted; } extern "C" float CustomOnDemandResourcesGetLoadingPriority(CustomOnDemandResourcesRequestData* data) { float priority = (float)data->request.loadingPriority; return priority; } extern "C" void CustomOnDemandResourcesSetLoadingPriority(CustomOnDemandResourcesRequestData* data, float priority) { if (priority < 0.0f) priority = 0.0f; if (priority > 1.0f) data->request.loadingPriority = NSBundleResourceRequestLoadingPriorityUrgent; else data->request.loadingPriority = (double)priority; } extern "C" const char* CustomOnDemandResourcesGetResourcePath(CustomOnDemandResourcesRequestData * data, const char* resource) { NSString* resourceStr = [NSString stringWithUTF8String: resource]; NSString* path = [[data->request bundle] pathForResource: resourceStr ofType: nil]; if (path == nil) { return NULL; // или другое значение по умолчанию } const char* result = strdup([path UTF8String]); // копируем строку return result; // в C# нужно будет освободить память } extern "C" void CustomOnDemandResourcesFreeString(const char* str) { free((void*)str); } #else // ENABLE_IOS_ON_DEMAND_RESOURCES struct CustomOnDemandResourcesRequestData { }; extern "C" CustomOnDemandResourcesRequestData* CustomOnDemandResourcesCreateRequest(const char* const* tags, int tagCount, CustomOnDemandResourcesRequestCompleteHandler handler) { CustomOnDemandResourcesRequestData* data = new CustomOnDemandResourcesRequestData(); if (handler) handler(handlerData, NULL); return data; } extern "C" void CustomOnDemandResourcesRelease(CustomOnDemandResourcesRequestData* data) { delete data; } extern "C" float CustomOnDemandResourcesGetProgress(CustomOnDemandResourcesRequestData* data) { return 0.0f; } extern "C" float CustomOnDemandResourcesGetLoadingPriority(CustomOnDemandResourcesRequestData* data) { return 0.0f; } extern "C" void CustomOnDemandResourcesSetLoadingPriority(CustomOnDemandResourcesRequestData* data, float priority) { } extern "C" const char* CustomOnDemandResourcesGetResourcePath(CustomOnDemandResourcesRequestData * data, const char* resource) { return NULL; } extern "C" void CustomOnDemandResourcesFreeString(const char* str) { } #endif // ENABLE_IOS_ON_DEMAND_RESOURCES
0
0
50
2w
Impossible to connect iPhone 7 (iOS 15.8) with xCode 26
I have spent nearly an hour trying to get my iPhone 7 with iOS 15.8 to be recognized within xCode 26. I did not have this issue with the previous version of xCode. I have tried rebooting my Mac, rebooting my iPhone 7, removing the iPhone 7 from the list of devices that belong to my account, verified that I have support files for iOS 15.8 installed, signing out of my Apple account and signing back in....nothing works. Every time I go to "Windows > Devices" I see the iPhone 7, but I get a never-ending spinning circle next to the iPhone 7 (which is shown as connected) along with a banner that says "xCode will continue when Joe's iPhone 7 is finished." I can leave the phone connected to my Mac for an hour, and this message and the spinning circle next to the iPhone 7 never changes.
5
0
238
2w
IOS Development Certificates are being created under the incorrect Team ID
I am experiencing a critical issue with the IOS Development Portal where certificates are being created under the incorrect Team ID despite being logged into the correct team context. in the Portal also in Xcode. I am logged into the Apple Developer Portal under "Company LLC (Team ID: 12345678)" However, when creating "Apple Development" certificates through the portal, they are being assigned Team ID "987654321" (my personal developer account) This occurs even when explicitly creating certificates from within the Company LLC team context. Also the same if i create the IOS Development in Xcode as well. This is preventing me from Archive my app in Xcode so i can upload the new version in the App Store. Please Help. Thank you in advance.
2
0
88
2w
IOS Development Certificates are being created under the incorrect Team ID
I am experiencing a critical issue with the Apple Developer Portal where certificates are being created under the incorrect Team ID despite being logged into the correct team context. I am logged into the Apple Developer Portal under "Company LLC (Team ID: 12345678)" However, when creating "Apple Development" certificates through the portal, they are being assigned Team ID "987654321" (my personal developer account) This occurs even when explicitly creating certificates from within the Company LLC team context. The same is happening if I tried to create the IOS Development Certificate in Xcode, same issue, creates the certificate with the wrong Team ID This is preventing me from Archive my app in Xcode so i can upload the new version of my App in the App Store. Please Help. Thank you in advance
1
0
92
2w
Attach a debugger to app launched via `devicectrl`
With the latest (26) version of Apple's developer tools, is there a way to manually attach a debugger (other than lldb) to an iOS app launched with "devicectl device process launch --start-stopped"? In the past, this was possible via the ios-deploy third-party tool (now defunct), which provided a debugserver port. This information is notably missing when using devicectrl – although the process ID of the launch process is provided, and the tool is clearly aimed at letting you launch and attach to processes from the command line. lldb can, of course, attach via its built-in support for this using the device set of commands. But I'm explicitly looking for a way to attach my own debugger via the GDB-compatible debug proxy.
2
0
84
2w
PhotosUI does not build with UIKit and WidgetKit in XCode26
To reproduce this bug create a new Xcode Project for IOS choose UIKit. In the app delegate add the following lines. As you can see in the above image . Line 19 with the initialization of PHPickerViewController has no compilation failure. Now lets add import WidgetKit As soon as widgetKit is imported a compiler error is thrown which is PHPickerViewController is not in scope. This worked with Xcode 16.4 It was possible to have a swift file with both WidgetKit implementations and PhotosUI implementations. This behavior has changed in Xcode 26/26.0.1 . Does anybody know why this happens , could not find any clues within the different versions of documentations. P.S Found a work around which raises further questions Adding import SwiftUI fixes this problem , I am genuinely curious on how this is happening on a compiler level. LINKS To my previously published post :https://developer.apple.com/forums/thread/804059
0
3
89
2w
Xcode 26 Stable Build Interruptions
I have a mac mini on OS 15.7 ( Sequoia ) with 4-5 iPhone and iPad devices on version iOS 26.0 Stable connected to it. I am trying to build a device farm application where it run multiple UI tests to restore the device state but facing BUILD INTERRUPT intermittently during the UI test run. What can be the issue here? Is it device side issue OR issue with device and xcode connection. What tools can I use to gather more information of xcode and its processes or memory leaks due to it. Could any network call interruption via xcode can lead to this issue.
0
0
58
2w
subscriptionOfferCodes 500 Error
When i create a subscription offer, the following error occurred, and there is no corresponding log ID. { "errors": [ { "status": "500", "code": "UNEXPECTED_ERROR", "title": "An unexpected error occurred.", "detail": "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/." } ] } https://api.appstoreconnect.apple.com/v1/subscriptionOfferCodes The invoked open API: https://api.appstoreconnect.apple.com/v1/subscriptionOfferCodes This is my request data: { "data": { "type": "subscriptionOfferCodes", "attributes": { "duration": "ONE_YEAR", "numberOfPeriods": 1, "offerMode": "PAY_AS_YOU_GO", "name": "test_error_issue2", "customerEligibilities": [ "NEW" ], "offerEligibility": "STACK_WITH_INTRO_OFFERS" }, "relationships": { "prices": { "data": [ { "id": "${sg-30-offerCode}", "type": "subscriptionOfferCodePrices" } ] }, "subscription": { "data": { "id": "6738041235", "type": "subscriptions" } } } }, "included": [ { "id": "${sg-30-offerCode}", "type": "subscriptionOfferCodePrices", "relationships": { "subscriptionPricePoint": { "data": { "id": "eyJzIjoiNjczODA0MTIzNSIsInQiOiJTR1AiLCJwIjoiMTAxODcifQ", "type": "subscriptionPricePoints" } } } } ] }
0
0
54
2w
How to debug ios Webkit crash
We have an iphone app that has an embedded webview using webkit, and we found the app crashes when we navigate to an specifc internal website. When I opened the ips file I see this stacktrace on the com.apple.main-thread WebCore::JSDOMRect::subspaceForImpl(JSC::VM&) WebCore::JSDOMRect::create(JSC::Structure*, WebCore::JSDOMGlobalObject*, WTF::Ref<WebCore::DOMRect, WTF::RawPtrTraits<WebCore::DOMRect>, WTF::DefaultRefDerefTraits<WebCore::DOMRect>>&&) WebCore::toJSNewlyCreated(JSC::JSGlobalObject*, WebCore::JSDOMGlobalObject*, WTF::Ref<WebCore::DOMRect, WTF::RawPtrTraits<WebCore::DOMRect>, WTF::DefaultRefDerefTraits<WebCore::DOMRect>>&&) JSC::JSValue WebCore::CloneDeserializer::readDOMRect<WebCore::DOMRect>() WebCore::CloneDeserializer::readTerminal() WebCore::CloneDeserializer::deserialize() WebCore::SerializedScriptValue::deserialize(JSC::JSGlobalObject&, JSC::JSGlobalObject*, WTF::Vector<WTF::Ref<WebCore::MessagePort, WTF::RawPtrTraits<WebCore::MessagePort>, WTF::DefaultRefDerefTrait WebCore::SerializedScriptValue::deserialize(JSC::JSGlobalObject&, JSC::JSGlobalObject*, WebCore::SerializationErrorMode, bool*) WebCore::SerializedScriptValue::deserialize(OpaqueJSContext const*, OpaqueJSValue const**) API::SerializedScriptValue::deserialize(WebCore::SerializedScriptValue&) ScriptMessageHandlerDelegate::didPostMessage(WebKit::WebPageProxy&, WebKit::FrameInfoData&&, API::ContentWorld&, WebCore::SerializedScriptValue&) WebKit::WebUserContentControllerProxy::didPostMessage(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned lon WebKit::WebUserContentControllerProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) WebKit::WebProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) IPC::Connection::dispatchMessage(WTF::UniqueRef<IPC::Decoder>) IPC::Connection::dispatchIncomingMessages() WTF::RunLoop::performWork() WTF::RunLoop::performWork(void*) __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ __CFRunLoopDoSource0 __CFRunLoopDoSources0 __CFRunLoopRun CFRunLoopRunSpecific GSEventRunModal -[UIApplication _run] UIApplicationMain main start I assume something is crashing after deserializing a JSDomRect. This is crashing on an Iphone 13 with os 18.6.2 but this doesn't crash on iphone 11 os 26.0 I'm executing the app from xcode and I'm not able to see the stacktrace listed before in xcode, to be able to see variables and to understand what is being deserialized. I've also tried using safari mac develop, but safari stops debugging as soon as the app crashes. I've also tried attaching a remote process into the webkit I've downloaded from here https://webkit.org/getting-the-code/ but didn't have luck so far. Do you know how can I debug what's causing the crash?
3
0
90
2w
Xcode Cloud - Base Configuration Reference
Hello, I'm building this mobile app using Quasar - Capacitor on iOS. The app is working perfectly, but I'm encountering an issue whenever I push the rep I get this error: "Error Unable to open base configuration reference file '/Volumes/workspace/repository/ios/App/Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig'. App.xcodeproj:1" I've tried every possible solution and made sure that everything is set perfectly. Can anyone please help me with that? Thanks in advance, appreciate you 🫶🏻
0
0
102
2w
On demand module download
I am working on an iOS app and I want to achieve on demand module download inside the app when the user clicks on the module icon which he wants to use. The idea is that we have a super app consisting of multiple modules say four independent apps/features and I want to separate each one so that when the user selects a specific app/feature, it’s downloaded on demand and then opened directly within the same super app resulting in a lower app size initially I want to upload all the code of all modules to app store connect but when the user downloads the app, then only one module's code should be available to the user, the rest of the module's code should be downloaded when the user wants to use that module. I know apple restricts downloading new code but in my case I want to upload all the code to app store for review but just give option to the user to get rest of the code when needed. Any guidance, architectural advice, or example implementations would be highly appreciated.
1
0
70
2w
Unable to provision target
I have added an in-app purchase function into my app, and have enabled in-app purchase profile in developer portal(it's on by default and is marked gray in developer portal, I don't know if that's how it supposed to look like). I have issued the agreements and tried signing the app both manually and automatically, but neither of that worked. App can be built successfully in simulator but does not show the simulation window, but cannot build on real device or archive. Errors: Missing com.apple.developer.in-app-purchase, com.apple.developer.in-app-purchase.non-consumable, and com.apple.developer.in-app-purchase.subscription entitlements. Automatic signing failed Xcode failed to provision this target.
1
0
56
2w
How are Assets removed?
Hello, I'm trying to figure out the behavior of AssetPackManager.shared.remove(assetPackWithID: ). I'm working with MapKit tiles and currently working on trying projecting them correctly which involves serving the AssetPack locally, downloading, checking alignment, and then deleting and changing. My question is that remove(assetPackWithID: ) completes successfully and the asset pack is removed. This is confirmed by trying to remove the AssetPack again which throws an error. However, the asset is still appearing on MapKit after the removal. This is a bit odd as this persists not only with force killing, but also restarting the device. Please advise on how to properly remove an AssetPack. Thank you iPhone 15 Pro Max (iOS 26.0.1) iPhone 17 Pro Max (iOS 26.0.1)
5
1
272
2w
Nonprofit Enrollment 28 Days in "Processing" After Continuing - UH4UT85YS3
I'm looking for advice or anyone who's experienced similar delays with nonprofit developer account enrollments. Timeline: In mid-September, we had some initial email validation issues during our nonprofit organization enrollment. Senior Advisor Kevin (case 102691832489) resolved those issues and cleared us to continue enrollment on September 16-17. We continued immediately on September 17th, and our status changed to "Your enrollment is being processed" with enrollment ID UH4UT85YS3. It's now been 28 days with no status changes, no requests for additional information, and no timeline. Follow-up attempts: I've called support three times (Sept 19, 26, and Oct 7). Each time I was told the application is "with a separate department they can't contact." They created additional cases but couldn't provide any updates or access to the reviewing team. Questions for the community: Is 28 days normal for nonprofit enrollment processing after continuing? Has anyone found a way to get status updates when regular support can't access the reviewing team? Is there a specific escalation path for nonprofit accounts that differs from standard enrollments? We're a 501(c)(3) church launching an app for a capital campaign, so the delay is starting to impact our timeline. Any insights or experiences would be greatly appreciated. Details: Enrollment ID: UH4UT85YS3 Organization Type: Nonprofit 501(c)(3) Continued enrollment: Sept 17, 2025 Current status: "Your enrollment is being processed" Thanks in advance for any guidance.
0
0
28
2w