Post not yet marked as solved
In my application using UICollectionViewDiffableDataSource and compositional layout, I saw this exception
Thread 1: "This solver does not handle estimated items so this method does nothing. Are you calling this in error?"
that was thrown in dataSource.apply(snapshot, animatingDifferences: animated).
I don't understand what it is telling me and how I should fix it. Any idea?
We're validating app receipts and use the original_purchase_date and original_application_version to determine if the user is a legacy user and thus entitled to certain privileges. (We moved from paid to freemium and give legacy users free access to features now requiring a subscription.)
Now we're wondering what values the above fields have if the user purchased an app bundle (consisting of two apps).
Is the receipt for both apps the same?
If yes, which bundle_id and which original_application_version is sent in the receipt?
If not, how is original_application_version set? (According to the version of each app at purchase time?)
How is original_purchase_date set? (According to the bundle purchase date? Or the first installation date of each app? – one of the apps could be installed much later!)
Post not yet marked as solved
I implemented keyboard navigation in my iOS app. Now I'm wondering what the best shortcut might be for a "Cancel" button/action. On the Mac, I'd assume ESC is a good choice but the iPad Smart Keyboard doesn't even have that key.
Post not yet marked as solved
I use Xcode StoreKit Testing on the Simulator to test auto-renewable subscriptions.
After a purchase, I parse the receipt. I noticed that purchaseDate, subscriptionExpirationDate (and cancellationDate if cancelled later) are all reported as UTC dates in the receipt even though they are local dates. So all dates are wrong by the offset of the local time zone towards UTC.
I've verified with two independent ASN.1 receipt parsing libraries (https://github.com/nomad/venice and https://github.com/IdeasOnCanvas/AppReceiptValidator which has a nice Mac demo app) and even converted the purchase_date_ms/expires_date_ms/cancellation_date_ms that all confirm the 1h offset (I'm on CET which is UTC +1).
I can't imagine doing anything wrong in my code since the receipt is generated by the StoreKit Testing system.
Is this is known issue? (logged as FB8999149)
Post not yet marked as solved
When building an app using Xcode 10 and running it on iOS 13.0 beta 3, standard table view cells have a white background color that is almost indistinguishable from the table view background. When building the same app using Xcode 11 beta (or when deploying it to an iOS 12 device), the selection style has a gray background as usual.Did I do anything wrong here? Or is this a bug in iOS which I suspect? (Filed as FB6424669)
Post not yet marked as solved
Just noticed this exception when testing my app on iOS 13:[TraitCollection] Class _UISearchPresentationController overrides the -traitCollection getter, which is not supported. If you're trying to override traits, you must use the appropriate API.
[TraitCollection] Class _UISearchFormSheetPresentationController overrides the -traitCollection getter, which is not supported. If you're trying to override traits, you must use the appropriate API.
[TraitCollection] Class _UISearchPopoverPresentationController overrides the -traitCollection getter, which is not supported. If you're trying to override traits, you must use the appropriate API.
*** Assertion failure in -[_UINavigationBarVisualProviderModernIOS animateForSearchPresentation:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore/UIKit-3861/_UINavigationBarVisualProviderModernIOS.m:1521
Hosted search should take a different code pathThe warning about overriding traitCollection getter is no appropriate as I don't do this in my code.The app was built against the iOS 12 SDK. Is this a known issue? Is this a bug in UIKit or on my side?
Post not yet marked as solved
I have a UINavigationBar with barStyle = .black and a UIVisualEffectView with blur effect placed underneath it that matches the navigation bar's blur effect. This works fine in iOS 12 using UIBlurEffectStyleDark. However, in iOS 13 (even when building against the iOS 12 SDK), the blur effect is considerably darker.How can I fix this? Ideally, I'd like to update the blur effect by building against the iOS 12 SDK.
Post not yet marked as solved
When implementing IAP renewable subscriptions and changing the renewal option within a subscription group (e.g. changing from a monthly to a yearly subscription) the transaction observer (paymentQueue:queue:transactions:) always gets passed a transaction with a .failed transactionState even though the subscription change seems to have gone through successfully (according to the "Your are all set" alert and the server-to-server notification and receipt validation).Example:Assuming that 3 subscription SKUs are available (1-Week, 3-Months, 1-Year):- Subscribe to 1-Week SKU- Wait for completion- Change subscription to 3-Months- "You are all set" is displayed.- A transaction with transactionState = .failed is sent to the SKPaymentTransactionObserver. The transaction.error:
Error Domain=SKErrorDomain Code=0 "Cannot connect to iTunes Store"
I also filed this as rdar 47152431 (also on Open Radar).Is this a known issue?
Post not yet marked as solved
When implementing a QLPreviewingController on iOS, we only get the Spotlight uniqueIdentifier but not the actual CSSearchableItem.I thought I could use CSSearchQuery with a query like this"uniqueIdentifier == \"\(identifier)\""to fetch the CSSearchableItem of the selected item from Spotlight. However, I always receive an error:<CSSearchQuery:0x2826e51e0 qid=1 flag=0x0000>error:Error Domain=NSCocoaErrorDomain Code=4099 "Couldn’t communicate with a helper application.">Is it not possible to call Spotlight from a QuickLook Preview extension? Is there another way to retrieve the CSSearchableItem for the item to be previewed?
Post not yet marked as solved
Is there a way to get "Display P3" screenshots from the simulator? The difference in the greens (see comparison: https://twitter.com/ortwingentz/status/939226520710795264) is terrible!But having to do 55 screenshots from the device instead is much more work.