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

时间:2015-11-11 00:59:28

标签: ios xcode parse-platform google-maps-sdk-ios linker-flags

我正在使用Parse SDK(parse.com)处理项目(xcode 6.3+,swift)来处理数据。 最近,我们决定使用google maps sdk为用户提供使用方向API的指示。由于您可以在没有谷歌地图的情况下使用此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

enter image description here

enter image description here

所以我开始关注谷歌因为我在一个空白项目上做了同样的事情,一切都很好。

我开始找到有关使用Parse SDK导致与GoogleMaps需要工作的-ObjC链接器标志冲突的信息。大多数答案提供了两种可能的解决方案:

1。添加Facebook-iOS-SDK框架

尝试使用facebook提供的框架,以及使用cocoapods。不工作我仍然有错误。

2。通过以下

替换-ObjC标志来强制加载GoogleMaps框架
-force_load $(PROJECT_DIR)/Pods/GoogleMaps/Frameworks/GoogleMaps.framework

这也会返回错误: enter image description here

所以现在我完全迷失了解决这个问题的方法。是否有人找到了将GoogleMaps SDK与Parse集成的方法?

更新

我通过注入没有cocoapods的GoogleMaps尝试了不同的方法。为此,我使用了这种方法:GoogleMaps without CocoaPods

似乎正确地整合了自己,但-ObjC标志仍然存在。使用

-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps

现在正在响应但导致duplicate symbols for architecture x86_64错误。 似乎无法找到解决问题的方法。

2 个答案:

答案 0 :(得分:0)

你需要这样做

点击你的项目(目标) 单击Build Settings 在Framework搜索路径下(设置框架路径) 以下有关获取框架搜索路径的信息

右键单击您的框架文件夹(例如:GoogleMaps.framework) 选择获取信息 从General->复制路径,并在框架搜索路径中粘贴此路径(路径应包含在单行中) 祝你好运

答案 1 :(得分:0)

好的,所以我设法找到工作解决方案,用于集成GoogleMaps Sdk和Parse,无论是否有cocoapods。但是,GoogleMaps使用-ObjC标志迫使我将FacebookSDK集成到等式中。如果没有它,我找不到让它工作的方法

所以这个配置正在使用xcode 6.3+,它需要使用旧版本的Facebook SDK(不使用cocoapods时)

使用CocoaPods

1 /。按照website(现有项目版本)

中所述添加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 /。从此link

下载FacebookSDK

8 /。将FBSDKCoreKitFBSDKLoginKit框架添加到您的项目

9 /。建立你的项目。

如果发生错误,您可能需要从项目中删除ParseFacebookUtils.framework并仅保留ParseFacebookUtilsV4

没有CocoaPods

所以这是完全相同的程序,除了使用pods来安装GoogleMaps SDK,您将使用问题中提到的链接手动集成它,或者转到GoogleMaps podspecs并访问源URL以下载最后一个之一。

确保添加GoogleMaps.framework以及您可以找到的GoogleMaps.bundle,右键点击资源下的查找器中的GoogleMaps.framework / show。拖放到项目并确保它链接到项目构建设置/复制包资源

此外,请确保在问题中提供的链接上列出所有必需的框架和库。

在Build Settings / Other Linker Flags

下添加-ObjC标志

在集成FacebookSDK时,我注意到使用最新版本无效。显然,它已准备好与xcode 7一起使用。请解决此问题,只需下载旧版本here

将FBSDKCoreKit和FBSDKLoginKit添加到项目中,你应该好好去。 希望帮助某人做出这件事是一件痛苦的事情......