Post

Replies

Boosts

Views

Activity

Comment on How to handle Product.PurchaseOption in StoreKit 2?
The scenario in which I'm seeing appAccountToken go missing is when you resubscribe from Settings>App Store>Sandbox Account>Manage rather than from the app itself. I'm not clear why the (cancelled + expired) Subscription even keeps showing up there at all. Is this even possible in Production? (Also, "Clear Purchase History" on the sandbox testing account doesn't remove the cancelled + expired sub from this page - at least not yet, in my testing.)
Topic: App & System Services SubTopic: StoreKit Tags:
Jan ’22
Comment on Matching original_transaction_id to subscriber id.
@krystian_laubach "does it mean that original_transaction_id is globally unique and we can use it to identify user?". I don't think so - the same user may have several IAPs (depending on your product structure), and a resubscribe >180 days would apparently generate a new INITIAL_BUY (per @oscaretu's comments above). appAccountToken may be what you need (if you're able to use StoreKit 2). Interesting that you see notifications coming quickly from Apple - so far in the sandbox, I've found them to be very laggy (several minutes after purchase), which means you can't really rely on them to entitle the user's account server side in a timely fashion.
Topic: App & System Services SubTopic: StoreKit Tags:
Jan ’22
Comment on Safari, JavaScript and WebGL extremely bad performance?
Confirming this observation: Safari has a significantly lower frame rate when animating a three.js scene than Chrome and Firefox - lots of stuttering. Observed with: https://app.photoephemeris.com/sphere with 3D terrain required (requires subscription - happy to provide access, if helpful) Safari Version 14.1.1 (15611.2.7.1.6, 15611), Chrome Version 91.0.4472.114 (Official Build) (x86_64), Firefox Version 91.0.4472.114 (Official Build) (x86_64) MacBook Pro (15-inch, 2016), 2.7 GHz Quad-Core Intel Core i7, Radeon Pro 460 4 GB Intel HD Graphics 530 1536 MB Catalina 10.15.7 (19H1217) The difference shows up when I set the Terrain quality to medium or high (512x512 or 1024x1024 subdivision of a texture + displacement + alpha mapped three.js plane). No noticeable differences when set to low (256 x 256).
Topic: Safari & Web SubTopic: General Tags:
Jun ’21
Comment on Disable new tab bar look
What's the point of this API? When I click the link its behavior is undocumented. It seems an actual solution to OP's question can be found here: https://stackoverflow.com/a/78658285/220287
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Apr ’25
Comment on XCode15 debugger is working really slow with iOS 17.0.2
When I try this and take the device out of airplane mode, I find Xcode loses connectivity to the device and I'm back to square one. Not sure if that's 100% of the time or just intermittent. This issue is a complete PITA.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Mar ’24
Comment on How to handle Product.PurchaseOption in StoreKit 2?
The scenario in which I'm seeing appAccountToken go missing is when you resubscribe from Settings>App Store>Sandbox Account>Manage rather than from the app itself. I'm not clear why the (cancelled + expired) Subscription even keeps showing up there at all. Is this even possible in Production? (Also, "Clear Purchase History" on the sandbox testing account doesn't remove the cancelled + expired sub from this page - at least not yet, in my testing.)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jan ’22
Comment on Matching original_transaction_id to subscriber id.
@krystian_laubach "does it mean that original_transaction_id is globally unique and we can use it to identify user?". I don't think so - the same user may have several IAPs (depending on your product structure), and a resubscribe >180 days would apparently generate a new INITIAL_BUY (per @oscaretu's comments above). appAccountToken may be what you need (if you're able to use StoreKit 2). Interesting that you see notifications coming quickly from Apple - so far in the sandbox, I've found them to be very laggy (several minutes after purchase), which means you can't really rely on them to entitle the user's account server side in a timely fashion.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jan ’22
Comment on Matching original_transaction_id to subscriber id.
@nbe I think appAccountToken handles this use case - it's a UUID you can pass in at the time of purchase into StoreKit2, which is then included with each v2 App Store Server Notification you receive. It's intended to address exactly the problem of correlating purchases with user accounts. See https://developer.apple.com/videos/play/wwdc2021/10114/
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jan ’22
Comment on Matching original_transaction_id to subscriber id.
@oscaretu - very useful, thank you. I'd love to know if the 180 days behaviour is documented somewhere also. Can't find any other reference to this online (although it makes sense, as it seems 180 days is the max time to refund a credit card payment, per other search results I'm seeing for other payment processors).
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jan ’22
Comment on Safari, JavaScript and WebGL extremely bad performance?
Confirming this observation: Safari has a significantly lower frame rate when animating a three.js scene than Chrome and Firefox - lots of stuttering. Observed with: https://app.photoephemeris.com/sphere with 3D terrain required (requires subscription - happy to provide access, if helpful) Safari Version 14.1.1 (15611.2.7.1.6, 15611), Chrome Version 91.0.4472.114 (Official Build) (x86_64), Firefox Version 91.0.4472.114 (Official Build) (x86_64) MacBook Pro (15-inch, 2016), 2.7 GHz Quad-Core Intel Core i7, Radeon Pro 460 4 GB Intel HD Graphics 530 1536 MB Catalina 10.15.7 (19H1217) The difference shows up when I set the Terrain quality to medium or high (512x512 or 1024x1024 subdivision of a texture + displacement + alpha mapped three.js plane). No noticeable differences when set to low (256 x 256).
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’21