我的团队在使用我们编写的封装 Google Maps SDK 的数据表示框架时遇到了类似的问题。
最初,我们将 CoreApplication、CoreLibrary 和 MapFramework 与 Google 地图关联起来,如下所示:
作为参考,这里是我们原来的broken Podfile:
# Global platform for the project.
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
workspace 'Comprehensive.xcworkspace'
target 'OurApplication' do
pod 'Alamofire', '~> 3.5.1'
pod 'GoogleMaps', '~> 1.13.2'
#other pods
project '../some/path/OurApplication.xcodeproj'
end
target 'CoreFramework' do
pod 'GoogleMaps', '~> 1.13.2'
#other pods
project '../some/path/CoreFramework.xcodeproj'
end
target 'MapFramework' do
pod 'GoogleMaps', '~> 1.13.2'
project '../some/path/MapFramework.xcodeproj'
end
我们还花了很多时间尝试与密钥、代码签名相关的各种事情,甚至改变我们实例化 GMSMapView 的方式。
我们的解决方案是不将我们的 CoreFramework 与 GoogleMaps 链接。
我们更新的工作 Podfile:
# Global platform for the project.
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
workspace 'Comprehensive.xcworkspace'
target 'OurApplication' do
pod 'Alamofire', '~> 3.5.1'
pod 'GoogleMaps', '~> 1.13.2'
#other pods
project '../some/path/OurApplication.xcodeproj'
end
target 'CoreFramework' do
#other pods
project '../some/path/CoreFramework.xcodeproj'
end
target 'MapFramework' do
pod 'GoogleMaps', '~> 1.13.2'
project '../some/path/MapFramework.xcodeproj'
end