如何以编程方式检索icloud容器名称?

时间:2016-10-08 18:22:36

标签: ios icloud game-center gkgamesession

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

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

虽然我知道在xCode中通过导航到Capabilities页面找到容器名称的位置,虽然我知道默认格式为iCloud.$(CFBundleIdentifier)但我对如何以编程方式查找容器名称感到困惑。< / p>

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

1 个答案:

答案 0 :(得分:0)

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

#import <CloudKit/CloudKit.h>
CKContainer *defaultContainer = [CKContainer defaultContainer];
NSLog(@"default container ID: %@",defaultContainer.containerIdentifier);