在Swift 3中检查launchOptions
我已将我的代码转换为swift 3并且已提交到app store。 当他们打开应用程序时,它会在第一时间崩溃。 结果,我检查了我的崩溃日志,并在此行崩溃。
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) }
我的崩溃日志就在这里。
您应该检查并获取以下用户活动:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { if let userActivityDictionary = launchOptions?[.userActivityDictionary] as? [UIApplicationLaunchOptionsKey : Any], let userActivity = userActivityDictionary[.userActivityType] as? NSUserActivity { continueUserActivity(userActivity) } return true }
- 保持一个应用程序在无限的背景下活着(对于Cydia应用程序)
- didDiscoverPeripheral没有被调用
- UIPicker和UIActionsheet不再使用iOS7
- MFMailComposeViewController电子邮件到iPhone的字段限制40
- 在NSDate无法获得当天的开始
- iOS和XCode5应用程序发布失败 – 错误ITMS-9000:“您尝试上传的二进制文件无效”
- 何时使用__bridge,__bridge_transfer / CFBridgingRelease和__bridge_retained / CFBridgingRetain
- 错误ITMS-90034:签名缺失或无效
- 内存泄漏在CMSampleBufferGetImageBuffer