Я использую этот код, чтобы попытаться проверить возможности Apple Music на устройствах:
SKCloudServiceController *controller = [SKCloudServiceController new];
[controller requestCapabilitiesWithCompletionHandler:^(SKCloudServiceCapability capabilities, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error getting SKCloudServiceController capabilities: %@", error);
} else if (capabilities & SKCloudServiceCapabilityMusicCatalogPlayback) {
NSLog(@"YES SUBSCRIBED!!!!");
} else {
NSLog(@"NOT SUBSCRIBED!!!!");
}
}];
К сожалению, я не могу отследить, как исправить ошибки, которые я получаю.
Я предполагаю, что SKCloudServiceController определяет возможности устройства локально, и ему не нужно подключаться к Apple, чтобы определить это.
Так почему же ошибки заставляют меня думать, что у SKCloudServiceController есть какая-то проблема со связью с Apple?
Вот журнал вывода с разделением по времени, показывающий ошибки:
[core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
SSAccountStore: Failed to fetch the backing accounts. error = Error Domain=com.apple.accounts Code=9 "(null)"
[core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
SSAccountStore: Failed to fetch the backing accounts. error = Error Domain=com.apple.accounts Code=9 "(null)"
SSAccountStore: Unable to get the local account. error = Error Domain=SSErrorDomain Code=100 "Cannot connect to iTunes Store" UserInfo={NSLocalizedDescription=Cannot connect to iTunes Store}
Error getting SKCloudServiceController capabilities: Error Domain=SKErrorDomain Code=6 "The requesting app does not have the necessary permissions" UserInfo={NSLocalizedDescription=The requesting app does not have the necessary permissions}
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.
(lldb)
Спасибо за любую помощь в этом :)
P.S. Я не забыл добавить возможности StoreKit в свой проект и импортировал его заголовочный файл в файл .m, из которого я запускаю свой код.