【发布时间】:2015-04-08 21:58:31
【问题描述】:
我正在尝试为我正在通过 CocoaPods 开展的 Swift 项目添加 Google Maps SDK for iOS,因为 CocoaPods 现在支持 Swift。
这是我的 podfile。
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '7.0'
pod 'Google-Maps-iOS-SDK'
Pod 安装成功完成,我可以像 import GoogleMaps 这样导入框架,而不会出现任何编译错误。
但后来我继续添加 UIView 并将其类设置为 GMSMapView 并将 IBOutlet 添加到我的视图控制器并构建项目。我收到以下错误。
链接器命令失败,退出代码为 1(使用 -v 查看调用)
我已经在 Swift 项目中添加和使用了用 Objective-C 编写的库,例如 MagicalRecord、MBProgressHUD,没有任何问题。
我还上传了一个演示 Xcode 项目 here。
有什么办法解决这个问题?
【问题讨论】:
-
我正在尝试复制此问题,但我目前从 pod 更新中收到以下错误:
[!] Invalid `Podfile` file: undefined method `use_frameworks!' for #<Pod::Podfile:0x007fb79a29c080>. Updating CocoaPods might fix the issue. -
以下是使用 Swift 和 iOS 版 Google Maps SDK 的示例:github.com/domesticmouse/swift-google-map
-
我正在使用 CocoaPods 0.35(发行版)进行构建。我刚刚卸载了 cocoapods 版本并安装了
cocoapods-0.36.0.beta.2。我使用我的 github 示例来测试这个新配置(在删除Podfile.lock和Pods/*之后)并且一切正常。我阅读了您的博文,但我不明白您为什么需要use_frameworks!才能让 iOS 版 Google Maps SDK 与 Swift 一起使用。 -
@Brett Maps SDK 当然是这样工作的。我自己在另一个项目中使用过它。我打算采用更“纯粹”的 Swift 方法,将 SDK 添加为框架,而不使用桥接头等。它通常适用于其他 Objective-C 库。
标签: ios google-maps swift cocoapods google-maps-sdk-ios