当用户可以随时选择启用或禁用同步时,处理同步的最佳方法是什么?
具体来说,我目前遇到的问题是Simperium在其实例被解除分配后崩溃了。请考虑以下情形:
应用程序现在崩溃:
-[__NSCFString objectsShouldSync]: unrecognized selector sent to instance
其中__NSCFString是一些已经发布的旧对象
我正在使用当前的主分支。
答案 0 :(得分:0)
这是一个常见的请求,“iosupdate”分支有一些有用的更改。您可以查看this GitHub issue获取一些指导。总结(引用这个问题的作者):
初始化simperium实例时,请设置以下属性:
self.simperium.authenticationOptional = YES;
这会显示取消按钮。
self.simperium.authenticationEnabled = NO;
这可以防止弹出身份验证对话框。
self.simperium.loginViewControllerClass = [LoginViewController class]; 这将放入SPLoginViewController的自定义子类中以覆盖cancel:消息,否则您将无法获得用户取消对话框的反馈。
当用户点击“登录”按钮时,我设置
self.simperium.authenticationEnabled = YES;
导致登录控制器显示。
答案 1 :(得分:0)
我知道这是一个老问题,但我花了很多时间尝试这个并且无法在任何地方找到任何指针......
以上回答是正确的,但我在设定后找到了
self.simperium.authenticationEnabled = YES;
我需要添加
[self.simperium authenticateIfNecessary];
以显示登录视图。