【发布时间】:2016-10-18 15:48:21
【问题描述】:
我已将代码转换为 swift 3 并已提交到应用商店。当他们打开应用程序时,它第一次崩溃。结果,我检查了我的崩溃日志,它在这一行崩溃了。
if let myLaunchOptions: NSDictionary = launchOptions as NSDictionary? {
我的整体代码是这样的。我知道 launchOptions 可以为零,甚至可能不是 NSDictionary。这就是为什么我这样检查并且它在那条线上失败了。我可以知道如何使用 swift 3 检查/预防吗?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
if let myLaunchOptions: NSDictionary = launchOptions as NSDictionary? {
let test = myLaunchOptions[UIApplicationLaunchOptionsKey.userActivityDictionary] as! NSDictionary
let userActivity = test["UIApplicationLaunchOptionsUserActivityKey"] as! NSUserActivity
NSLog("test1:" + String(describing: userActivity))
continueUserActivity(userActivity)
}
我的崩溃日志在这里。
【问题讨论】:
-
投射到
NSDictionary有什么意义?它是 Swift 代码,将其保留为 Swift 字典。 -
崩溃的错误是什么?
-
如果您不知道数据类型,请使用以下行。
-
啊..对不起@rmaddy。我的错。是的。我会用字典。我习惯于 Objective-C 代码。我已更新以显示崩溃日志。
-
这没有显示错误。崩溃日志中应该有错误。