Posts under Developer Tools & Services topic

Post

Replies

Boosts

Views

Activity

Application crashes referencing callAsyncJavaScript
When referencing WebKit’s function callAsyncJavaScript, any iOS app crashes immediately on startup when running in simulator. On device, it does not crash. The error message is: dyld[9892]: Symbol not found: _$sSo9WKWebViewC6WebKitE19callAsyncJavaScript_9arguments2inAF17completionHandlerySS_SDySSypGSo11WKFrameInfoCSgSo14WKContentWorldCys6ResultOyyps5Error_pGcSgtF Furthermore, this only happens for some simulators. With Xcode 16.3, it’s simulators 18.0 and prior. With Xcode 16.4 RC1 it includes simulators iOS 18.5 and 18.4 but works correctly on earlier versions of simulator. The reproduction path is easy. Example file attached. This used to work about 3 weeks or a month ago, which is perplexing. As a workaround I replaced the function with evaluateJavaScript which does not crash, but that is not the desired method to use for us. The attached file can reproduce it easily - just refernece this view from the default ContentView in a new project. TestWebView.swift
2
2
238
May ’25
Probably the longest Apple Developer enrollment process - 423 days
I have submitted an Apple Developer enrollment application on 2024-March-18, and it's still "IS BEING PROCESSED". And I have submitted multiple support tickets and asked for the status, and ALL of the replies are "uNDer rEvIEW". For real? 423 days? How can it possibly take this long? This is beyond unreasonable. I need a real update on my application—enough with the generic responses. My enrollment ID is 7AR6PGYR9R.
1
2
279
May ’25
ActivityKit linker error
I have a ContentView in my app which includes the line of code FileUploadProgressAttributes. this struct is defined in a file included in the target FileUploadProgressExtension. and it is an ActivityAttributes. in ContentView I imported FileUploadProgressExtension, and the xcode is able to find the FileUploadProgressAttributes during prebuild. but during build, it gives me Undefined symbols for architecture arm64: "FileUploadProgressExtension.FileUploadProgressAttributes.init(filename: Swift.String) -> FileUploadProgressExtension.FileUploadProgressAttributes the workaround i found is to add the file with the FileUploadProgressAttributes to my app's target, but I'm not sure if this is the right thing to do. When Xcode created the extension for me, it added the extension target as a target dependency of my app. so obviously if i added this file to my app target it makes the extension target pointless. First time working with widgets so I'm not sure if I'm missing something.
0
0
108
May ’25
Using devicectl to observe Darwin Notifications
Hello, I'm trying to use devicectl to observe Darwin Notifications on my iPhone. Instructions: OVERVIEW: Observe a Darwin notification on a device. Note that this command will wait for 300 seconds by default before exiting. You can override this by providing a different --timeout value. USAGE: devicectl device notification observe --device <uuid|ecid|udid|name> --name <name> ... [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>] DEVICE OPTIONS: -d, --device <uuid|ecid|udid|name> The identifier, ECID, UDID, or name of the device. COMMAND OPTIONS: --name <name> The name of the Darwin notification. This can be passed multiple times to observe multiple Darwin notifications. OUTPUT OPTIONS: -v, --verbose If given, provide more logging output than normal. -q, --quiet If given, output will include only errors. -t, --timeout <seconds> The overall command timeout in seconds. If this limit is exceeded the command is abandoned as a failure. -j, --json-output <path> An optional path to write a JSON file with command results. Note: JSON output to a user-provided file on disk is the ONLY supported interface for scripts/programs to consume command output. -l, --log-output <path> An optional path to write all logging otherwise passed to stdout/stderr. OPTIONS: --version Show the version. -h, --help Show help information. Executed command: xcrun devicectl device notification observe --device XXX --name com.example.Notification Result: Darwin notification observation started. 300.0 seconds remaining: On iOS, I'm posting a Darwin notification using: CFNotificationCenterPostNotification(center, CFNotificationName("com.example.Notification" as CFString), nil, nil, true) My CFNotificationCenterAddObserver on iOS does receive this notification. But the devicectl does not. Also no results when I remove the observer on iOS. How can I send a notification in such a way that it is picked up by the devicectl observer?
4
0
1.1k
May ’25
Follow-up on Company Enrollment – Case ID: 102578249178
Hi, While I understand that some enrollment reviews may take time, it has now been nearly a month since we submitted our company enrollment on April 11, and unfortunately, we still have no concrete updates or next steps. As a small business, this extended delay is significantly affecting our operations. We are unable to proceed with our product launch, engage with partners, or move forward with development work. Each passing day adds to the financial and operational pressure we’re facing. To be completely transparent, we honestly don’t believe there is a large set of documents or verifications that would justify such a long review. Our company’s D-U-N-S information has been provided and contains clear, publicly verifiable details about our registration and address. Beyond that, there is no additional documentation that should require extended evaluation. From our research, we’ve learned that some enrollments may get stuck in the review pipeline indefinitely unless manually escalated — and some companies only managed to resolve the issue after getting in touch with senior contacts or executives. We kindly ask — and sincerely hope — that instead of a standard response confirming the enrollment is “under review,” we can receive a more concrete update: what stage it is truly at, whether any verification is pending, and whether manual intervention is required. Case ID: 102578249178
0
0
75
May ’25
Xcode 16.3 / 16.4 UINavigationBar rendering issue?
I've recently upgraded to Sequoia and Xcode 16.3 (now 16.4RC) and a significant change I've noticed vs 16.2 is that the height of UINavigationBar components in storyboards and XIBs is incorrect. Xcode 16.2: Xcode 16.4: This only affects simulated metrics in storyboard / XIB files. I have been unable to find any discussion of this issue anywhere online. Is this actually an Xcode bug that has gone unnoticed / unfixed or is there some underlying intentional change here that I'm unaware of?
0
0
117
May ’25
0xe8008018 (The identity used to sign the executable is no longer valid.)
I created a new App project, I didn't write any my code, I just built it and install it to my iPhone, then I got the error as below: 无法安装“test” Domain: IXUserPresentableErrorDomain Code: 14 Recovery Suggestion: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) Please ensure that the certificates used to sign your app have not expired. If this issue persists, please attach an IPA of your app when sending a report to Apple. User Info: { DVTErrorCreationDateKey = "2025-04-13 03:40:21 +0000"; IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker; } -- Failed to install the app on the device. Domain: com.apple.dt.CoreDeviceError Code: 3002 User Info: { NSURL = "file:///Users/ltf/Library/Developer/Xcode/DerivedData/test-fnnhrmtlclvfdnennxoorbywbuze/Build/Products/Debug-iphoneos/test.app"; } -- Can't install “test” Domain: IXUserPresentableErrorDomain Code: 14 Failure Reason: 无法安装此App,因为无法验证其完整性。 Recovery Suggestion: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) -- Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) Domain: MIInstallerErrorDomain Code: 13 User Info: { FunctionName = "+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]"; LegacyErrorString = ApplicationVerificationFailed; LibMISErrorNumber = "-402620392"; SourceFileLine = 79; } -- Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : { "device_identifier" = "00008120-001E51C011F9A01E"; "device_isCoreDevice" = 1; "device_isWireless" = 1; "device_model" = "iPhone15,5"; "device_osBuild" = "18.3.2 (22D82)"; "device_platform" = "com.apple.platform.iphoneos"; "device_thinningType" = "iPhone15,5"; "dvt_coredevice_version" = "443.19"; "dvt_coresimulator_version" = "1010.10"; "dvt_mobiledevice_version" = "1784.120.2"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 2527; "operation_errorCode" = 14; "operation_errorDomain" = IXUserPresentableErrorDomain; "operation_errorWorker" = IDEInstallCoreDeviceWorker; "operation_name" = IDERunOperationWorkerGroup; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_113575882_enable" = 0; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_checker_tpc_enable" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_guardMalloc_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_mtc_enable" = 1; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_enable" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 2; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 99; "param_launcher_substyle" = 0; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_structuredConsoleMode" = 1; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos18.4"; "sdk_osVersion" = "18.4"; "sdk_variant" = iphoneos; } -- System Information macOS Version 15.5 (Build 24F5042g) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-04-13T11:40:21+08:00
4
0
380
May ’25
MDM Nginx Proxy
I'm trying to make my own MDM server and I'm having trouble allowing nginx to proxy the connection. The web app I'm making can accept http requests so I require nginx. I'm using a certificate from letsencrypt. Every time I try to enroll a phone it instantly rejects at nginx. I have tried multiple cipher options in nginx. I found the following link and my cert supports all except the DHE ones but they say you only need 1. (https://developer.apple.com/forums/thread/128482?answerId=404052022#404052022) What else can I do? 2025/05/21 14:39:44 [info] 105709#105709: *2887 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 14:41:42 [info] 106014#106014: *2891 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 14:42:32 [info] 106134#106134: *89 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 15:09:13 [info] 106132#106132: *124 client timed out (110: Connection timed out) while waiting for request, client: 172.40.1.61, server: 0.0.0.0:9234 BlockQuote below from ssllabs.com upstream backendmdmios { server 172.40.1.61:6744; } server { listen 9234 ssl; http2 on; server_name mdm.domainplaceholder.com; error_log /etc/nginx/logs/ios.com.error.log debug; # error; ssl_certificate /etc/letsencrypt/live/mdm.domainplaceholder.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mdm.domainplaceholder.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES128-CBC-SHA:ECDHE-RSA-AES256-GCM-SHA384; #ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305; #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!3DES:!CAMELLIA; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/dhparams.pem; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://backendmdmios$request_uri; } }
2
0
74
May ’25
Enrollment Stuck Since April 28 — No Updates Despite Full Document Submission (Estonian Company)
We applied for the Apple Developer Program on April 28, and our enrollment has been stuck in review since then — over three weeks now. We have already submitted all required documents, including: Turkish National ID and Passport Estonian e-Residency Card Company registration documents from the Estonian e-Business Register D-U-N-S number VAT and Registry information Detailed explanations as a sole founder and legal representative Enrollment Case number is 102586593909 We even had a follow-up phone call with Apple Developer Support (Case ID: 102589592062) and were told the submitted documents should be sufficient. I also followed all upload instructions and confirmed that the files were delivered successfully. Despite all this, we haven’t received any updates, timelines, or specific feedback on what’s missing — if anything at all. ✅ Meanwhile, we’ve completed similar business verification processes with Google, Meta, and Stripe within 48 hours. We’re trying to launch our app under an officially registered business (Mobisense OÜ), and this delay is affecting our go-to-market timeline and business operations. 🔹 Has anyone else experienced this kind of delay recently? 🔹 Is there a reliable way to escalate or request an actual review update? Apple, please review this case and help move the process forward. Thank you.
2
2
149
May ’25
Granting Microphone Access through in-app authorisation request on the VisionOS 2.4 Simulator causes it to crash
When requesting authorisation to gain access to the user's microphone in the visionOS 2.4 simulator, the simulator crashes upon the user clicking allow. Using Swift 6, code below. Bug Report: FB17667361 @MainActor private func checkMicrophonePermission() async { logger.debug("Checking microphone permissions...") // Get the current permission status let micAuthStatus = AVAudioApplication.shared.recordPermission logger.debug("Current Microphone permission status: \(micAuthStatus.rawValue)") if micAuthStatus == .undetermined { logger.info("Requesting microphone authorization...") // Use structured concurrency to wait for permission result let granted = await withCheckedContinuation { continuation in AVAudioApplication.requestRecordPermission() { allowed in continuation.resume(returning: allowed) } } logger.debug("Received microphone permission result: \(granted)") // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = granted ? .authorized : .denied // Handle the authorization status handleAuthorizationStatus(status: status, type: "Microphone") // If granted, configure audio session if granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session after microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session after microphone authorization") } } } else { // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = (micAuthStatus == .granted) ? .authorized : .denied handleAuthorizationStatus(status: status, type: "Microphone") // If already granted, configure audio session if micAuthStatus == .granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session for existing microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session for existing microphone authorization") } } } }
1
1
181
May ’25
SFSpeechRecognizer is not working inside visionOS 2.4 simulator
I know there has been issues with SFSpeechRecognizer in iOS 17+ inside the simulator. Running into issues with speech not being recognised inside the visionOS 2.4 simulator as well (likely because it borrows from iOS frameworks). Just wondering if anyone has any work arounds or advice for this simulator issue. I can't test on device because I don't have an Apple Vision Pro. Using Swift 6 on Xcode 16.3. Below are the console logs & the code that I am using. Console Logs BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) SpeechToTextManager.startRecording() called [0x15388a900|InputElement #0|Initialize] Number of channels = 0 in AudioChannelLayout does not match number of channels = 2 in stream format. iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending SpeechToTextManager.startRecording() completed successfully and recording is active. GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: true GameManager received tap toggle callback. Tapped Object: None BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) GESTURE MANAGER - User is already recording, stopping recording SpeechToTextManager.stopRecording() called GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: false Audio data size: 134400 bytes Recognition task error: No speech detected <--- Code private(set) var isRecording: Bool = false private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest? private var recognitionTask: SFSpeechRecognitionTask? @MainActor func startRecording() async throws { logger.debug("SpeechToTextManager.startRecording() called") guard !isRecording else { logger.warning("Cannot start recording: Already recording.") throw AppError.alreadyRecording } currentTranscript = "" processingError = nil audioBuffer = Data() isRecording = true do { try await configureAudioSession() try await Task.detached { [weak self] in guard let self = self else { throw AppError.internalError(description: "SpeechToTextManager instance deallocated during recording setup.") } try await self.audioProcessor.configureAudioEngine() let (recognizer, request) = try await MainActor.run { () -> (SFSpeechRecognizer, SFSpeechAudioBufferRecognitionRequest) in guard let result = self.createRecognitionRequest() else { throw AppError.configurationError(description: "Speech recognition not available or SFSpeechRecognizer initialization failed.") } return result } await MainActor.run { self.recognitionRequest = request } await MainActor.run { self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in guard let self = self else { return } if let error = error { // WE ENTER INTO THIS BLOCK, ALWAYS self.logger.error("Recognition task error: \(error.localizedDescription)") self.processingError = .speechRecognitionError(description: error.localizedDescription) return } . . . } } . . . }.value } catch { . . . } } @MainActor func stopRecording() { logger.debug("SpeechToTextManager.stopRecording() called") guard isRecording else { logger.debug("Not recording, nothing to do") return } isRecording = false Task.detached { [weak self] in guard let self = self else { return } await self.audioProcessor.stopEngine() let finalBuffer = await self.audioProcessor.getAudioBuffer() await MainActor.run { self.recognitionRequest?.endAudio() self.recognitionTask?.cancel() } . . . } }
0
0
173
May ’25
cloudkit server-to-server key confusion
Hi I am a new self taught developer who is atm working on the backend of my app. My app successfully collects location of users and stores it to cloudkits public database. I now want to write a python script and run it on a local server on my windows terminal which fetches users who are in a certain proximity to each other so i can trigger a flow on the app. Can someone first of all tell me if this is even possible the way im attempting it. Also atm all i am doing is generating a server to server key which makes me generate a public and private key and i use the private key file eckey.pem plus key id plus container plus team ID to query the required data. but when i run it i get a 401 error (no authorization). I am so stumped as there arent many resources available to help direct me to the right path. Can someone please offer some help/insight/confidence. thanks alot
0
0
245
May ’25
Privacy - Siri Usage Description being reset to default text "Describe why your app needs Siri access" on generating archive
I have an iOS app and that has CarPlay enabled. I have Siri capability and the feature has been tested in Car. The voice commands are working perfectly fine. However, I am facing a weird issue as described below, The key NSSiriUsageDescription, is set to custom text in info.plist. After generating archive, I exported and checked the package contents, in which the the key NSSiriUsageDescription was reset to default text(Describe why your app needs Siri access) in the info.plist. I do not have any dynamic build process that's writing to the info.plist. Only the Siri key is being reset, rest of keys like camera/location permissions are intact. Kindly suggest what needs to be done at my end
0
0
367
May ’25
CoreML memory allocation logic
hello, I got a question about coreml. I loaded the coreml model in the project and set the computing unit to CPU+GPU. When I used instruments to analyze the performance, I found that there was an overhead of prepare gpu request before each inference. I also checked the freezing point graph and found that memory was frequently allocated. Is this as expected? Is there any way to avoid frequent prepares? I have tried some methods, such as memory sharing of predict interface input parameters, but it seems to be ineffective.
0
0
163
May ’25
Canvas keeps resizing to 50/50 width in Xcode
Hello, Xcode seems to reset the canvas preview every time I open a file that does not have a preview. This is extremely annoying when working with two editor tabs. The resize happened before only after restarting Xcode since a few weeks it happens always when opening another file. The preview phone does not even take advantage of the resize. Is there a way to fix this? When I work with the file: After opening a file without preview and going back:
1
0
155
May ’25
Application crashes referencing callAsyncJavaScript
When referencing WebKit’s function callAsyncJavaScript, any iOS app crashes immediately on startup when running in simulator. On device, it does not crash. The error message is: dyld[9892]: Symbol not found: _$sSo9WKWebViewC6WebKitE19callAsyncJavaScript_9arguments2inAF17completionHandlerySS_SDySSypGSo11WKFrameInfoCSgSo14WKContentWorldCys6ResultOyyps5Error_pGcSgtF Furthermore, this only happens for some simulators. With Xcode 16.3, it’s simulators 18.0 and prior. With Xcode 16.4 RC1 it includes simulators iOS 18.5 and 18.4 but works correctly on earlier versions of simulator. The reproduction path is easy. Example file attached. This used to work about 3 weeks or a month ago, which is perplexing. As a workaround I replaced the function with evaluateJavaScript which does not crash, but that is not the desired method to use for us. The attached file can reproduce it easily - just refernece this view from the default ContentView in a new project. TestWebView.swift
Replies
2
Boosts
2
Views
238
Activity
May ’25
Probably the longest Apple Developer enrollment process - 423 days
I have submitted an Apple Developer enrollment application on 2024-March-18, and it's still "IS BEING PROCESSED". And I have submitted multiple support tickets and asked for the status, and ALL of the replies are "uNDer rEvIEW". For real? 423 days? How can it possibly take this long? This is beyond unreasonable. I need a real update on my application—enough with the generic responses. My enrollment ID is 7AR6PGYR9R.
Replies
1
Boosts
2
Views
279
Activity
May ’25
ActivityKit linker error
I have a ContentView in my app which includes the line of code FileUploadProgressAttributes. this struct is defined in a file included in the target FileUploadProgressExtension. and it is an ActivityAttributes. in ContentView I imported FileUploadProgressExtension, and the xcode is able to find the FileUploadProgressAttributes during prebuild. but during build, it gives me Undefined symbols for architecture arm64: "FileUploadProgressExtension.FileUploadProgressAttributes.init(filename: Swift.String) -> FileUploadProgressExtension.FileUploadProgressAttributes the workaround i found is to add the file with the FileUploadProgressAttributes to my app's target, but I'm not sure if this is the right thing to do. When Xcode created the extension for me, it added the extension target as a target dependency of my app. so obviously if i added this file to my app target it makes the extension target pointless. First time working with widgets so I'm not sure if I'm missing something.
Replies
0
Boosts
0
Views
108
Activity
May ’25
Using devicectl to observe Darwin Notifications
Hello, I'm trying to use devicectl to observe Darwin Notifications on my iPhone. Instructions: OVERVIEW: Observe a Darwin notification on a device. Note that this command will wait for 300 seconds by default before exiting. You can override this by providing a different --timeout value. USAGE: devicectl device notification observe --device <uuid|ecid|udid|name> --name <name> ... [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>] DEVICE OPTIONS: -d, --device <uuid|ecid|udid|name> The identifier, ECID, UDID, or name of the device. COMMAND OPTIONS: --name <name> The name of the Darwin notification. This can be passed multiple times to observe multiple Darwin notifications. OUTPUT OPTIONS: -v, --verbose If given, provide more logging output than normal. -q, --quiet If given, output will include only errors. -t, --timeout <seconds> The overall command timeout in seconds. If this limit is exceeded the command is abandoned as a failure. -j, --json-output <path> An optional path to write a JSON file with command results. Note: JSON output to a user-provided file on disk is the ONLY supported interface for scripts/programs to consume command output. -l, --log-output <path> An optional path to write all logging otherwise passed to stdout/stderr. OPTIONS: --version Show the version. -h, --help Show help information. Executed command: xcrun devicectl device notification observe --device XXX --name com.example.Notification Result: Darwin notification observation started. 300.0 seconds remaining: On iOS, I'm posting a Darwin notification using: CFNotificationCenterPostNotification(center, CFNotificationName("com.example.Notification" as CFString), nil, nil, true) My CFNotificationCenterAddObserver on iOS does receive this notification. But the devicectl does not. Also no results when I remove the observer on iOS. How can I send a notification in such a way that it is picked up by the devicectl observer?
Replies
4
Boosts
0
Views
1.1k
Activity
May ’25
Xcode 16.3 Test Coverage not shown
Test Coverage shows "No Coverage Data" on Xcode 16.3. Code Coverage is checked in my scheme. The same configurations worked on Xcode 16.2 but don't work on Xcode 16.3. any update on when it will be fixed?
Replies
0
Boosts
1
Views
76
Activity
May ’25
Follow-up on Company Enrollment – Case ID: 102578249178
Hi, While I understand that some enrollment reviews may take time, it has now been nearly a month since we submitted our company enrollment on April 11, and unfortunately, we still have no concrete updates or next steps. As a small business, this extended delay is significantly affecting our operations. We are unable to proceed with our product launch, engage with partners, or move forward with development work. Each passing day adds to the financial and operational pressure we’re facing. To be completely transparent, we honestly don’t believe there is a large set of documents or verifications that would justify such a long review. Our company’s D-U-N-S information has been provided and contains clear, publicly verifiable details about our registration and address. Beyond that, there is no additional documentation that should require extended evaluation. From our research, we’ve learned that some enrollments may get stuck in the review pipeline indefinitely unless manually escalated — and some companies only managed to resolve the issue after getting in touch with senior contacts or executives. We kindly ask — and sincerely hope — that instead of a standard response confirming the enrollment is “under review,” we can receive a more concrete update: what stage it is truly at, whether any verification is pending, and whether manual intervention is required. Case ID: 102578249178
Replies
0
Boosts
0
Views
75
Activity
May ’25
Variable name auto-complete gone from lldb?
Ever since updating to Xcode 16.3, auto-completing variable names in lldb does not work. Is this a known bug? Is there a workaround to get it do auto-complete again?
Replies
6
Boosts
7
Views
400
Activity
May ’25
Xcode 16.3 / 16.4 UINavigationBar rendering issue?
I've recently upgraded to Sequoia and Xcode 16.3 (now 16.4RC) and a significant change I've noticed vs 16.2 is that the height of UINavigationBar components in storyboards and XIBs is incorrect. Xcode 16.2: Xcode 16.4: This only affects simulated metrics in storyboard / XIB files. I have been unable to find any discussion of this issue anywhere online. Is this actually an Xcode bug that has gone unnoticed / unfixed or is there some underlying intentional change here that I'm unaware of?
Replies
0
Boosts
0
Views
117
Activity
May ’25
0xe8008018 (The identity used to sign the executable is no longer valid.)
I created a new App project, I didn't write any my code, I just built it and install it to my iPhone, then I got the error as below: 无法安装“test” Domain: IXUserPresentableErrorDomain Code: 14 Recovery Suggestion: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) Please ensure that the certificates used to sign your app have not expired. If this issue persists, please attach an IPA of your app when sending a report to Apple. User Info: { DVTErrorCreationDateKey = "2025-04-13 03:40:21 +0000"; IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker; } -- Failed to install the app on the device. Domain: com.apple.dt.CoreDeviceError Code: 3002 User Info: { NSURL = "file:///Users/ltf/Library/Developer/Xcode/DerivedData/test-fnnhrmtlclvfdnennxoorbywbuze/Build/Products/Debug-iphoneos/test.app"; } -- Can't install “test” Domain: IXUserPresentableErrorDomain Code: 14 Failure Reason: 无法安装此App,因为无法验证其完整性。 Recovery Suggestion: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) -- Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.X9zsVD/extracted/test.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) Domain: MIInstallerErrorDomain Code: 13 User Info: { FunctionName = "+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]"; LegacyErrorString = ApplicationVerificationFailed; LibMISErrorNumber = "-402620392"; SourceFileLine = 79; } -- Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : { "device_identifier" = "00008120-001E51C011F9A01E"; "device_isCoreDevice" = 1; "device_isWireless" = 1; "device_model" = "iPhone15,5"; "device_osBuild" = "18.3.2 (22D82)"; "device_platform" = "com.apple.platform.iphoneos"; "device_thinningType" = "iPhone15,5"; "dvt_coredevice_version" = "443.19"; "dvt_coresimulator_version" = "1010.10"; "dvt_mobiledevice_version" = "1784.120.2"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 2527; "operation_errorCode" = 14; "operation_errorDomain" = IXUserPresentableErrorDomain; "operation_errorWorker" = IDEInstallCoreDeviceWorker; "operation_name" = IDERunOperationWorkerGroup; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_113575882_enable" = 0; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_checker_tpc_enable" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_guardMalloc_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_mtc_enable" = 1; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_enable" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 2; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 99; "param_launcher_substyle" = 0; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_structuredConsoleMode" = 1; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos18.4"; "sdk_osVersion" = "18.4"; "sdk_variant" = iphoneos; } -- System Information macOS Version 15.5 (Build 24F5042g) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-04-13T11:40:21+08:00
Replies
4
Boosts
0
Views
380
Activity
May ’25
MDM Nginx Proxy
I'm trying to make my own MDM server and I'm having trouble allowing nginx to proxy the connection. The web app I'm making can accept http requests so I require nginx. I'm using a certificate from letsencrypt. Every time I try to enroll a phone it instantly rejects at nginx. I have tried multiple cipher options in nginx. I found the following link and my cert supports all except the DHE ones but they say you only need 1. (https://developer.apple.com/forums/thread/128482?answerId=404052022#404052022) What else can I do? 2025/05/21 14:39:44 [info] 105709#105709: *2887 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 14:41:42 [info] 106014#106014: *2891 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 14:42:32 [info] 106134#106134: *89 peer closed connection in SSL handshake while SSL handshaking, client: 27.32.155.108, server: 0.0.0.0:9234 2025/05/21 15:09:13 [info] 106132#106132: *124 client timed out (110: Connection timed out) while waiting for request, client: 172.40.1.61, server: 0.0.0.0:9234 BlockQuote below from ssllabs.com upstream backendmdmios { server 172.40.1.61:6744; } server { listen 9234 ssl; http2 on; server_name mdm.domainplaceholder.com; error_log /etc/nginx/logs/ios.com.error.log debug; # error; ssl_certificate /etc/letsencrypt/live/mdm.domainplaceholder.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mdm.domainplaceholder.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES128-CBC-SHA:ECDHE-RSA-AES256-GCM-SHA384; #ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305; #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!3DES:!CAMELLIA; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/dhparams.pem; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://backendmdmios$request_uri; } }
Replies
2
Boosts
0
Views
74
Activity
May ’25
Enrollment Stuck Since April 28 — No Updates Despite Full Document Submission (Estonian Company)
We applied for the Apple Developer Program on April 28, and our enrollment has been stuck in review since then — over three weeks now. We have already submitted all required documents, including: Turkish National ID and Passport Estonian e-Residency Card Company registration documents from the Estonian e-Business Register D-U-N-S number VAT and Registry information Detailed explanations as a sole founder and legal representative Enrollment Case number is 102586593909 We even had a follow-up phone call with Apple Developer Support (Case ID: 102589592062) and were told the submitted documents should be sufficient. I also followed all upload instructions and confirmed that the files were delivered successfully. Despite all this, we haven’t received any updates, timelines, or specific feedback on what’s missing — if anything at all. ✅ Meanwhile, we’ve completed similar business verification processes with Google, Meta, and Stripe within 48 hours. We’re trying to launch our app under an officially registered business (Mobisense OÜ), and this delay is affecting our go-to-market timeline and business operations. 🔹 Has anyone else experienced this kind of delay recently? 🔹 Is there a reliable way to escalate or request an actual review update? Apple, please review this case and help move the process forward. Thank you.
Replies
2
Boosts
2
Views
149
Activity
May ’25
Resetting settings through the Apple Vision Pro Simulator is bugged
When you try to reset settings through the Apple Vision Pro simulator (VisionOS 2.4) you get an error "Preferences quit unexpectedly". Bug report: FB17666053
Replies
0
Boosts
0
Views
192
Activity
May ’25
Granting Microphone Access through in-app authorisation request on the VisionOS 2.4 Simulator causes it to crash
When requesting authorisation to gain access to the user's microphone in the visionOS 2.4 simulator, the simulator crashes upon the user clicking allow. Using Swift 6, code below. Bug Report: FB17667361 @MainActor private func checkMicrophonePermission() async { logger.debug("Checking microphone permissions...") // Get the current permission status let micAuthStatus = AVAudioApplication.shared.recordPermission logger.debug("Current Microphone permission status: \(micAuthStatus.rawValue)") if micAuthStatus == .undetermined { logger.info("Requesting microphone authorization...") // Use structured concurrency to wait for permission result let granted = await withCheckedContinuation { continuation in AVAudioApplication.requestRecordPermission() { allowed in continuation.resume(returning: allowed) } } logger.debug("Received microphone permission result: \(granted)") // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = granted ? .authorized : .denied // Handle the authorization status handleAuthorizationStatus(status: status, type: "Microphone") // If granted, configure audio session if granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session after microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session after microphone authorization") } } } else { // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = (micAuthStatus == .granted) ? .authorized : .denied handleAuthorizationStatus(status: status, type: "Microphone") // If already granted, configure audio session if micAuthStatus == .granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session for existing microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session for existing microphone authorization") } } } }
Replies
1
Boosts
1
Views
181
Activity
May ’25
Crash on saving an autocreated testplan in Xcode 16.3?
Is anybody able to save the autocreated testplan successfully with Xcode 16.3? I get a crash no matter what (different filenames, locations, machines, ...). Now created a template project: same thing. Xcode Version 16.3 (16E140) on macOS 15.5 (24F74) Known issue, or am I holding it wrong?
Replies
1
Boosts
0
Views
286
Activity
May ’25
SFSpeechRecognizer is not working inside visionOS 2.4 simulator
I know there has been issues with SFSpeechRecognizer in iOS 17+ inside the simulator. Running into issues with speech not being recognised inside the visionOS 2.4 simulator as well (likely because it borrows from iOS frameworks). Just wondering if anyone has any work arounds or advice for this simulator issue. I can't test on device because I don't have an Apple Vision Pro. Using Swift 6 on Xcode 16.3. Below are the console logs & the code that I am using. Console Logs BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) SpeechToTextManager.startRecording() called [0x15388a900|InputElement #0|Initialize] Number of channels = 0 in AudioChannelLayout does not match number of channels = 2 in stream format. iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending SpeechToTextManager.startRecording() completed successfully and recording is active. GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: true GameManager received tap toggle callback. Tapped Object: None BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) GESTURE MANAGER - User is already recording, stopping recording SpeechToTextManager.stopRecording() called GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: false Audio data size: 134400 bytes Recognition task error: No speech detected <--- Code private(set) var isRecording: Bool = false private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest? private var recognitionTask: SFSpeechRecognitionTask? @MainActor func startRecording() async throws { logger.debug("SpeechToTextManager.startRecording() called") guard !isRecording else { logger.warning("Cannot start recording: Already recording.") throw AppError.alreadyRecording } currentTranscript = "" processingError = nil audioBuffer = Data() isRecording = true do { try await configureAudioSession() try await Task.detached { [weak self] in guard let self = self else { throw AppError.internalError(description: "SpeechToTextManager instance deallocated during recording setup.") } try await self.audioProcessor.configureAudioEngine() let (recognizer, request) = try await MainActor.run { () -> (SFSpeechRecognizer, SFSpeechAudioBufferRecognitionRequest) in guard let result = self.createRecognitionRequest() else { throw AppError.configurationError(description: "Speech recognition not available or SFSpeechRecognizer initialization failed.") } return result } await MainActor.run { self.recognitionRequest = request } await MainActor.run { self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in guard let self = self else { return } if let error = error { // WE ENTER INTO THIS BLOCK, ALWAYS self.logger.error("Recognition task error: \(error.localizedDescription)") self.processingError = .speechRecognitionError(description: error.localizedDescription) return } . . . } } . . . }.value } catch { . . . } } @MainActor func stopRecording() { logger.debug("SpeechToTextManager.stopRecording() called") guard isRecording else { logger.debug("Not recording, nothing to do") return } isRecording = false Task.detached { [weak self] in guard let self = self else { return } await self.audioProcessor.stopEngine() let finalBuffer = await self.audioProcessor.getAudioBuffer() await MainActor.run { self.recognitionRequest?.endAudio() self.recognitionTask?.cancel() } . . . } }
Replies
0
Boosts
0
Views
173
Activity
May ’25
Xcode 16.3 Pods Compilation Issue
I am on MacOs 15.4.1 which is being deployed with an old version of Ruby ruby 2.6.10 and bundler version 1.17.2. I ran pod install after generating the pods with these versions and during the application compilation there have been several issues reported against pods code.
Replies
0
Boosts
0
Views
115
Activity
May ’25
cloudkit server-to-server key confusion
Hi I am a new self taught developer who is atm working on the backend of my app. My app successfully collects location of users and stores it to cloudkits public database. I now want to write a python script and run it on a local server on my windows terminal which fetches users who are in a certain proximity to each other so i can trigger a flow on the app. Can someone first of all tell me if this is even possible the way im attempting it. Also atm all i am doing is generating a server to server key which makes me generate a public and private key and i use the private key file eckey.pem plus key id plus container plus team ID to query the required data. but when i run it i get a 401 error (no authorization). I am so stumped as there arent many resources available to help direct me to the right path. Can someone please offer some help/insight/confidence. thanks alot
Replies
0
Boosts
0
Views
245
Activity
May ’25
Privacy - Siri Usage Description being reset to default text "Describe why your app needs Siri access" on generating archive
I have an iOS app and that has CarPlay enabled. I have Siri capability and the feature has been tested in Car. The voice commands are working perfectly fine. However, I am facing a weird issue as described below, The key NSSiriUsageDescription, is set to custom text in info.plist. After generating archive, I exported and checked the package contents, in which the the key NSSiriUsageDescription was reset to default text(Describe why your app needs Siri access) in the info.plist. I do not have any dynamic build process that's writing to the info.plist. Only the Siri key is being reset, rest of keys like camera/location permissions are intact. Kindly suggest what needs to be done at my end
Replies
0
Boosts
0
Views
367
Activity
May ’25
CoreML memory allocation logic
hello, I got a question about coreml. I loaded the coreml model in the project and set the computing unit to CPU+GPU. When I used instruments to analyze the performance, I found that there was an overhead of prepare gpu request before each inference. I also checked the freezing point graph and found that memory was frequently allocated. Is this as expected? Is there any way to avoid frequent prepares? I have tried some methods, such as memory sharing of predict interface input parameters, but it seems to be ineffective.
Replies
0
Boosts
0
Views
163
Activity
May ’25
Canvas keeps resizing to 50/50 width in Xcode
Hello, Xcode seems to reset the canvas preview every time I open a file that does not have a preview. This is extremely annoying when working with two editor tabs. The resize happened before only after restarting Xcode since a few weeks it happens always when opening another file. The preview phone does not even take advantage of the resize. Is there a way to fix this? When I work with the file: After opening a file without preview and going back:
Replies
1
Boosts
0
Views
155
Activity
May ’25