百度API做的非常垃圾,某些配置没有做好,就没有任何响应、没有任何提示!
无法排查崩溃原因(它不是崩溃,是干死了cpu,但是app不闪退,只是不响应,所以根本不知道发生了什么!)
下面这个类初始化对象时,cpu死了。
let coder = BMKGeoCodeSearch()
原因是没有注册appkey(不注册就让你app变僵尸,但不崩溃,也没有任何提示,我觉得这个API就是牲口做出来的。出错了还不给你任何线索去排查!):
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
registerBaiduMap()
...
window?.makeKeyAndVisible()
return true
}
func registerBaiduMap() -> Void {
// 如果要关注网络及授权验证事件,请设定 generalDelegate参数
let result = mapManager.start("Inptq*************************Ozh", generalDelegate: nil)
if (!result) {
debugPrint("manager start failed!")
}
}
加上上面代码后cpu就不死机了。但是还有问题:
BMKGeoCodeSearch geoCode:一直返回失败。在appDelegate中注册manager提示失败:
manager start failed。
解决方法:
在info.plist内添加 Bundle display name字段,可以是任何名称。
(我就纳闷了,百度API你是不是管的太TM宽了呢?)