Post

Replies

Boosts

Views

Activity

Reply to Are Local Experiences Functioning in beta6?
With beta7: When I scan a QR code, I no longer get the Safari URL notification, however If I exit the camera and navigate to the local experience page and tap "save" then I see the notification pop up. Seems like it's intercepting the URL, but invoking the sheet. Then when I tap save it "releases" the held up URL and it shows the standard safari notification.
Topic: App & System Services SubTopic: General Tags:
Sep ’20
Reply to ITMS-90764 - Upload Failure - Intent Definitions?
Posting to help the googlers: I was experimenting with an in-app-intent, and I defined this intent in the same file as my other out-of-app-intents. The target membership of this single intent definition file needs to be both the standard intent extension and my App. This is so the App can cast the intent passed to the Scene via UserActivity and handle intents that open the app. It seems however that the in-app intent cannot be compiled into both the out-of-app intents bundle and the main app bundle. (The intent in the ITS error message is an in-app intent) This was accepted by App Store Connect a few days ago, but I guess they changed their validation rules as they get ready for iOS14. :shrug: I fixed this by creating a second intent definition file named "InAppIntents.intentsdefinition" and moved the in-app intent into this file. The target membership of this file is set to only be the app. After duplicating and renaming some intent-types I got it building, and uploaded it without problems.
Sep ’20
Reply to Remove App Clip target on Catalyst builds only?
Thank you, fixed. I navigated to the general tab of my main-app target. I observed that the "Clip" target was already set to iOS only. I clicked "iOS" and got the dropdown. I reselected "iOS". This added a single line to my project file for the Clip target: platformFilter = ios; Not sure why it was "Stuck" without that filter, but I'm over this hump now. Thank you.
Topic: Programming Languages SubTopic: Swift Tags:
Sep ’20
Reply to Applying new snapshot to diffable data source in iOS 15 trigger unnecessary cell registration call
Well, I thought I saw something, but maybe not... I do want to call something out, though: private let identifier = UUID() If you are ever reconstructing these items more than once, the diffableDatasource will see them as new items EVERY time. It could be wise to use something naturally unique to your "item" like the URL, for example. Also because your equatable looks like: static func == (lhs: AlbumItem, rhs: AlbumItem) -> Bool {     return lhs.identifier == rhs.identifier   } DiffableDatasource will not re-create a cell if cell if a property of the item changes. One way I think about it is this: -HashID identifies the existence of a cell in the collectionView." -If HashID and Equals match between snapshots, the collectionView will visually keep that cell consistent. For example, you'll see move animation if the item's index changes. -If HashID matches, but equality does not, then diffableDatasource will dequeue a new cell and call the configuration method. (In iOS 15 you can also nominate Items for a reconfigure instead of a full-on dequeuing.) In your case, for short term debugging, I would try using the URL as the "unique identifier" of your item. Long term, you may also need to incorporate a "modification date" into the equality method because a URL's contents can change and require a redraw the cell.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jun ’21
Reply to PersistenceController and CloudKit
Not sure what the "right answer" is, but This is how I set mine up. let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "APPGROUPID")?.appendingPathComponent("NAME.sqlite")         let description = NSPersistentStoreDescription(url: url)         description.shouldMigrateStoreAutomatically = true         description.shouldInferMappingModelAutomatically = false // yours should probably be true if you're not manually migrating between schema versions         description.shouldAddStoreAsynchronously = true         description.isReadOnly = false         let options = NSPersistentCloudKitContainerOptions(containerIdentifier: "MY IDENTIFIER")         description.cloudKitContainerOptions = options         return description
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Aug ’21