In addition to the correct answer of Quinn above. To conditionalise the entitlements based on platform, navigate to the xcode build settings, search for 'entitlements', and add an entry for a platform specific entitlements file, as in the example below:
Post
Replies
Boosts
Views
Activity
I got the "Missing package product" error when including a local Swift Package in two xcode projects simultaneously (Xcode 13.4.1). My solution was to close one of the projects and then the error went away. It seems it is not possible to use the same local package simultaneously in two open projects.
After I have added SKPaymentQueue.restoreCompletedTransactions I did not receive any complaints of users expierincing problems with family sharing of in app purchases.
So concluding, SKReceiptRefreshRequest refreshes the receipt, but does not always fetch all family shared in-app purchases. To make sure you get all the in app purchases shared by family members you need to invoke SKPaymentQueue.restoreCompletedTransactions.
Dear Steve T,
Thanks for your tip! Indeed I am not calling SKPaymentQueue.restoreCompletedTransactions, but only SKReceiptRefreshRequest, since I was processing the receipts anyway on our server. I will try to call SKPaymentQueue.restoreCompletedTransactions as well and see if that solves the issue. It will take a while before I can confirm that this works.
AnyView works, but I think a @ViewBuilder is nicer.
https://developer.apple.com/documentation/swiftui/viewbuilder
struct HeaderView: View {
@State var choices = Choices.one
@ViewBuilder
var body: some View {
switch choices {
case .two:
ChoiceTwoView(choices: choices)
default:
ChoiceOneView(choices: choices)
}
}
}
Note that there is no return statement.