Do I have to verify the receipt for every SKPaymentTransaction for subscriptions?

I am implementing auto-renewable subscriptions in my iOS app. My transaction handling looks something like this pseudocode: func paymentQueue(_queue: SKPaymentQueue, updatedTransactions transactions:[SKPaymentTransaction]) { for (t in transactions) { let data = Data(contentsOf: getReceiptUrl()) if verifyReceiptWithServer(data) == .success { print("Verified receipt successfully!") } queue.finishTransaction(t) } } If a subscription renews more than once while my app […]

IOS: Text Selection in WKWebView (WKSelectionGranularityCharacter)

I’ve got an app that uses a web view where text can be selected. It’s long been an annoyance that you can’t select text across a block boundary in UIWebView. WKWebView seems to fix this with a property on its configuration: selectionGranularity. One of the possible values is WKSelectionGranularityCharacter: Selection endpoints can be placed at […]

By Tom Hamming
Categorised as ios, textselection, wkwebview

Can AVContentKeySession makeStreamingContentKeyRequestDataForApp safely be forced to synchronous?

I have an app that streams audio protected by FairPlay DRM. It originally shipped using AVAssetResourceLoaderDelegate to deliver FairPlay keys, but now I’m updating it to use AVContentKeySession for iOS 11.2 and later. Side note: if you’re trying to do this and are frustrated at the lack of documentation, there’s sample code at the “FairPlay […]

By Tom Hamming
Categorised as avcontentkeysession, avfoundation, fairplay, ios

Still Have Questions?

Our dedicated development team is here for you!

We can help you find answers to your question for as low as 5$.

Contact Us