iCloud 状态更改时我的应用程序崩溃
Posted
技术标签:
【中文标题】iCloud 状态更改时我的应用程序崩溃【英文标题】:My App crashes when iCloud status changes 【发布时间】:2014-10-13 12:38:19 【问题描述】:我知道有一个类似的问题,但 OP 似乎认为他的问题只是在模拟器上,所以不是这样的问题......但我认为我的问题在这两个方面。
我在为 iCloud 存储调整应用程序时遇到问题(尝试观察 NSUbiquityIdentityDidChangeNotification
时)。我看不出我的代码有什么问题,所以......
...经过数小时的头撞墙后,我在 Xcode (v6.1 6A1046a) 中建立了一个 新 项目来尝试缩小范围。看来这确实是个很基础的问题……
我在这个新项目中唯一做的事情是:
-
为“键值存储”和“iCloud”启用 iCloud 功能
文档(使用默认容器)- 没有错误消息,似乎设置得很好。
在 IB 中为提供的视图控制器添加标签和按钮。
为两者添加一个 IBOutlet 并连接一个 IBAction 以在按下时更改标签文本。
为清楚起见,我添加到空的“单一视图应用程序”模板的仅代码是:
@IBOutlet weak var label: UILabel!
@IBOutlet weak var button: UIButton!
@IBAction func buttonPressed(sender: AnyObject)
self.label.text = "You pressed the button"
因此,如果我在模拟器或设备上从 Xcode 运行项目,或者直接在设备上运行项目,它会正常启动并且按钮可以正常工作 - 正如您所期望的那样......
问题是:
如果我从 Xcode 在设备上运行并且我转到设备上的 Settings->iCloud->iCloud Drive 并切换我的应用程序的开关(从/到任一状态),应用程序就会崩溃。除了这个,我没有收到任何反馈:
如果我直接在设备上运行应用程序并尝试切换 iCloud Drive 设置,当我返回应用程序时,它似乎会重新启动(视图和 label.text 一起被重置 - 两者都没有发生如果我只是访问设置而不触摸开关)。
它还有完全冻结我的设备的习惯,这有点刺激。
我是 iCloud 开发的新手,所以我想我可能遗漏了一些非常基本的东西......
正如我所说,这是一个只有几行附加代码的空项目,所以这可能不是我做过的事情。这将它限制在我没有做过的事情上。我正在尝试遵循尽可能多的教程以及尽可能多的苹果文档。我只是看不到我可能忽略的任何明显步骤。
除非这是预期的行为,或者我猜是 Apple 问题。
感谢您的帮助 - 这让我发疯了!
【问题讨论】:
【参考方案1】:当您更改 iCloudDrive 状态时,ios 会终止您的应用程序。这是标准的 iOs 行为,您可以使用内置应用程序(例如 Safari)进行检查。
【讨论】:
以上是关于iCloud 状态更改时我的应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章