ios - xcode 10 迁移错误获取段错误 11
问题描述
将 Xcode 迁移到 10 后,一个在以前的 Xcode 9 上完美构建和运行的 iOS 项目在编译期间因“Segmentation fault 11”而崩溃
我确实将我的 MacOS 升级到了 Mojave,但问题仍然存在。
我收到以下错误:
在为 'application(_:didRegisterForRemoteNotificationsWithDeviceToken:)' 发出 SIL 时
/Users/swanandpatil/Desktop/omerApp/CustomerApp/AppDelegate.swift:955:5
- 而 silgen emitFunction SIL 函数“@$S17CustomerApp0C8DelegateC11application_48didRegisterForRemoteNotifications WithDeviceTokenySo13UIApplicationC_10Foundation4DataVtF”。'application(_:didRegisterForRemoteNotificationsWithDeviceToken:)' at /Users/swanandpatil/Desktop/RSA247CustomerApp/RSA247CustomerApp/AppDelegate.swift:955:5 错误:分段错误:11
下面是我的代码:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
//print("deviceToken is \(deviceToken)");
if let token = InstanceID.instanceID().token() {
UserDefaults.standard.set(token, forKey:"fcm_tokenNew")
let token2 = UserDefaults.standard.object(forKey:"fcm_tokenNew") as? String
print("FCM TOKEN2 IS\(describing: token2 )");
}
}
解决方案
恭喜,您发现了一个 Xcode 编译器错误。
问题在这里:
print("FCM TOKEN2 IS\(describing: token2 )");
正确的语法是:
print("FCM TOKEN2 IS\(String(describing:token2))");
编译器应该给你一个有意义的错误信息,但是却是崩溃了。
我已经提交了雷达: https ://openradar.appspot.com/45330067
推荐阅读
- python - Django Modelform - 将字段值设置为外键
- deep-learning - PyTorch 中的 LSTM 模型实现
- git - 为什么我会继续遇到合并冲突?
- ssh - 使用 env 变量来表示 SSH 选项
- c# - 刷新时缺少列表视图详细信息
- android - Android 代码:在按键设备键盘上将空格键码转换为 % 键码
- c# - SignalR Hub 的 Context 属性没有通过使用 GetHttpContext 方法给我 Http Context
- linux - 如何让其他用户像我一样像sudo一样运行特定程序,但我们俩都不是Linux的root用户
- node.js - 如何使用 nodejs 有效地将请求转发到多个端点?
- assembly - 引导加载程序加载自身而不是内核