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

Activity

DeviceActivityMonitor Extension methods not being triggered
I did a lot of researches, but cannot understand why methods inside DeviceActivityMonitor extension are not calling. What I've seen related to this question and already checked: Do you starting monitoring for schedules? Yes, I do by calling center.startMonitoring() as it has been explained on WWDC2021-10123. I was searching an issue while creating the extension. Walk through steps that are described here. Everything looks good for me. Did you add Family Control Capability to extension's target? Yes, I did. Is your device authorized with FamilyControls? Yes. The only doubt I have here that I'm authorising FamilyControls for .individual . But as I've asked previously, it shouldn’t be a reason. Task {       do {         guard #available(iOS 16.0, *) else {           // Fallback on earlier versions           return         }                   try await AuthorizationCenter.shared.requestAuthorization(for: .individual)                   switch AuthorizationCenter.shared.authorizationStatus {         case .notDetermined:           print("not determined")         case .denied:           print("denied")         case .approved:           print("approved")         @unknown default:           break         }                 } catch {         print("Error for Family Controls: (error)", error.localizedDescription)       }     } -- So, what could I have missed? Also, should I see bundles of app and extension in Xcode -> Debug -> Attach to Process -> ... or I have to add them to see logs in Console app?
10
1
2.6k
Apr ’23
occurred invalid_grant when using authorization code
"Sign in with Apple" implemented about a month ago worked well, but suddenly the following error began to occur on the 27th.No changes have been made so far.I tested it like this,1. i got authorization code using Service IDService ID is set correctly :Presumably the Services IDs/App IDs all need to be associated with the same primary App ID. The key is then associated to that group via the primary App ID too.i tried authorization code with Service ID using chrome browser :https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id={corrected service id}&redirect_uri={registered redirect uri}&state=test_0001&scope=emailsuccessfully got the code.and requested api immately(The code is single use only and valid for five minutes)2. and then, i tried validate the authorization grant code to obtain tokenscurl -X "POST" "https://appleid.apple.com/auth/token?client_id={corrected service id}&client_secret={corrected client_secret}&code={corrected code}&grant_type=authorization_code"3. response is fails with an invalid_grant error, 400 status, invalid_granti tried get authorization code and validate the authorization grant code both using same service idis not invalid_client error, and client secret is not expired too.My decoded token looks like the following :"iss": "XFY******","iat": 1584347794,"exp": 1599899794,"aud": "https://appleid.apple.com","sub": "{service_id}"same test was working well for nearly two months. However, it is currently failing.I am having a hard time to solve this problemHas anyone experienced the same problem at about the same time?
10
1
7.5k
Jun ’22
[macOS Sonoma 14.4b 23E5196e] screencapture fails to capture video.
FeedbackID: FB13636921 I'm using /usr/sbin/screencapture -v -x -C -k -R 0,0,500,500 /path/to/a/movfile/in/a/folder/in/my/apps/sandbox/Group/Container in my app to allow users to capture screenshots and recordings. Screenshots keep working fine on macOS Sonoma 14.4b23E5196e, but video recordings no longer work. I'm guessing the following log output has something to do with it: default 15:01:53.151819+0100 screencapture sampleBuffer: start recording time: 3123.604833 target: 3123.474266, overshot: 0.130568 error 15:01:53.185179+0100 screencapture <private>:246:<private> Not writable url (null).!folderIsWritable == true error 15:01:53.185236+0100 screencapture <private>:50:<private> We could not create a byte stream! error 15:01:53.185252+0100 screencapture <private>:87:<private> NULL byte stream. error 15:01:53.185298+0100 screencapture <private>:3479:<private> ### Err -45, error 15:01:53.185312+0100 screencapture <private>:3814:<private> ### Err -45, error 15:01:53.185334+0100 screencapture <<<< AVCaptureMovieFileOutput >>>> Fig assert: "status == 0 " at (AVCaptureMovieFileOutput.m:2522) - CMIOFileWritingControlTokenStartWriting (err=-45) error 15:01:53.185374+0100 screencapture <private>:1885:<private> ### Err -67452, error 15:01:53.185388+0100 screencapture <private>:303:<private> FigMovieFormatFileWriter::PostProcessMovie: WriteMovie() errored!!! -67452 error 15:01:53.185476+0100 screencapture <private>:4687:<private> consolidate movie fragments err : -17913 default 15:01:53.185610+0100 screencapture <<<< AVError >>>> AVLocalizedErrorWithUnderlyingOSStatus: Returning error (AVFoundationErrorDomain / -11800) status (-45) default 15:01:53.186201+0100 screencapture didFinishRecording: No trim finish. duration: 0.000000s size: 0, error: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={AVErrorRecordingSuccessfullyFinishedKey=false, NSLocalizedDescription=The operation could not be completed, NSLocalizedFailureReason=An unknown error occurred (-45), NSURL=file:///Users/eternalstorms/Library/Group%20Containers/group.com.apple.screencapture/ScreenRecordings/3ED15EE7-A814-47A7-A398-29D5A6AD03C1.mov, NSUnderlyingError=0x6000031d80c0 {Error Domain=NSOSStatusErrorDomain Code=-45 "fLckdErr: file is locked"}} error 15:01:53.186290+0100 screencapture recording failed. The operation could not be completed Are there new entitlements we need for this in our apps starting with macOS Sonoma 14.4? Or is it a bug? Calling it directly from Terminal works. Thank you, Matthias
10
0
2.5k
Jul ’24
nsurlsessiond disconnects on queuing several upload tasks
Good Morning, wondering if i can get some help regarding nsurlsession behaviour on the case mentioned in the title. I'm trying to enqueue several upload tasks to a background session created from configuration: discretionary=false sessionSendsLaunchEvents=true waitsForConnectivity = true The app delegate is handling the finish of all tasks with handleEventsForBackgroundUrl The session delegate is implemented with: didCompleteWithError didSendBodyData DidFinishEventsForBackgroundSession The NSURLSessionUploadTask tasks are being enqueued to the background session with task.resume(). Each NSURLSessionUploadTask is attached with a NSURLRequest with a body content populated from a file (in device memory - app documents folder). Each file is around 20-odd Mb. This all works fine if i do a couple of tasks. When i want to attach dozens of tasks to the background session nsurlsession connection gets invalidated and terminated (we ultimately want up to hundreds... but i do understand nsurlsession should cope with up to thousands). Error (639) (CFNetwork): BackgroundSession connection to background transfer daemon interrupted Error (639) (CFNetwork): BackgroundSession connection to background transfer daemon invalidated The daemon does restart but the upload tasks will then all fail with: Error Domain=NSURLErrorDomain Code=-997 "Lost connection to background transfer service" The nsurlsessiond daemon does not warn of any crash or warning that is about to crash but then again i can't be sure given that the log probably only makes sense to the team responsible for nsurlsession dev. An example timeframe log of nsurlsessiond around a connection invalidated/terminated is attached. nsurlsessiond log FYI and completion i've tested in different xcode versions (12.3,12.5) and different iOS versions. Is there any limitations on size of tasks when enqueuing to background session N (dozens) number of tasks ? Am i missing any major handling of nsurlsession/configuration parameter? Happy to provide more info if necessary. Best Regards
10
1
3.6k
Feb ’23
App Intent title and other localized strings not showing correctly in Shortcuts app on macOS 15
I rarely use the Shortcuts app, so it took me a while to notice that my app's app intents all show incorrectly on macOS 15. On macOS 14 and 13, they used to show correctly, but now it seems that all localized strings show the key rather than the localized value. @available(iOS 16.0, macOS 13.0, *) struct MyAppIntent: AppIntent { static let title = LocalizedStringResource("key1", comment: "") static let description = IntentDescription(LocalizedStringResource("key2", comment: "")) ... } In Localizable.xcstrings file I have defined all the strings, for instance I have associated key1 with the value Title, but while the Shortcuts app used to display Title, it now displays key1. Is this a known issue or did something change in macOS 15 that would require me to update something?
10
0
1.7k
Feb ’25
Intermittent 404 Not Found responses
For some reason this morning (5 December 2023, ~10:30am UTC) I have been experiencing intermittent WeatherKit API failures with a 404 Not Found status. There is nothing wrong with the request itself: trying a minute or two later with the exact same request parameters and token returns a successful response. I can see that it's not a transport issue between me and Apple, as the response I am getting is coming from the Apple servers: <html> <head> <title>404 Not Found</title> </head> <body> <center><h1>404 Not Found</h1></center> <hr> <center>Apple</center> </body> </html> ...and the responding server is AppleHttpServer. Has anyone else seen this? Is it a regular occurrence, or are they just having a bad day?
10
3
2.1k
Jan ’24
DeviceActivityMonitor is overcounting screen time for users on iOS 17.6.1
Our app uses a 24-hour DeviceActivityMonitor repeating schedule to send users notifications for every hour of screen time they spend on their phone per day. Notifications are sent from eventDidReachThreshold callbacks at 1, 2, 3, etc, hour thresholds to keep them aware of their screen time. We have recently received an influx of emails from our users that after updating to iOS 17.6.1 their DeviceActivityMonitor notifications are saying their screen time was much higher than what is shown in DeviceActivityReport and their device's Screen Time settings. These users have disabled "Share Across Devices" - but I suspect the DeviceActivityMonitor is still getting screen time from their other devices even though that setting is turned off. Has anybody else noticed this, understands what is causing this, or could recommend a fix that we can tell our users to do?
10
10
2.9k
Oct ’25
Universal Links Stops Working Randomly
Universal links stops working randomly, When i tried this curl API test i found strange result Case 1: When the curl test return association JSON response it works fine Case 2: Sometimes the curl test fails and association JSON response is not returned for the same log is below: (Actual domain is replaced by mydomain.com) Https enabled No redirections Association added in .well-known folder Works randomly without any change in sever IP added as exception in blacklist Applebot added as: User-agent: Applebot Allow: /.well-known/ Curl API Test Response: Using Terminal: curl -v https://app-site-association.cdn-apple.com/a/v1/mydomain.com *  Trying 8.241.155.124:443... * Connected to app-site-association.cdn-apple.com (8.241.155.124) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (OUT), TLS handshake, Client hello (1): * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 * ALPN, server accepted to use http/1.1 * Server certificate: * subject: CN=app-site-association.cdn-apple.com; OU=management:idms.group.5707244; O=Apple Inc.; ST=California; C=US * start date: Sep 1 20:44:29 2021 GMT * expire date: Oct 1 20:44:28 2022 GMT * subjectAltName: host "app-site-association.cdn-apple.com" matched cert's "app-site-association.cdn-apple.com" * issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US * SSL certificate verify ok. > GET /a/v1/mydomain.com HTTP/1.1 > Host: app-site-association.cdn-apple.com > User-Agent: curl/7.79.1 > Accept: */* >  * Mark bundle as not supporting multiuse < HTTP/1.1 404 Not Found < Date: Tue, 28 Jun 2022 06:51:03 GMT < Content-Type: text/plain; charset=utf-8 < Content-Length: 10 < Connection: keep-alive < Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"} < Apple-Failure-Reason: SWCERR00301 Timeout < Apple-From: https://mydomain.com/.well-known/apple-app-site-association < Apple-Try-Direct: true < Cache-Control: public, max-age=1800 < Expires: Tue, 28 Jun 2022 06:51:23 GMT < X-Cache: MISS < CDNUUID: 2478cf3a-1d35-4870-ae61-0ad342ef8adf-1481196180 < CDN-Server: lumn < Age: 1238 <  Not Found * Connection #0 to host app-site-association.cdn-apple.com left intact Please support, Urgent Help Required.
10
1
2.3k
Sep ’23
Live Caller ID Lookup Extension - No option in phone settings
iOS 18 (22A3354) will not offer a option in settings (> Apps > Phone) after calling openSettings to enable live caller id lookup extension. iPhone and MacBook are in the same network. The PIRService runs on MacBook and is reachable via iPhone Safari (via http://MacBookPro:8080/). Hummingbird print log: hb_method=GET hb_uri=/ [Hummingbird] Request. After deploying the application via Xcode to the iPhone no requests are printed in the terminal. The extension was added like documented and bundle id is also checked multiple times. issuerRequestUri in service-config.json is http://MacBookPro:8080/issue. As far as I can tell, everything has been set up in accordance with the Testing Live Caller ID instructions. Is there something missing?
10
0
2.5k
Aug ’26
DeviceActivityReportExtension: NSExtensionPrincipalClass required by App Store but rejected at runtime
I'm experiencing a contradictory validation issue with DeviceActivityReportExtension that creates an impossible situation: The Problem: Without NSExtensionPrincipalClass in Info.plist → App Store Connect rejects upload with: "Missing Info.plist values. No values for NSExtensionMainStoryboard or NSExtensionPrincipalClass found" With NSExtensionPrincipalClass → Local install fails with: "defines either an NSExtensionMainStoryboard or NSExtensionPrincipalClass key, which is not allowed for the extension point com.apple.deviceactivityui.report-extension" Setup: Extension point: com.apple.deviceactivityui.report-extension Using SwiftUI with @main attribute and DeviceActivityReportExtension protocol Xcode 16.2, iOS 17.6 deployment target Code structure: @main struct SpoolReport: DeviceActivityReportExtension { var body: some DeviceActivityReportScene { // Report scenes here } } The extension builds and runs perfectly without NSExtensionPrincipalClass, but cannot be uploaded to App Store Connect. Adding the key allows upload but breaks local installation. Is this a known issue? Is there a workaround or correct Info.plist configuration for DeviceActivityReportExtension? Thank you!
10
2
814
Mar ’26
Dismissing animation of the "Sign in with apple" modal view is broken on iOS 15.1
When closing the "Sign in with apple" modal view on a real device on iOS15.1, the modal view jumps to the center of the screen then animate to the bottom and disappears. But the dismissal animation is correct on the simulator. I tested other apps with "Sign in with apple", they have the same issue. How can I fix the animation? import SwiftUI import AuthenticationServices struct ContentView: View { var body: some View { VStack { SignInWithAppleButton(.signIn, onRequest: signInWithAppleOnRequest, onCompletion: signInWithAppleOnComplete ) } .ignoresSafeArea(.all) } // MARK: Sign in with Apple on request func signInWithAppleOnRequest(request: ASAuthorizationAppleIDRequest) { request.requestedScopes = [.fullName, .email] } // MARK: Sign in with Apple on complete func signInWithAppleOnComplete(result: Result<ASAuthorization, Error>) { } }
10
0
2.9k
Apr ’22
Running app built in Xcode 14 on iOS 15 results in missing WidgetKit symbol crash
So this is an odd one. I just pushed a build from Xcode 14 for testing and installing that build on iOS 15 causes the app's home screen widgets to disappear. My app is no longer listed when I go to add a widget. If I run it on iOS 16 everything works fine. If I run it from Xcode 14 to a simulator running iOS 15 everything is fine. What is happening is on a true iOS 15 device it is failing to find a symbol in the WidgetKit framework. Here is the output: Symbol not found: _$s9WidgetKit22IntentTimelineProviderPAAE15recommendationsSayAA0C14RecommendationVy0C0QzGGyF Referenced from: /private/var/containers/Bundle/Application/8B7C4700-E1FD-4174-BD13-B51FBA121B3D/WeatherViewer.app/PlugIns/WeatherWidgetExtension.appex/WeatherWidgetExtension Expected in: /System/Library/Frameworks/WidgetKit.framework/WidgetKit From what I understand the new "recommendation" method is not needed on iOS and is meant for WatchOS. I have this new method implemented and it's only @available(iOSApplicationExtension 16.0, *) so not sure why it's being called. Even if I remove it completely and try a new build it still has the WidgetKit crash. Any help would be appreciated. I would love to get this back working and not have to rollback and ditch my iOS 16 additions.
10
7
3k
Jul ’22
Reverting from an Independent Watch app, to one that is dependent on an iPhone app
So we checked the: "Supports running without ios app installation", and it updated our app on the app store. Now we are seeing a lot of instances where our users have one version of the Watch app, and another of the iOS companion app. We have also been collecting a myriad of random crashes, and we can't help but wonder if it's due to these apps being out of sync. We'd like to roll back and test this theory by making the watch app and the iPhone apps dependent on each other again. However, after opting on Apple Connect to "Remove from sale", and then "Remove app", we cannot push a new version with the change. I get the following error:ERROR ITMS-90768: "Invalid Bundle. The watch app '[app]' watch extension must have 'WKWatchOnly' or 'WKRunsIndependentlyOfCompanionApp' Info.plist keys set to 'true', since a version of this app that supports standalone watchOS devices is currently available on the App Store"Does anyone know a way we can get back to having these apps dependent? Thanks.
9
1
4.7k
Jul ’22
[macOS] CoreSpotlight importer using CSImportExtension failing to index
I've been trying to add a CoreSpotlight indexer to my macOS application. The new template for the indexer uses the new appex CSImportExtension style importer. I've been following this -> https://developer.apple.com/documentation/corespotlight/csimportextension I changed the CSSupportedContentTypes in the Info.plist file to the correct file type uti. I added a dummy value into the attributes (see code below) - just setting contentDescription to 'noodle' (easy to search for) class ImportExtension: CSImportExtension {   override func update(_ attributes: CSSearchableItemAttributeSet, forFileAt: URL) throws {     // Add a dummy value, and see whether spotlight finds it     attributes.contentDescription = "noodle" } } I have a number of files on disk that match the uti (and can be found when I search by the file name) Yet, when I build and run my app, the a spotlight search for 'noodle' finds no results. Can anyone give me any advice? I cannot find any indication that the ImportExtension is called (although when I put a log message at the start of the update() call there's no message in the console which seems to suggest it's not being called). Is there any way of debugging this? Cheers and thanks -- Darren.
9
0
3.2k
Oct ’25
Problem decoding AttributedString containing emoji
I am trying to encode an AttributedString to JSON and then decode it back to an AttributedString. But when the AttributedString both (1) contains emoji, and (2) has any attributes assigned, the decoding seems to fail, producing a truncated AttributedString. By dump-ing the decoded value, I can see that the full string is still in there (in the guts property) but it is missing in normal uses of the AttributedString. Below is an example that reproduces the problem. import Foundation // An arbitrary AttributedString with emoji var attrString = AttributedString("12345💕☺️💕☺️💕☺️12345") // Set an attribute (doesn't seem to matter which one) attrString.imageURL = URL(string: "http://www.dummy.com/dummy.jpg")! // Encode the AttributedString var encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted let data = try! encoder.encode(attrString) // Print the encoded JSON print("encoded JSON for AttributedString:") print(String(data: data, encoding: .utf8)!) // Output from above omitted, but it looks correct with the full string represented // Decode the AttributedString and print it let decoder = JSONDecoder() let decodedAttrString = try! decoder.decode(AttributedString.self, from: data) print("decoded AttributedString:") print(decodedAttrString) // Output from above is a truncated AttributedString: // // 12345💕☺️ { // NSImageURL = http://www.dummy.com/dummy.jpg // } print("dump of AttributedString:") dump(decodedAttrString) // Interestingly, `dump` shows that the full string is still in there: // // ▿ 12345💕☺️ { // NSImageURL = http://www.dummy.com/dummy.jpg // } // ▿ _guts: Foundation.AttributedString.Guts #0 // - string: "12345💕☺️💕☺️💕☺️12345" // ▿ runs: 1 element // ... //
9
0
2.3k
Jun ’24
Hourly precipitation amounts seem drastically low
Hello. I took a closer look at the data I'm getting back for hourly forecasts and I'm baffled by results I'm seeing. For example, it's Dec 19, 2022 8:00am PT and I'm asking for the weather for Orchard Park NY (lat 42.766437 long -78.743855) for Dec 23, 2022. The daily forecast tells me they're expected to have 5.9" of snow. However, the hourly forecast with the most snow that day is reported as 0.071" (1.8mm). The Apple Weather app on iOS shows that hour as having 0.6". I wrote a 'for' loop to print the results of my call to WeatherService.shared.weather.         print(oneHour.precipitationAmount.formatted())         print(oneHour.precipitationAmount.description)         print(oneHour.precipitationAmount.unit)         print(oneHour.precipitationAmount.value) 0.071 in 1.8 mm <_NSStatic_NSUnitLength: 0x2010b0178> mm 1.8
9
0
2.8k
Jan ’25
Call Blocking and Identification Not Working in iOS 18 Beta
We are experiencing an issue with the Call Blocking and Identification feature in iOS 18 Beta. This feature was functioning correctly in iOS 17, but after updating to the iOS 18 Beta, it no longer works as expected looks like iOS is blocking the number because we are getting notification but still we are getting the direct calls. We have attached the Kindly waiting for you replay. Thanks.
9
0
3.7k
Sep ’24
Crash and unrecognized mp4, jpeg filetypes on iOS 15.4 simulator devices running on M1 Mac?
I stumbled upon a really peculiar issue while running my application that features both a functionality to create image and video attachments from the user's photos and videos using the PHPicker* API and previewing said attachments using the QuickLook API: Whenever I tap to open a photo (e.g. a JPEG) or a video (e.g. a MP4) using the QuickLook API, on an iPhone 13 15.4 simulator device on Xcode 13.3 on a M1 Macbook Pro host machine, I get a crash with the following call stack: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[2]' terminating with uncaught exception of type NSException *** First throw call stack: ( 0 CoreFoundation 0x000000011003bd44 __exceptionPreprocess + 242 1 libobjc.A.dylib 0x000000010cd1ea65 objc_exception_throw + 48 2 CoreFoundation 0x00000001100bcf47 _CFThrowFormattedException + 200 3 CoreFoundation 0x00000001100c7417 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:].cold.5 + 0 4 CoreFoundation 0x00000001100aa827 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 243 5 CoreFoundation 0x000000011003a998 +[NSDictionary dictionaryWithObjects:forKeys:count:] + 49 6 QuickLook 0x0000000110f37636 __49+[QLItem(PreviewInfo) contentTypesToPreviewTypes]_block_invoke + 484 7 libdispatch.dylib 0x000000011b0f5a5b _dispatch_client_callout + 8 8 libdispatch.dylib 0x000000011b0f6f24 _dispatch_once_callout + 66 9 QuickLook 0x0000000110f37450 +[QLItem(PreviewInfo) contentTypesToPreviewTypes] + 46 10 QuickLook 0x0000000110f37d91 -[QLItem(PreviewInfo) _uncachedPreviewItemTypeForContentType:] + 117 11 QuickLook 0x0000000110f382fe -[QLItem(PreviewInfo) _previewItemTypeForType:] + 150 12 QuickLook 0x0000000110f38104 -[QLItem(PreviewInfo) _getPreviewItemType] + 61 13 QuickLook 0x0000000110fbf4d2 -[QLItem previewItemType] + 59 14 QuickLook 0x0000000110f6ed15 +[QLItemFetcherFactory fetcherForPreviewItem:] + 90 15 QuickLook 0x0000000110fbeb9b -[QLItem fetcher] + 44 16 QuickLook 0x0000000110f22880 -[QLPreviewController previewItemAtIndex:withCompletionHandler:] + 153 17 QuickLook 0x0000000110f587a8 __63-[QLPreviewItemStore previewItemAtIndex:withCompletionHandler:]_block_invoke + 262 18 QuickLook 0x0000000110f8c621 QLRunInMainThread + 51 19 QuickLook 0x0000000110f58673 -[QLPreviewItemStore previewItemAtIndex:withCompletionHandler:] + 181 20 QuickLook 0x0000000110f1c89f -[QLPreviewController internalCurrentPreviewItem] + 222 21 QuickLook 0x0000000110f9c140 -[QLPreviewController(Overlay) _actionButton] + 344 22 QuickLook 0x0000000110f9c81c -[QLPreviewController(Overlay) _toolBarButtonsWithTraitCollection:] + 1147 23 QuickLook 0x0000000110f9a2ff -[QLPreviewController(Overlay) _updateOverlayButtonsIfNeededWithTraitCollection:animated:updatedToolbarButtons:] + 129 24 QuickLook 0x0000000110f999a2 -[QLPreviewController(Overlay) updateOverlayAnimated:animatedButtons:forceRefresh:withTraitCollection:] + 152 25 QuickLook 0x0000000110f1c707 -[QLPreviewController _setCurrentPreviewItemIndex:updatePreview:animated:] + 230 26 QuickLook 0x0000000110f22416 -[QLPreviewController reloadData] + 418 27 <MYAPP> 0x0000000102a03293 __53-[MyPreviewController downloadAttachment]_block_invoke_2 + 611 28 libdispatch.dylib 0x000000011b0f4816 _dispatch_call_block_and_release + 12 29 libdispatch.dylib 0x000000011b0f5a5b _dispatch_client_callout + 8 30 libdispatch.dylib 0x000000011b104325 _dispatch_main_queue_drain + 1169 31 libdispatch.dylib 0x000000011b103e86 _dispatch_main_queue_callback_4CF + 31 32 CoreFoundation 0x000000010ffa8261 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 33 CoreFoundation 0x000000010ffa2a56 __CFRunLoopRun + 2761 34 CoreFoundation 0x000000010ffa1a90 CFRunLoopRunSpecific + 562 35 GraphicsServices 0x00000001209c8c8e GSEventRunModal + 139 36 UIKitCore 0x000000013499c90e -[UIApplication _run] + 928 37 UIKitCore 0x00000001349a1569 UIApplicationMain + 101 38 <MYAPP> 0x0000000102970669 main + 233 39 dyld 0x000000010c6c4f21 start_sim + 10 40 ??? 0x00000002041ad51e 0x0 + 8658801950 41 ??? 0x0000000000000003 0x0 + 3 I tried also selecting a photo or a video using the PHPicker* APIs, and although I get back the file, if I try to query the UTType from the file extension using the [UTType typeWithFilenameExtension:] method, I get back a nil result if the extension passed is either a "jpeg" or a "mp4". The above do not happen if I run the same simulator (iPhone 13 15.4 / Xcode 13.3) on an Intel Macbook Pro host machine, or on a real device. Any ideas?
9
0
4.6k
Jun ’22
DeviceActivityMonitor Extension methods not being triggered
I did a lot of researches, but cannot understand why methods inside DeviceActivityMonitor extension are not calling. What I've seen related to this question and already checked: Do you starting monitoring for schedules? Yes, I do by calling center.startMonitoring() as it has been explained on WWDC2021-10123. I was searching an issue while creating the extension. Walk through steps that are described here. Everything looks good for me. Did you add Family Control Capability to extension's target? Yes, I did. Is your device authorized with FamilyControls? Yes. The only doubt I have here that I'm authorising FamilyControls for .individual . But as I've asked previously, it shouldn’t be a reason. Task {       do {         guard #available(iOS 16.0, *) else {           // Fallback on earlier versions           return         }                   try await AuthorizationCenter.shared.requestAuthorization(for: .individual)                   switch AuthorizationCenter.shared.authorizationStatus {         case .notDetermined:           print("not determined")         case .denied:           print("denied")         case .approved:           print("approved")         @unknown default:           break         }                 } catch {         print("Error for Family Controls: (error)", error.localizedDescription)       }     } -- So, what could I have missed? Also, should I see bundles of app and extension in Xcode -> Debug -> Attach to Process -> ... or I have to add them to see logs in Console app?
Replies
10
Boosts
1
Views
2.6k
Activity
Apr ’23
occurred invalid_grant when using authorization code
"Sign in with Apple" implemented about a month ago worked well, but suddenly the following error began to occur on the 27th.No changes have been made so far.I tested it like this,1. i got authorization code using Service IDService ID is set correctly :Presumably the Services IDs/App IDs all need to be associated with the same primary App ID. The key is then associated to that group via the primary App ID too.i tried authorization code with Service ID using chrome browser :https://appleid.apple.com/auth/authorize?response_type=code&amp;response_mode=form_post&amp;client_id={corrected service id}&amp;redirect_uri={registered redirect uri}&amp;state=test_0001&amp;scope=emailsuccessfully got the code.and requested api immately(The code is single use only and valid for five minutes)2. and then, i tried validate the authorization grant code to obtain tokenscurl -X "POST" "https://appleid.apple.com/auth/token?client_id={corrected service id}&amp;client_secret={corrected client_secret}&amp;code={corrected code}&amp;grant_type=authorization_code"3. response is fails with an invalid_grant error, 400 status, invalid_granti tried get authorization code and validate the authorization grant code both using same service idis not invalid_client error, and client secret is not expired too.My decoded token looks like the following :"iss": "XFY******","iat": 1584347794,"exp": 1599899794,"aud": "https://appleid.apple.com","sub": "{service_id}"same test was working well for nearly two months. However, it is currently failing.I am having a hard time to solve this problemHas anyone experienced the same problem at about the same time?
Replies
10
Boosts
1
Views
7.5k
Activity
Jun ’22
[macOS Sonoma 14.4b 23E5196e] screencapture fails to capture video.
FeedbackID: FB13636921 I'm using /usr/sbin/screencapture -v -x -C -k -R 0,0,500,500 /path/to/a/movfile/in/a/folder/in/my/apps/sandbox/Group/Container in my app to allow users to capture screenshots and recordings. Screenshots keep working fine on macOS Sonoma 14.4b23E5196e, but video recordings no longer work. I'm guessing the following log output has something to do with it: default 15:01:53.151819+0100 screencapture sampleBuffer: start recording time: 3123.604833 target: 3123.474266, overshot: 0.130568 error 15:01:53.185179+0100 screencapture <private>:246:<private> Not writable url (null).!folderIsWritable == true error 15:01:53.185236+0100 screencapture <private>:50:<private> We could not create a byte stream! error 15:01:53.185252+0100 screencapture <private>:87:<private> NULL byte stream. error 15:01:53.185298+0100 screencapture <private>:3479:<private> ### Err -45, error 15:01:53.185312+0100 screencapture <private>:3814:<private> ### Err -45, error 15:01:53.185334+0100 screencapture <<<< AVCaptureMovieFileOutput >>>> Fig assert: "status == 0 " at (AVCaptureMovieFileOutput.m:2522) - CMIOFileWritingControlTokenStartWriting (err=-45) error 15:01:53.185374+0100 screencapture <private>:1885:<private> ### Err -67452, error 15:01:53.185388+0100 screencapture <private>:303:<private> FigMovieFormatFileWriter::PostProcessMovie: WriteMovie() errored!!! -67452 error 15:01:53.185476+0100 screencapture <private>:4687:<private> consolidate movie fragments err : -17913 default 15:01:53.185610+0100 screencapture <<<< AVError >>>> AVLocalizedErrorWithUnderlyingOSStatus: Returning error (AVFoundationErrorDomain / -11800) status (-45) default 15:01:53.186201+0100 screencapture didFinishRecording: No trim finish. duration: 0.000000s size: 0, error: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={AVErrorRecordingSuccessfullyFinishedKey=false, NSLocalizedDescription=The operation could not be completed, NSLocalizedFailureReason=An unknown error occurred (-45), NSURL=file:///Users/eternalstorms/Library/Group%20Containers/group.com.apple.screencapture/ScreenRecordings/3ED15EE7-A814-47A7-A398-29D5A6AD03C1.mov, NSUnderlyingError=0x6000031d80c0 {Error Domain=NSOSStatusErrorDomain Code=-45 "fLckdErr: file is locked"}} error 15:01:53.186290+0100 screencapture recording failed. The operation could not be completed Are there new entitlements we need for this in our apps starting with macOS Sonoma 14.4? Or is it a bug? Calling it directly from Terminal works. Thank you, Matthias
Replies
10
Boosts
0
Views
2.5k
Activity
Jul ’24
nsurlsessiond disconnects on queuing several upload tasks
Good Morning, wondering if i can get some help regarding nsurlsession behaviour on the case mentioned in the title. I'm trying to enqueue several upload tasks to a background session created from configuration: discretionary=false sessionSendsLaunchEvents=true waitsForConnectivity = true The app delegate is handling the finish of all tasks with handleEventsForBackgroundUrl The session delegate is implemented with: didCompleteWithError didSendBodyData DidFinishEventsForBackgroundSession The NSURLSessionUploadTask tasks are being enqueued to the background session with task.resume(). Each NSURLSessionUploadTask is attached with a NSURLRequest with a body content populated from a file (in device memory - app documents folder). Each file is around 20-odd Mb. This all works fine if i do a couple of tasks. When i want to attach dozens of tasks to the background session nsurlsession connection gets invalidated and terminated (we ultimately want up to hundreds... but i do understand nsurlsession should cope with up to thousands). Error (639) (CFNetwork): BackgroundSession connection to background transfer daemon interrupted Error (639) (CFNetwork): BackgroundSession connection to background transfer daemon invalidated The daemon does restart but the upload tasks will then all fail with: Error Domain=NSURLErrorDomain Code=-997 "Lost connection to background transfer service" The nsurlsessiond daemon does not warn of any crash or warning that is about to crash but then again i can't be sure given that the log probably only makes sense to the team responsible for nsurlsession dev. An example timeframe log of nsurlsessiond around a connection invalidated/terminated is attached. nsurlsessiond log FYI and completion i've tested in different xcode versions (12.3,12.5) and different iOS versions. Is there any limitations on size of tasks when enqueuing to background session N (dozens) number of tasks ? Am i missing any major handling of nsurlsession/configuration parameter? Happy to provide more info if necessary. Best Regards
Replies
10
Boosts
1
Views
3.6k
Activity
Feb ’23
App Intent title and other localized strings not showing correctly in Shortcuts app on macOS 15
I rarely use the Shortcuts app, so it took me a while to notice that my app's app intents all show incorrectly on macOS 15. On macOS 14 and 13, they used to show correctly, but now it seems that all localized strings show the key rather than the localized value. @available(iOS 16.0, macOS 13.0, *) struct MyAppIntent: AppIntent { static let title = LocalizedStringResource("key1", comment: "") static let description = IntentDescription(LocalizedStringResource("key2", comment: "")) ... } In Localizable.xcstrings file I have defined all the strings, for instance I have associated key1 with the value Title, but while the Shortcuts app used to display Title, it now displays key1. Is this a known issue or did something change in macOS 15 that would require me to update something?
Replies
10
Boosts
0
Views
1.7k
Activity
Feb ’25
Intermittent 404 Not Found responses
For some reason this morning (5 December 2023, ~10:30am UTC) I have been experiencing intermittent WeatherKit API failures with a 404 Not Found status. There is nothing wrong with the request itself: trying a minute or two later with the exact same request parameters and token returns a successful response. I can see that it's not a transport issue between me and Apple, as the response I am getting is coming from the Apple servers: <html> <head> <title>404 Not Found</title> </head> <body> <center><h1>404 Not Found</h1></center> <hr> <center>Apple</center> </body> </html> ...and the responding server is AppleHttpServer. Has anyone else seen this? Is it a regular occurrence, or are they just having a bad day?
Replies
10
Boosts
3
Views
2.1k
Activity
Jan ’24
DeviceActivityMonitor is overcounting screen time for users on iOS 17.6.1
Our app uses a 24-hour DeviceActivityMonitor repeating schedule to send users notifications for every hour of screen time they spend on their phone per day. Notifications are sent from eventDidReachThreshold callbacks at 1, 2, 3, etc, hour thresholds to keep them aware of their screen time. We have recently received an influx of emails from our users that after updating to iOS 17.6.1 their DeviceActivityMonitor notifications are saying their screen time was much higher than what is shown in DeviceActivityReport and their device's Screen Time settings. These users have disabled "Share Across Devices" - but I suspect the DeviceActivityMonitor is still getting screen time from their other devices even though that setting is turned off. Has anybody else noticed this, understands what is causing this, or could recommend a fix that we can tell our users to do?
Replies
10
Boosts
10
Views
2.9k
Activity
Oct ’25
Universal Links Stops Working Randomly
Universal links stops working randomly, When i tried this curl API test i found strange result Case 1: When the curl test return association JSON response it works fine Case 2: Sometimes the curl test fails and association JSON response is not returned for the same log is below: (Actual domain is replaced by mydomain.com) Https enabled No redirections Association added in .well-known folder Works randomly without any change in sever IP added as exception in blacklist Applebot added as: User-agent: Applebot Allow: /.well-known/ Curl API Test Response: Using Terminal: curl -v https://app-site-association.cdn-apple.com/a/v1/mydomain.com *  Trying 8.241.155.124:443... * Connected to app-site-association.cdn-apple.com (8.241.155.124) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (OUT), TLS handshake, Client hello (1): * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 * ALPN, server accepted to use http/1.1 * Server certificate: * subject: CN=app-site-association.cdn-apple.com; OU=management:idms.group.5707244; O=Apple Inc.; ST=California; C=US * start date: Sep 1 20:44:29 2021 GMT * expire date: Oct 1 20:44:28 2022 GMT * subjectAltName: host "app-site-association.cdn-apple.com" matched cert's "app-site-association.cdn-apple.com" * issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US * SSL certificate verify ok. > GET /a/v1/mydomain.com HTTP/1.1 > Host: app-site-association.cdn-apple.com > User-Agent: curl/7.79.1 > Accept: */* >  * Mark bundle as not supporting multiuse < HTTP/1.1 404 Not Found < Date: Tue, 28 Jun 2022 06:51:03 GMT < Content-Type: text/plain; charset=utf-8 < Content-Length: 10 < Connection: keep-alive < Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"} < Apple-Failure-Reason: SWCERR00301 Timeout < Apple-From: https://mydomain.com/.well-known/apple-app-site-association < Apple-Try-Direct: true < Cache-Control: public, max-age=1800 < Expires: Tue, 28 Jun 2022 06:51:23 GMT < X-Cache: MISS < CDNUUID: 2478cf3a-1d35-4870-ae61-0ad342ef8adf-1481196180 < CDN-Server: lumn < Age: 1238 <  Not Found * Connection #0 to host app-site-association.cdn-apple.com left intact Please support, Urgent Help Required.
Replies
10
Boosts
1
Views
2.3k
Activity
Sep ’23
Live Caller ID Lookup Extension - No option in phone settings
iOS 18 (22A3354) will not offer a option in settings (> Apps > Phone) after calling openSettings to enable live caller id lookup extension. iPhone and MacBook are in the same network. The PIRService runs on MacBook and is reachable via iPhone Safari (via http://MacBookPro:8080/). Hummingbird print log: hb_method=GET hb_uri=/ [Hummingbird] Request. After deploying the application via Xcode to the iPhone no requests are printed in the terminal. The extension was added like documented and bundle id is also checked multiple times. issuerRequestUri in service-config.json is http://MacBookPro:8080/issue. As far as I can tell, everything has been set up in accordance with the Testing Live Caller ID instructions. Is there something missing?
Replies
10
Boosts
0
Views
2.5k
Activity
Aug ’26
DeviceActivityReportExtension: NSExtensionPrincipalClass required by App Store but rejected at runtime
I'm experiencing a contradictory validation issue with DeviceActivityReportExtension that creates an impossible situation: The Problem: Without NSExtensionPrincipalClass in Info.plist → App Store Connect rejects upload with: "Missing Info.plist values. No values for NSExtensionMainStoryboard or NSExtensionPrincipalClass found" With NSExtensionPrincipalClass → Local install fails with: "defines either an NSExtensionMainStoryboard or NSExtensionPrincipalClass key, which is not allowed for the extension point com.apple.deviceactivityui.report-extension" Setup: Extension point: com.apple.deviceactivityui.report-extension Using SwiftUI with @main attribute and DeviceActivityReportExtension protocol Xcode 16.2, iOS 17.6 deployment target Code structure: @main struct SpoolReport: DeviceActivityReportExtension { var body: some DeviceActivityReportScene { // Report scenes here } } The extension builds and runs perfectly without NSExtensionPrincipalClass, but cannot be uploaded to App Store Connect. Adding the key allows upload but breaks local installation. Is this a known issue? Is there a workaround or correct Info.plist configuration for DeviceActivityReportExtension? Thank you!
Replies
10
Boosts
2
Views
814
Activity
Mar ’26
Dismissing animation of the "Sign in with apple" modal view is broken on iOS 15.1
When closing the "Sign in with apple" modal view on a real device on iOS15.1, the modal view jumps to the center of the screen then animate to the bottom and disappears. But the dismissal animation is correct on the simulator. I tested other apps with "Sign in with apple", they have the same issue. How can I fix the animation? import SwiftUI import AuthenticationServices struct ContentView: View { var body: some View { VStack { SignInWithAppleButton(.signIn, onRequest: signInWithAppleOnRequest, onCompletion: signInWithAppleOnComplete ) } .ignoresSafeArea(.all) } // MARK: Sign in with Apple on request func signInWithAppleOnRequest(request: ASAuthorizationAppleIDRequest) { request.requestedScopes = [.fullName, .email] } // MARK: Sign in with Apple on complete func signInWithAppleOnComplete(result: Result<ASAuthorization, Error>) { } }
Replies
10
Boosts
0
Views
2.9k
Activity
Apr ’22
Running app built in Xcode 14 on iOS 15 results in missing WidgetKit symbol crash
So this is an odd one. I just pushed a build from Xcode 14 for testing and installing that build on iOS 15 causes the app's home screen widgets to disappear. My app is no longer listed when I go to add a widget. If I run it on iOS 16 everything works fine. If I run it from Xcode 14 to a simulator running iOS 15 everything is fine. What is happening is on a true iOS 15 device it is failing to find a symbol in the WidgetKit framework. Here is the output: Symbol not found: _$s9WidgetKit22IntentTimelineProviderPAAE15recommendationsSayAA0C14RecommendationVy0C0QzGGyF Referenced from: /private/var/containers/Bundle/Application/8B7C4700-E1FD-4174-BD13-B51FBA121B3D/WeatherViewer.app/PlugIns/WeatherWidgetExtension.appex/WeatherWidgetExtension Expected in: /System/Library/Frameworks/WidgetKit.framework/WidgetKit From what I understand the new "recommendation" method is not needed on iOS and is meant for WatchOS. I have this new method implemented and it's only @available(iOSApplicationExtension 16.0, *) so not sure why it's being called. Even if I remove it completely and try a new build it still has the WidgetKit crash. Any help would be appreciated. I would love to get this back working and not have to rollback and ditch my iOS 16 additions.
Replies
10
Boosts
7
Views
3k
Activity
Jul ’22
Reverting from an Independent Watch app, to one that is dependent on an iPhone app
So we checked the: "Supports running without ios app installation", and it updated our app on the app store. Now we are seeing a lot of instances where our users have one version of the Watch app, and another of the iOS companion app. We have also been collecting a myriad of random crashes, and we can't help but wonder if it's due to these apps being out of sync. We'd like to roll back and test this theory by making the watch app and the iPhone apps dependent on each other again. However, after opting on Apple Connect to "Remove from sale", and then "Remove app", we cannot push a new version with the change. I get the following error:ERROR ITMS-90768: "Invalid Bundle. The watch app '[app]' watch extension must have 'WKWatchOnly' or 'WKRunsIndependentlyOfCompanionApp' Info.plist keys set to 'true', since a version of this app that supports standalone watchOS devices is currently available on the App Store"Does anyone know a way we can get back to having these apps dependent? Thanks.
Replies
9
Boosts
1
Views
4.7k
Activity
Jul ’22
[macOS] CoreSpotlight importer using CSImportExtension failing to index
I've been trying to add a CoreSpotlight indexer to my macOS application. The new template for the indexer uses the new appex CSImportExtension style importer. I've been following this -> https://developer.apple.com/documentation/corespotlight/csimportextension I changed the CSSupportedContentTypes in the Info.plist file to the correct file type uti. I added a dummy value into the attributes (see code below) - just setting contentDescription to 'noodle' (easy to search for) class ImportExtension: CSImportExtension {   override func update(_ attributes: CSSearchableItemAttributeSet, forFileAt: URL) throws {     // Add a dummy value, and see whether spotlight finds it     attributes.contentDescription = "noodle" } } I have a number of files on disk that match the uti (and can be found when I search by the file name) Yet, when I build and run my app, the a spotlight search for 'noodle' finds no results. Can anyone give me any advice? I cannot find any indication that the ImportExtension is called (although when I put a log message at the start of the update() call there's no message in the console which seems to suggest it's not being called). Is there any way of debugging this? Cheers and thanks -- Darren.
Replies
9
Boosts
0
Views
3.2k
Activity
Oct ’25
Problem decoding AttributedString containing emoji
I am trying to encode an AttributedString to JSON and then decode it back to an AttributedString. But when the AttributedString both (1) contains emoji, and (2) has any attributes assigned, the decoding seems to fail, producing a truncated AttributedString. By dump-ing the decoded value, I can see that the full string is still in there (in the guts property) but it is missing in normal uses of the AttributedString. Below is an example that reproduces the problem. import Foundation // An arbitrary AttributedString with emoji var attrString = AttributedString("12345💕☺️💕☺️💕☺️12345") // Set an attribute (doesn't seem to matter which one) attrString.imageURL = URL(string: "http://www.dummy.com/dummy.jpg")! // Encode the AttributedString var encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted let data = try! encoder.encode(attrString) // Print the encoded JSON print("encoded JSON for AttributedString:") print(String(data: data, encoding: .utf8)!) // Output from above omitted, but it looks correct with the full string represented // Decode the AttributedString and print it let decoder = JSONDecoder() let decodedAttrString = try! decoder.decode(AttributedString.self, from: data) print("decoded AttributedString:") print(decodedAttrString) // Output from above is a truncated AttributedString: // // 12345💕☺️ { // NSImageURL = http://www.dummy.com/dummy.jpg // } print("dump of AttributedString:") dump(decodedAttrString) // Interestingly, `dump` shows that the full string is still in there: // // ▿ 12345💕☺️ { // NSImageURL = http://www.dummy.com/dummy.jpg // } // ▿ _guts: Foundation.AttributedString.Guts #0 // - string: "12345💕☺️💕☺️💕☺️12345" // ▿ runs: 1 element // ... //
Replies
9
Boosts
0
Views
2.3k
Activity
Jun ’24
Hourly precipitation amounts seem drastically low
Hello. I took a closer look at the data I'm getting back for hourly forecasts and I'm baffled by results I'm seeing. For example, it's Dec 19, 2022 8:00am PT and I'm asking for the weather for Orchard Park NY (lat 42.766437 long -78.743855) for Dec 23, 2022. The daily forecast tells me they're expected to have 5.9" of snow. However, the hourly forecast with the most snow that day is reported as 0.071" (1.8mm). The Apple Weather app on iOS shows that hour as having 0.6". I wrote a 'for' loop to print the results of my call to WeatherService.shared.weather.         print(oneHour.precipitationAmount.formatted())         print(oneHour.precipitationAmount.description)         print(oneHour.precipitationAmount.unit)         print(oneHour.precipitationAmount.value) 0.071 in 1.8 mm <_NSStatic_NSUnitLength: 0x2010b0178> mm 1.8
Replies
9
Boosts
0
Views
2.8k
Activity
Jan ’25
Call Blocking and Identification Not Working in iOS 18 Beta
We are experiencing an issue with the Call Blocking and Identification feature in iOS 18 Beta. This feature was functioning correctly in iOS 17, but after updating to the iOS 18 Beta, it no longer works as expected looks like iOS is blocking the number because we are getting notification but still we are getting the direct calls. We have attached the Kindly waiting for you replay. Thanks.
Replies
9
Boosts
0
Views
3.7k
Activity
Sep ’24
Universal link and wildcard
My OS version is iOS9I want to link for mask *.mydomain.com. I added the following items to the list of associated domains:applinks:*.mydomain.comapplinks:subdomain1.mydomain.comapplinks:subdomain1.mydomain.com - worksapplinks:subdomain2.mydomain.com - do not workWhy ?
Replies
14
Boosts
0
Views
20k
Activity
Oct ’22
Crash and unrecognized mp4, jpeg filetypes on iOS 15.4 simulator devices running on M1 Mac?
I stumbled upon a really peculiar issue while running my application that features both a functionality to create image and video attachments from the user's photos and videos using the PHPicker* API and previewing said attachments using the QuickLook API: Whenever I tap to open a photo (e.g. a JPEG) or a video (e.g. a MP4) using the QuickLook API, on an iPhone 13 15.4 simulator device on Xcode 13.3 on a M1 Macbook Pro host machine, I get a crash with the following call stack: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[2]' terminating with uncaught exception of type NSException *** First throw call stack: ( 0 CoreFoundation 0x000000011003bd44 __exceptionPreprocess + 242 1 libobjc.A.dylib 0x000000010cd1ea65 objc_exception_throw + 48 2 CoreFoundation 0x00000001100bcf47 _CFThrowFormattedException + 200 3 CoreFoundation 0x00000001100c7417 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:].cold.5 + 0 4 CoreFoundation 0x00000001100aa827 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 243 5 CoreFoundation 0x000000011003a998 +[NSDictionary dictionaryWithObjects:forKeys:count:] + 49 6 QuickLook 0x0000000110f37636 __49+[QLItem(PreviewInfo) contentTypesToPreviewTypes]_block_invoke + 484 7 libdispatch.dylib 0x000000011b0f5a5b _dispatch_client_callout + 8 8 libdispatch.dylib 0x000000011b0f6f24 _dispatch_once_callout + 66 9 QuickLook 0x0000000110f37450 +[QLItem(PreviewInfo) contentTypesToPreviewTypes] + 46 10 QuickLook 0x0000000110f37d91 -[QLItem(PreviewInfo) _uncachedPreviewItemTypeForContentType:] + 117 11 QuickLook 0x0000000110f382fe -[QLItem(PreviewInfo) _previewItemTypeForType:] + 150 12 QuickLook 0x0000000110f38104 -[QLItem(PreviewInfo) _getPreviewItemType] + 61 13 QuickLook 0x0000000110fbf4d2 -[QLItem previewItemType] + 59 14 QuickLook 0x0000000110f6ed15 +[QLItemFetcherFactory fetcherForPreviewItem:] + 90 15 QuickLook 0x0000000110fbeb9b -[QLItem fetcher] + 44 16 QuickLook 0x0000000110f22880 -[QLPreviewController previewItemAtIndex:withCompletionHandler:] + 153 17 QuickLook 0x0000000110f587a8 __63-[QLPreviewItemStore previewItemAtIndex:withCompletionHandler:]_block_invoke + 262 18 QuickLook 0x0000000110f8c621 QLRunInMainThread + 51 19 QuickLook 0x0000000110f58673 -[QLPreviewItemStore previewItemAtIndex:withCompletionHandler:] + 181 20 QuickLook 0x0000000110f1c89f -[QLPreviewController internalCurrentPreviewItem] + 222 21 QuickLook 0x0000000110f9c140 -[QLPreviewController(Overlay) _actionButton] + 344 22 QuickLook 0x0000000110f9c81c -[QLPreviewController(Overlay) _toolBarButtonsWithTraitCollection:] + 1147 23 QuickLook 0x0000000110f9a2ff -[QLPreviewController(Overlay) _updateOverlayButtonsIfNeededWithTraitCollection:animated:updatedToolbarButtons:] + 129 24 QuickLook 0x0000000110f999a2 -[QLPreviewController(Overlay) updateOverlayAnimated:animatedButtons:forceRefresh:withTraitCollection:] + 152 25 QuickLook 0x0000000110f1c707 -[QLPreviewController _setCurrentPreviewItemIndex:updatePreview:animated:] + 230 26 QuickLook 0x0000000110f22416 -[QLPreviewController reloadData] + 418 27 <MYAPP> 0x0000000102a03293 __53-[MyPreviewController downloadAttachment]_block_invoke_2 + 611 28 libdispatch.dylib 0x000000011b0f4816 _dispatch_call_block_and_release + 12 29 libdispatch.dylib 0x000000011b0f5a5b _dispatch_client_callout + 8 30 libdispatch.dylib 0x000000011b104325 _dispatch_main_queue_drain + 1169 31 libdispatch.dylib 0x000000011b103e86 _dispatch_main_queue_callback_4CF + 31 32 CoreFoundation 0x000000010ffa8261 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 33 CoreFoundation 0x000000010ffa2a56 __CFRunLoopRun + 2761 34 CoreFoundation 0x000000010ffa1a90 CFRunLoopRunSpecific + 562 35 GraphicsServices 0x00000001209c8c8e GSEventRunModal + 139 36 UIKitCore 0x000000013499c90e -[UIApplication _run] + 928 37 UIKitCore 0x00000001349a1569 UIApplicationMain + 101 38 <MYAPP> 0x0000000102970669 main + 233 39 dyld 0x000000010c6c4f21 start_sim + 10 40 ??? 0x00000002041ad51e 0x0 + 8658801950 41 ??? 0x0000000000000003 0x0 + 3 I tried also selecting a photo or a video using the PHPicker* APIs, and although I get back the file, if I try to query the UTType from the file extension using the [UTType typeWithFilenameExtension:] method, I get back a nil result if the extension passed is either a "jpeg" or a "mp4". The above do not happen if I run the same simulator (iPhone 13 15.4 / Xcode 13.3) on an Intel Macbook Pro host machine, or on a real device. Any ideas?
Replies
9
Boosts
0
Views
4.6k
Activity
Jun ’22