Post

Replies

Boosts

Views

Activity

Reply to File transfer issue from iPhone to Watch after iOS 17.5 & WatchOS 10.5 update
Also having the same problem with WCSessionFileTransfer. The didFinish fileTransfer delegate method is never called anymore. I also successfully used the solution with sending a custom message from the Watch OS app to the iOS app once the file received. I also noticed that the WCSession keeps all oustandingFileTransfers. I clean them by checking the progress, and cancelling them manually and do some custom cleanup. for fileTransfer in session.outstandingFileTransfers { if (fileTransfer.progress.isFinished) { fileTransfer.cancel() didFinish(fileTransfer) // my method } } Hopefully Apple fixes this issue soon.
3d
Reply to Family sharing of in app purchases
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.
Aug ’21
Reply to Family sharing of in app purchases
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.
Jul ’21
Reply to Function declares an opaque return type, but the return statements in its body do not have matching underlying types
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.
Mar ’21