iOS Dropbox Sync API - 检测更新的状态

时间:2014-02-28 18:24:39

标签: ios sync dropbox dropbox-api

我正在将Dropbox Sync SDK集成到我的iOS应用中。我想设置它,以便当用户在UIDocument中,然后应用程序变为非活动状态(主页按钮,锁定等),然后文件被Dropbox中的其他人更改,然后用户返回到该应用程序将通知他们在其他地方进行了更改。这就是我现在所拥有的:

在我的viewDidLoad中我有:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkForNewerStatus) name:UIApplicationDidBecomeActiveNotification object:nil];

然后我有这个方法:

- (void)checkForNewerStatus
{
    if (self.dropboxFile.newerStatus)
    {
       //alert user of changes
    }
}

这是半理想的。当应用首次返回时,self.dropboxFile.newerStatus会返回NO。如果我离开应用程序并再次返回,则会返回YES。但我需要它在应用程序第一次返回时返回YES。这不是时间相关的 - 我可以在回来之前等几分钟,它仍然第一次失败并且第二次成功。有什么想法吗?

非常感谢!

注意:仅当应用程序变为非活动状态然后更改文件时,才会出现此问题。如果在应用程序仍处于活动状态时更改了文件,然后应用程序将离开并返回,则会按预期发出警报。

1 个答案:

答案 0 :(得分:0)

@ rmaddy上面的评论是正确的。把它移到答案中。

您需要在DBFile上添加观察者,以便在更改时收到通知。发生的事情是您的应用程序正在重新启动并立即检查状态,但由于应用程序刚刚启动,它还没有时间与服务器通信并了解更新的文件内容。只要应用程序能够与服务器通信并找到有关更改的信息,DBFile上的观察者就会触发。

相关问题