我无法将Google Maps IOS Utilities(用于标记群集)添加到我的带有pod的swift xcode项目中。
当我运行# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
workspace '../app'
target 'App' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
# Firebase - used for notifications
pod 'Firebase/Core'
pod 'Firebase/Messaging'
target 'AppTests' do
inherit! :search_paths
# Pods for testing
end
end
时,它失败并出现以下错误:
' Pods-App' target具有包含静态的传递依赖性 二进制文件: (/Users/warrick/Projects/orix/App/Pods/GoogleMaps/Subspecs/Base/Frameworks/GoogleMapsBase.framework, /Users/warrick/Projects/orix/App/Pods/GoogleMaps/Subspecs/Maps/Frameworks/GoogleMapsCore.framework, 和 /Users/warrick/Projects/orix/App/Pods/GoogleMaps/Subspecs/Maps/Frameworks/GoogleMaps.framework)
Google地图工作正常,但只要我添加实用工具就会中断。
此错误消息的含义是什么,以及如何解决它?
这是我的Podfile:
url = "https://docs.google.com/gview?embedded=true&url="+YOUR_PDF_LINK;
var documentLink = cordova.InAppBrowser.open(url, '_blank', 'location=no,hardwareback=yes');
documentLink.addEventListener('loadstart', function(event) {
});
documentLink.addEventListener('exit', function(event) {
documentLink.removeEventListener("loadstart", function(e){});
});
答案 0 :(得分:12)
由于Cocoapods限制,这是一个没有开箱即用解决方案的问题。当在Swift中构建应用程序时,您将在您的podfile中包含use_frameworks!
,并使用作为静态库提供的传递依赖(例如Google Maps
)。
因为Google不会提供动态框架(直到它支持iOS 7),目前的解决方法是手动将Google Maps IOS Utilities
集成到您的项目中。
此处介绍了集成步骤:https://github.com/googlemaps/google-maps-ios-utils/blob/master/Swift.md
- 从Podfile中删除Google-Maps-iOS-Utils(如果有)。 在您的项目中,创建一个名为
的组'Google-Maps-iOS-Utils'
。- 将repo下载到本地计算机。
- 右键单击
'Google-Maps-iOS-Utils'
组并选择"将文件添加到..."将src目录中的文件夹添加到项目中。 (确保选择目标作为应用目标,以避免出现未定义的符号问题。)- 确保"使用标题地图"在XCode设置中为您的应用目标设置为ON(默认情况下在XCode中为ON)。
- 使用
#import "GMUMarkerClustering.h"
添加桥接头文件(请注意相对路径)。- 打开伞标题GMUMarkerClustering.h(在Google-Maps-iOS-Utils / Cluster组下)并将所有导入路径更改为relative。例如,将
#import <Google-Maps-iOS-Utils/GMUCluster.h>
更改为#import "GMUCluster.h"
。 (&#39;使用标题地图&#39;设置将正确解析相对路径)。- 构建您的项目。
- 那就是它。
答案 1 :(得分:0)
我能够安装pod,删除use_frameworks后错误消失了!从pod文件中删除,因为我们的项目进展迅速,并在podfile中添加了以下几行 pod'GoogleMaps'#Objective-C pod pod'Google-Maps-iOS-Utils',:git =>'https://github.com/googlemaps/google-maps-ios-utils'