I have an iOS and connected watchOS app that use iCloud to sync.
They are in the TestFlight and the iCloud container was pushed to production.
Fetching request is working fine from both apps.
But the iCloud Subscription is installed only for iPhone app. I see the subscription on the iCloud console as well. But for the iWatch app the subscription is not installed.
To create the subscription, both apps use the same code. The code is called separately for each app.
func createSubscribe() {
let newSubscription = CKQuerySubscription(recordType: kAppSettings, predicate: NSPredicate(value: true), options: [.firesOnRecordCreation, .firesOnRecordUpdate])
let notification = CKSubscription.NotificationInfo()
notification.shouldSendContentAvailable = true
newSubscription.notificationInfo = notification
CKContainer(identifier: kIcloudID).privateCloudDatabase.save(newSubscription) {
_, error in
if let error = error {
Logger.shared.logError(error)
return
}
}
Important point, the subscription is works when running via Xcode but once it's in testFlight, it won't. Just requests work when the watchApp is loaded from TestFlight. No subscription on console and no notification on iWatch. (Capabilities are set as well for both targets)
I'll be grateful for help.