再实现百度地图POI城市检索时,我们需要导入百度SDK以及相关的库,在导库成功后,编译的时候会出现报错信息,这时我们需要将在Xcode中在路径
Build Settinngs -> Compile Sources AS
中选择Object-C++或者将任意一个文件.m的后缀改成.mm,通常情况下我们会将AppDelegate改成.mm,但是由于本人实际操作,将Compile Sources AS 中选择Object-C++,出现编译错误,与本人导入的极光推送冲突,在此处 completionHandler(UIBackgroundFetchResultNewData)出现报错,后来本人将Compile Sources AS 中选择默认,将AppDelegate改成.mm,但是还是出现报错,所以这两种更方式都会在其他地方出现不必要的错误,所以最后本人将创建工程中自带的ViewController改成.mm报错信息便得到了解决,因为自带的ViewController,通常情况下我们是不会应用到的,这样不会和其他代码造成冲突,所以本人建议将ViewController改成.mm。而不是选择将Compile Sources AS 中选择Object-C++。
以上只是以百度地图举了一个例子,如果再遇到其他情况需要此操作的话,本人建议还是将创建工程中自带的ViewController改成.mm这样的话,我可以避免其他一些不必要的错误,例如上述的极光推送。不要Build Settinngs -> Compile Sources AS 中选择Object-C++,这样可以减少一些不必要的错误