将 Google Maps SDK 与 Parse.com 项目 iOS Swift 结合使用
Using Google Maps SDK with Parse.com Project iOS Swift
我正在使用 Parse SDK (parse.com) 处理数据的项目 (xcode 6.3+,swift)。
最近,我们决定使用 google 地图 sdk 为用户提供使用方向 API 的方向。由于您可以在没有 google 地图的情况下使用此 API,因此我开始整合它。这是我第一次接触 cocoapods,所以我按照说明开始玩了。
pod init
创建 pod 规范文件
这是我的配置来自 google 入门指南
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'GoogleMaps'
pod install
,然后使用 .xworkspace
启动项目
我直接尝试构建项目,它 returns 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
这returns也是一个错误:
所以现在我完全不知道解决这个问题的方法。有没有人找到将 GoogleMaps SDK 与 Parse 集成的方法?
更新
我尝试了一种不同的方法,即在没有 cocoapods 的情况下注入 GoogleMaps。为此,我使用了以下方法:
它似乎正确地整合了自身,但 -ObjC 标志仍然存在。使用
-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps
现在正在响应,但导致 duplicate symbols for architecture x86_64
错误。
似乎找不到解决该问题的方法。
你需要这样做
点击您的项目(目标)
单击构建设置
在框架搜索路径下(设置您的框架路径)
以下信息用于获取框架搜索路径
右键单击您的框架文件夹(例如:GoogleMaps.framework)
select 获取信息
从 General->where 复制路径并将此路径粘贴到您的框架搜索路径中(路径应包含在单行中)
祝你好运
好的,所以我设法找到了将 GoogleMaps Sdk 和 Parse 与 cocoa 和不与 cocoa 集成的工作解决方案pods。然而,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/。将 FBSDKCoreKit
和 FBSDKLoginKit
框架添加到您的项目
9/。建立你的项目。
如果出现某些错误,您可能需要从项目中删除 ParseFacebookUtils.framework
并仅保留 ParseFacebookUtilsV4
。
没有 CocoaPods
所以这是完全相同的过程,除了不是使用 pods 安装 GoogleMaps SDK,您将使用问题中提到的 link 手动集成它,或者转到 GoogleMaps podspecs 并访问源 url 下载最后一个。
确保添加 GoogleMaps.framework,以及 GoogleMaps.bundle,您可以通过右键单击 GoogleMaps.framework / 在资源下的查找器中显示来找到它。拖放到项目并确保它 linked 到项目构建设置/复制 Bundle Resources
此外,请确保在问题中提供的 link 中列出了所有必需的框架和库。
在构建设置/其他链接器标志下添加 -ObjC
标志
在集成 FacebookSDK 时,我注意到使用最新版本不起作用。显然,它已准备好与 xcode 7 一起使用。解决这个问题,只需下载旧版本
将 FBSDKCoreKit 和 FBSDKLoginKit 添加到项目中,你应该可以开始了。
希望对某人有所帮助,因为完成这项工作很痛苦...
我正在使用 Parse SDK (parse.com) 处理数据的项目 (xcode 6.3+,swift)。 最近,我们决定使用 google 地图 sdk 为用户提供使用方向 API 的方向。由于您可以在没有 google 地图的情况下使用此 API,因此我开始整合它。这是我第一次接触 cocoapods,所以我按照说明开始玩了。
pod init
创建 pod 规范文件
这是我的配置来自 google 入门指南
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'GoogleMaps'
pod install
,然后使用 .xworkspace
我直接尝试构建项目,它 returns 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
这returns也是一个错误:
所以现在我完全不知道解决这个问题的方法。有没有人找到将 GoogleMaps SDK 与 Parse 集成的方法?
更新
我尝试了一种不同的方法,即在没有 cocoapods 的情况下注入 GoogleMaps。为此,我使用了以下方法:
它似乎正确地整合了自身,但 -ObjC 标志仍然存在。使用
-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps
现在正在响应,但导致 duplicate symbols for architecture x86_64
错误。
似乎找不到解决该问题的方法。
你需要这样做
点击您的项目(目标) 单击构建设置 在框架搜索路径下(设置您的框架路径) 以下信息用于获取框架搜索路径
右键单击您的框架文件夹(例如:GoogleMaps.framework) select 获取信息 从 General->where 复制路径并将此路径粘贴到您的框架搜索路径中(路径应包含在单行中) 祝你好运
好的,所以我设法找到了将 GoogleMaps Sdk 和 Parse 与 cocoa 和不与 cocoa 集成的工作解决方案pods。然而,GoogleMaps 对 -ObjC 标志的使用迫使我将 FacebookSDK 集成到等式中。没有它我无法找到使它工作的方法
因此此配置适用于 xcode 6.3+,并且需要使用旧版本的 Facebook SDK(不使用 cocoapods)
使用 CocoaPods
1/。按照 website(现有项目版本)
中的说明添加 Parse SDK2/。添加额外的框架(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
下载 FacebookSDK8/。将 FBSDKCoreKit
和 FBSDKLoginKit
框架添加到您的项目
9/。建立你的项目。
如果出现某些错误,您可能需要从项目中删除 ParseFacebookUtils.framework
并仅保留 ParseFacebookUtilsV4
。
没有 CocoaPods
所以这是完全相同的过程,除了不是使用 pods 安装 GoogleMaps SDK,您将使用问题中提到的 link 手动集成它,或者转到 GoogleMaps podspecs 并访问源 url 下载最后一个。
确保添加 GoogleMaps.framework,以及 GoogleMaps.bundle,您可以通过右键单击 GoogleMaps.framework / 在资源下的查找器中显示来找到它。拖放到项目并确保它 linked 到项目构建设置/复制 Bundle Resources
此外,请确保在问题中提供的 link 中列出了所有必需的框架和库。
在构建设置/其他链接器标志下添加 -ObjC
标志
在集成 FacebookSDK 时,我注意到使用最新版本不起作用。显然,它已准备好与 xcode 7 一起使用。解决这个问题,只需下载旧版本
将 FBSDKCoreKit 和 FBSDKLoginKit 添加到项目中,你应该可以开始了。 希望对某人有所帮助,因为完成这项工作很痛苦...