0

要创建一个GKGameSession我需要传入 iCloud 容器名称。

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

虽然我知道通过导航到 Capabilities 页面可以在 xCode 中的哪里找到容器名称,尽管我知道默认格式是iCloud.$(CFBundleIdentifier)我对如何以编程方式查找容器名称感到困惑。

我不认为它是info.plist文件中的条目。虽然我可以使用默认格式重建它,但如果我不使用默认容器名称怎么办?我真的必须要#define字符串吗?

4

1 回答 1

0

以编程方式查找默认容器的 ID:

#import <CloudKit/CloudKit.h>
CKContainer *defaultContainer = [CKContainer defaultContainer];
NSLog(@"default container ID: %@",defaultContainer.containerIdentifier);
于 2016-10-10T22:20:54.993 回答