当iCloud状态发生变化时,我的应用程序崩溃

时间:2014-10-13 12:38:20

标签: swift ios8 xcode6 icloud

我知道有一个类似的问题,但OP似乎认为他的问题只出现在模拟器上,所以不是这样的问题......但我认为我的问题都存在。

我在修改iCloud存储应用时遇到问题(尝试观察NSUbiquityIdentityDidChangeNotification时)。我无法看到我的代码出现了什么问题,所以......

...在我的头撞墙后数小时后,我在Xcode(v6.1 6A1046a)中设置了一个新的项目,试图将其缩小。看来它确实是一个非常基本的问题......

我在这个新项目中所做的唯一事情是:

  1. 为'键值存储启用iCloud功能'和对于iCloud 文档'(使用默认容器) - 没有错误消息,似乎设置正常。
  2. 在IB中为提供的视图控制器添加标签和按钮。
  3. 为两者添加IBOutlet并连接IBAction以在按下时更改标签文本。
  4. 为清楚起见,我添加到空白'单一视图应用程序中的代码'模板是:

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var button: UIButton!
    
    @IBAction func buttonPressed(sender: AnyObject) {
        self.label.text = "You pressed the button"
    }
    

    因此,如果我在模拟器或设备上从Xcode运行项目,或者如果我直接在设备上运行项目,它会正常启动并且按钮正常工作 - 正如您所期望的那样......

    问题是:

    如果我在Xcode&amp ;;上运行该设备我转到设备上的设置 - > iCloud-> iCloud Drive并切换我的应用程序的开关(从/到任一状态)应用程序崩溃。除了这个,我没有得到任何反馈:

    enter image description here

    如果我直接在设备上运行应用程序并尝试切换iCloud Drive设置,当我返回应用程序时,它似乎重新启动(视图正在重置,以及label.text - 两者都不会发生如果我只是在不触摸开关的情况下访问设置。)

    它还有完全冻结我的设备的习惯,这有点刺激性。

    我是iCloud开发的新手,所以我想我可能会遗漏一些非常基本的东西......

    正如我所说,这是一个只有几行附加代码的空白项目,所以它可能不是我做过的事情。这限制了我完成的事情。我试图按照我能找到的尽可能多的教程和尽可能多的苹果文档。我无法看到任何可能忽略的明显步骤。

    除非是预期的行为,否则我认为是苹果问题。

    感谢您的帮助 - 这让我疯了!

1 个答案:

答案 0 :(得分:0)

当您更改iCloudDrive状态时,iO会终止您的应用。这是标准的iO行为,您可以使用内置应用程序(例如Safari)来检查这一点。