objective-c – Dropbox iOS SDK对isLinked始终返回“YES”:

前端之家收集整理的这篇文章主要介绍了objective-c – Dropbox iOS SDK对isLinked始终返回“YES”:前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用iOS DropBox SDK,并检查我的应用程序是否已经与DropBox帐户相关联.所以我做:
if (self.isLinked) {
    NSLog(@"linked");
}

但是,self.isLinked始终返回YES.即使清洁和重置iPhone模拟器.

这只会在iOS模拟器上运行时不在真实设备上.我不知道为什么会发生这种情况,但是如果主机Mac与DropBox帐户相关联,则模拟器上的DropBox SDK也会相关联.

要在Simulator中获取现实的行为,请在“DropBox偏好设置”中取消连接您的Mac.

解决方法

2012年中期的某个时间(找不到iOS SDK版本日志),DropBox iOS SDK行为已更改为通过卸载/重新安装应用程序(甚至在设备上)来保留“链接”状态.因此,在重新安装后,对接收“链接”回调(如我的)执行某些操作的应用程序将无法正常工作.

一个解决方案是首先解除连接.像这样的东西

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if ([[NSUserDefaults standardUserDefaults] objectForKey:HAS_RUN_KEY] == nil)
    {
        // ensure you have a DBSession to unlink
        if ([DBSession sharedSession] == nil)
        {
            DBSession* dbSession = [[[DBSession alloc] initWithAppKey:DROPBox_KEY appSecret:DROPBox_SECRET root:kDBRootAppFolder] autorelease];
            [DBSession setSharedSession:dbSession];
        }

        // unlink
        [[DBSession sharedSession] unlinkAll];

        // set 'has run' flag
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:HAS_RUN_KEY];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

猜你在找的C&C++相关文章