Как программно получить имя контейнера icloud?

Чтобы создать GKGameSession Мне нужно передать имя контейнера iCloud.

+ (void)createSessionInContainer:(NSString *)containerName 
                   withTitle:(NSString *)title 
         maxConnectedPlayers:(NSInteger)maxPlayers 
           completionHandler:(void (^)(GKGameSession *session, NSError *error))completionHandler;

Хотя я знаю, где найти имя контейнера в xCode, перейдя на страницу "Возможности", и хотя я знаю, что формат по умолчанию iCloud.$(CFBundleIdentifier) Я запутался в том, как программно найти имя контейнера.

Я не вижу это как запись в info.plist файл. Хотя я мог бы восстановить его, используя формат по умолчанию, что если я не использую имя контейнера по умолчанию? Я действительно должен #defineстрока?

1 ответ

Решение

Чтобы найти идентификатор контейнера по умолчанию программно:

#import <CloudKit/CloudKit.h>
CKContainer *defaultContainer = [CKContainer defaultContainer];
NSLog(@"default container ID: %@",defaultContainer.containerIdentifier);
Другие вопросы по тегам