Google Maps SDK for iOS尝试在iOS 4.3上运行
我成功地集成了sdk
使用我的应用程序. 我的应用程序旨在与Google Maps sdk for iOS6
, 还有苹果UIMapKit
对于iOS
4.3和5.x个. 自从我添加google maps
框架,ios 4.3将不再运行. 我改变了GLKit.framework
和GoogleMaps.framework
到"可选",我得到dyld: Symbol not found: _NSFileProtectionCompleteUntilFirstUserAuthentication
在应用程序启动之前. 需要您的帮助:-)
回答:1
我的应用程序在iOS 4.3上运行正常GLKit.framework
和GoogleMaps.framework
设置为可选,如果我删除对Google API的所有调用。
你能提到NSFileProtectionCompleteUntilFirstUserAuthentication
是由其他代码或其他框架引起的吗?
更新:
其实上面的说法是错误的。我忘了把-ObjC
说明第7步中的链接器标志。没有-ObjC
该应用程序可以在iOS 4.3上正常运行。没有-ObjC
在iOS 6上标记呼叫[GMSServices provideAPIKey]
成功了,但是[GMSMapView mapWithFrame:camera:]
无声地失败(返回nil),因此这不是一个选项。
和-ObjC
在iOS 4.3上,我得到了同样的错误_NSFileProtectionCompleteUntilFirstUserAuthentication
.
我试着换衣服-ObjC
到-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps
, 只强制加载Google Maps API而不加载其他库,但在iOS 4.3上仍然失败。
我想-ObjC
或-force_load
正在重写设置以使GoogleMaps.framework
可选择的
此外,在iOS 5.0上,我也遇到了类似的错误_NSURLIsExcludedFromBackupKey
. 不过,我认为它可以在iOS 5.1上运行@tomeron11,什么版本的5。你在测试什么?
更新2:
这感觉像是一个可怕的黑客攻击,但添加了以下内容之一。项目中的m文件允许它在iOS 5.0上工作:
这不是似乎 在iOS 6.0上引发问题,尽管符号将被定义两次,但我不确定它是否可信。
对于iOS 4.3,我尝试了做同样的事情,添加了:
这就停止了关于_NSFileProtectionCompleteUntilFirstUserAuthentication
, 但我得到了以下错误:
我不确定是否有办法欺骗链接器在iOS 4.3上看到NSMutableOrderedSet的虚拟版本。
更新3:
SDK文档表示,支持的最低平台是iOS 5.1。
谷歌已经以WontFix的名义关闭了该漏洞报告,因此似乎没有办法让它在5.0或更低版本上运行。
更新4:
作为一种增强,谷歌重新开启了这个漏洞。
更新5:
最新版本的SDK 1.1.0现在不再在iOS 5.0上启动时崩溃。
然而,谷歌不会修复iOS 4上的崩溃。十、
由于SDK仅正式支持iOS 5.1+,尽管它在iOS 5.0上启动时不再崩溃,如果您尝试创建GMSMapView
然后它崩溃并显示一条错误消息:
Google Maps SDK for iOS仅支持iOS 5.1+
如果你使用的黑客技术是用来让它在5.0启动时不崩溃的,即:
然后SDK将在iOS 5.0上运行。这似乎可行,但可能不是一个好主意,因为它没有得到谷歌的官方支持。
回答:2
我是基金会的。框架和UIKit。框架(UIActivityViewController也在1.5 GMSdk中崩溃了…)在模式"选项"中设置(组合框中没有显示弱a).NSMutableOrderSet和NSURLIsExcludedFromBackupKey位于该框架组件中。我没有检查这个解决方案在ios less 5.0上是如何工作的,但是从5.0到6.0没有崩溃,或者请不要使用Google Map SDK从5到6而不是这个MKMapView!
抱歉我的英语不好!