[英]Using Google Maps SDK with Parse.com Project iOS Swift
我正在使用Parse SDK(parse.com)处理数据的项目(xcode 6.3 +,swift)。 最近,我们决定使用Google Maps sdk通过Direction API向用户提供路线。 由于您可以在没有Google Map的情况下使用此API,因此我开始集成它。 这是我第一次接触cocoapods,因此我按照指示进行操作。
pod init
以创建pod规格文件
这是我的配置来自谷歌入门指南
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'GoogleMaps'
pod install
,然后使用.xworkspace
启动项目
我直接尝试构建该项目,它返回34个错误。 错误的类型始终相同: Apple Match-O Linker Error
因此,我开始查看Google,因为我在一个空白项目上做了同样的事情,并且一切工作都非常好。
我开始发现有关以下事实的信息:使用Parse SDK会导致与GoogleMaps需要工作的-ObjC链接器标志冲突。 大多数答案给出了两种可能的解决方案:
1.添加Facebook-iOS-SDK框架
尝试使用facebook提供的框架以及cocoapods进行此操作。 不工作。 我仍然有错误。
2.通过将-ObjC标志替换为以下内容来强制加载GoogleMaps框架
-force_load $(PROJECT_DIR)/Pods/GoogleMaps/Frameworks/GoogleMaps.framework
因此,我现在对解决此问题的方法一无所知。 有没有人找到将GoogleMaps SDK与Parse集成的方法?
更新
我尝试通过不带cocoapods的GoogleMaps注入其他方法。 为此,我使用了以下方法: 不带CocoaPods的GoogleMaps
它似乎可以正确集成自身,但是-ObjC标志仍然保留。 使用
-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps
现在正在响应,但是导致duplicate symbols for architecture x86_64
错误的duplicate symbols for architecture x86_64
。 似乎找不到解决此问题的方法。
你需要这样做
单击您的项目(目标),单击“框架”搜索路径下的“构建设置”(设置框架路径)。以下获取框架搜索路径的信息
右键单击您的框架文件夹(例如:GoogleMaps.framework),选择“获取信息”,然后从“常规”->“复制”路径,然后将此路径粘贴到框架搜索路径中(该路径应包含在单行中)
好的,所以我设法找到了可以将带或不带cocoapods的GoogleMaps Sdk和Parse集成的可行解决方案。 但是,GoogleMaps使用-ObjC标志迫使我将FacebookSDK集成到公式中。 没有它,我找不到办法使它工作
因此,此配置适用于xcode 6.3+,并且需要使用旧版本的Facebook SDK(不使用cocoapods时)
与CocoaPods
1 /。 按照其网站上的说明添加Parse SDK(现有项目版本)
2 /。 添加额外的框架(AdSupport,帐户和社交)以及libstdc++.6.dylib
3 /。 打开终端到根文件夹
4 /。 $ pod init
5 /。 打开Podfile并将内容替换为以下内容:
use_frameworks!
platform :ios, ‘8.0’
pod 'GoogleMaps'
6 /。 $ pod install
然后$ pod update
7 /。 从此链接下载FacebookSDK
8 /。 将FBSDKCoreKit
和FBSDKLoginKit
框架添加到您的项目
9 /。 建立您的项目。
如果发生某些错误,则可能必须从项目中删除ParseFacebookUtils.framework
并仅保留ParseFacebookUtilsV4
。
没有CocoaPods
因此,此过程完全相同,除了您将使用问题中提到的链接或通过转到GoogleMaps podspecs并访问源URL下载最后一个而不是使用Pod安装GoogleMaps SDK来手动集成它。
确保添加GoogleMaps.framework和GoogleMaps.bundle,您可以通过在“资源”下的finder中右键单击GoogleMaps.framework / show来找到它们。 拖放到项目,并确保它已链接到项目构建设置/复制捆绑资源
另外,请确保在问题中提供的链接上列出了所有必需的框架和库。
在构建设置/其他链接器标志下添加-ObjC
标志
在集成FacebookSDK时,我注意到使用最新版本是行不通的。 显然,它准备使用xcode7。要解决此问题,只需在此处下载旧版本即可。
将FBSDKCoreKit和FBSDKLoginKit添加到项目中,您应该会很好。 希望能帮助某人使这项工作变得很痛苦...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.