3

我已经按照此处的官方文档在我的 Parse 应用程序和 iOS Today Extension 之间启用了本地数据共享,使用正确的密钥链和应用程序组AppDelegate在我的应用程序和我的扩展程序的方法中进行必要的初始化调用。viewDidLoad

didFinishLaunchingWithOptions方法中AppDelegate

[Parse enableLocalDatastore];
[Parse enableDataSharingWithApplicationGroupIdentifier:@"group.com.my.app"];
[Parse setApplicationId:@"appId" clientKey:@"clientKey"];

viewDidLoad我的扩展方法中:

// Ensure Parse is only initialized once, otherwise an exception will be thrown
if(![Parse isLocalDatastoreEnabled]) {
    [Parse enableDataSharingWithApplicationGroupIdentifier:@"group.com.my.app"
                                 containingApplication:@"com.my.app"];
    [Parse enableLocalDatastore];
    // Setup Parse
    [Parse setApplicationId:@"appId"
            clientKey:@"clientKey"];
}

我可以在我的扩展程序中进行查询,但我注意到如果我以记录状态开始,转到我的应用程序并发出注销,[PFUser currentUser]在扩展程序中保持非零(我仍然可以访问 currentUser 中的信息)。相反,如果我以注销状态开始,转到应用程序,登录并切换到我的扩展程序,[PFUser currentUser]仍然为零。

关于为什么登录状态的更改PFUser未在应用程序及其扩展程序之间同步的任何想法?

如果我禁用isLocalDatastoreEnabled了检查,小部件会在随后的每一秒调用中崩溃,但是当它重新加载时,至少它的状态currentUser将是同步的,所以这一切都非常令人费解。

4

0 回答 0