Post

Replies

Boosts

Views

Activity

Reply to Sandbox user can't see StoreKit subscriptions
To get closer to the root cause of the issue, I recommend trying the following things: Try replacing your Manager and presentation code with StoreKit's view. This will tell if the issue is in the code or in the environment/apstore connect. Replace you content view with this super minimal example: import SwiftUI import StoreKit struct ContentView: View { var body: some View { SubscriptionStoreView(productIDs: ["v1"]) } } If the issue still exists, then add a StoreKit configuration file to you project and when creating it tick "Sync this file with an app in App Store Connect". Verify the app and team are auto filled. After creation, the file should sync with Appstore connect automatically. Do you see the product in the list? Finally try to run with this store kit configuration. Additional thing, you wrote "Registered the app with the same bundle identifier." which makes me think that you did not distribute your app even once (product -> archive -> organizer -> distribute app). I don't know if this is a must in your case but I do recommend to do it. It can also reveal a typo in bundle identifier if you accidentally made one. Personally, I never create an app in AppStore Connect "manually" but always start by distributing it. It will create a stub if this app does not exist.
1w
Reply to resizable on an Image affects also Text behaviour
For the benefit of those who search for a solution for a similar problem and find this post through search. As I understand, Image takes all available space, however in this case the image is wider than the screen and has .resizable and scaleToFill modifiers which will make it to take more space than offered by the container. The container will resize accordingly, extending beyond the boundaries of the visible screen, and then offer more space to the other children including the text. To solve this, use .background modifier instead of a ZStack. I think adding .containerRelativeFrame([.vertical, .horizontal]) to the image will also work, though I suspect not as well if you want the background image to ignore safe areas.
2w
Reply to Non-consumable IAP for free trial
Is the issue that there is no transaction for this product in the entitlements, or is the issue that the originalPurchaseDate is not what you expect? To understand this, you need to get telemetry from your app (by either writing to a log and asking the user to export and send bit to you or by sending events to a server) I would recommend sending the current date, originalPurchaseDate and just in case also the purchaseDate (to see if there is any difference). However, my first suspect would be the time difference calculation. Maybe you took into account timezone differences where it is not required? The user who had an issue might be on a different time zone. Ask someone to review the code. Regarding your overall strategy, you should consider two things (which might not be real issues, depending on the popularity of your app and the motivation to "hack" it): Using the system time (eg Date.now) allows users to change the devices clock to a previous date. If they do it each time before launching your app they could get a "free trial" indefinitely. I believe originalPurchaseDate and purchaseDate do not take refunds into account. So a user might request a refund and re-purchase the IAP. This new transaction will have a later originalPurchaseDate and the old one will not appear in currentEntitlements anymore.
Feb ’25
Reply to Codesigning completes, Notarization fails using notary tool
I had the same issue, and what resolved it was removing the quotation marks in the command. I see in your example, the quotation marks are not really quotation marks but a different unicode character. Notice the difference: correct: " incorrect: ” I think this happened because you copied the command from a website where they had them around placeholder arguments, and you wrote your AppleID etc in side those "quotation" marks. To resolve the issue, simply remove all quotation marks (or replace them with the correct version)
Feb ’25
Reply to StoreKit beginRefundRequest issue
I recommend to start by trying to run Apple's food truck example. Does it work when you run it? https://developer.apple.com/documentation/swiftui/food_truck_building_a_swiftui_multiplatform_app Although the example does not use beginRefundRequest, but instead use refundRequestSheet, if it does not work as well you can deduce the issue is with your environment and not with the code you wrote.
Dec ’24
Reply to StoreKit 2 - Is it necessary to finish unverified transactions?
Here is my non expert take on this. Deciding what to do with an unverified transaction is a business decision. You can ignore verification and unlock the content, although I have no idea why would someone decide to do this. In StoreKit 1, the equivalent of verifying a transaction required sending a receipt to your server. App developers who did not want to maintain a server and were willing to take the risk of hacking, simply handled all transactions. You should call finish() only after you unlocked the content. If you do not plan unlocking the content for unverified transactions, do not call finished(). Apple's example you provided is supporting this theory. I would cautiously speculate that the app should almost never encounter an unverified transaction unless the user is trying to do something funny with the device or a bug on Apple's side. Also notice that in a rare case transaction can change from unverified to verified. See this: https://developer.apple.com/documentation/storekit/verificationresult/verificationerror/revokedcertificate
Dec ’24
Reply to Xcode 13 typing is delayed / really slow
It's June 2024, 2.5 years after this issue was reported and this issue still exists in Xcode 15.4! I know it is the same issue because closing the tabs like it was recommenced here solved it for me. This is a big disgrace for Apple that a bug in the most basic functionality of their editor which affects productivity of all of the developers does not get the priority it deserves. Xcode is already a can of bugs but this is a new level of pissing on its users.
Jun ’24
Reply to Is it possible to obtain the clipping path of CGContext?
It looks like what I need was added in iOS 16 beta https://developer.apple.com/documentation/coregraphics/cgpath/3994964-intersection?changes=latest_minor&language=_5 So I guess I was right and currently it is not available. However for my particular case, I did not need the intersection path itself, only to stroke it so a colleague suggested to clip one path by the other and stroke the result and then switch roles and stroke the other part. Together the intersection path is approximately stroked (with some visual artifacts at intersection points)
Aug ’22