繁体   English   中英

将Google Maps SDK与Parse.com Project iOS Swift结合使用

[英]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 /。 FBSDKCoreKitFBSDKLoginKit框架添加到您的项目

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM