我正在尝试在我的应用上添加FacebookSDK,但我不能,它会出现一些错误。 我已经使用Cocoapods安装了GoogleMaps。
所以首先我尝试使用Cocoapods来安装Facebook,但事实并非如此。在终端中显示此错误
[!] The 'Pods-test' target has transitive dependencies that include static binaries:
(/ Users / devews / Desktop / test / Pods / GoogleMaps / Base / Frameworks / GoogleMapsBase.framework,/ Users / uninstall / Desktop / test /Pods / GoogleMaps / Email / Frameworks / GoogleMaps.framework和/ Users / devews /桌面/测试/荚/谷歌地图/地图/框架/ GoogleMapsCore.framework)
这是我的podfile:
source 'https://github.com/CocoaPods/Specs.git'
target 'test' 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'
pod 'Bolts'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
end
其次,我尝试使用Cocoapods添加Facebook并删除“use_frameworks!”导致上一期问题的行,pod安装Facebook SDK,但是当我想在AppDelegate中导入以下行时:
import FBSDKCoreKit
它显示“没有这样的模块'FBSDKCoreKit'”,所以Facebook SDK没有真正安装,但我可以在项目中看到它如下图所示。
似乎是因为我删除了“use_frameworks!”这一行。在podfile上,所以它无法工作。
第三,我在podfile中删除了GoogleMaps并尝试手动添加它,但它显示了很多错误,可能是因为丢失文件但我不知道,因为我遵循了GoogleMaps文档: https://developers.google.com/maps/documentation/ios-sdk/start?hl=fr
最后,我决定在podfile中重新安装GoogleMaps并从podfile中删除Facebook SDK,然后手动添加Facebook SDK,如Facebook文档中所示,它试图在“框架搜索路径”中添加〜/ Documents / FacebookSDK “但似乎并没有改变任何事情,也没有想要工作。我想我这次不需要导入FBSDKCoreKit但是当我在AppDelegate中添加以下行时:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
GMSServices.provideAPIKey("AIzaSyCnSxY__6RFFzp2pJbQoLj8vAQrkWb2byA")
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
然后出现两个非常奇怪的错误:
如果我点击这两个错误就没有任何反应。 所以我创建一个新的Objective-C文件调用“test-Bridging-Header并写下以下内容:
// Use this file to import your target's public headers that you would like to expose to Swift.
#import <Google-Maps-iOS-Utils/GMUMarkerClustering.h>
#import "GMSMapView+ClusterKit.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
但同样的问题,没有什么不适合我。
如果有人知道如何解决这个大问题,因为我想在我的应用程序中使用FacebookSDK和GoogleMaps SDK,这似乎是不可能的。我在互联网上搜索了很多东西,但没有什么不能工作
答案 0 :(得分:0)
Google地图处于静态状态,Facebook处于动态状态,因此您可以通过Cocoapods安装它,这是正常的。 如果您使用Cocoapods安装GoogleMaps并手动添加FacebookSDK,那么这是更好的方法。 为了解决您的上一期:
首先需要在Project Navigator中单击项目名称,它似乎适合您&#34; test&#34;使用Xcode左上角的蓝色图标然后进入&#34; Build settings&#34;部分,在搜索字段中搜索&#34;框架搜索路径&#34;然后在这里双击它并在你的Mac上添加Facebook SDK的正确路径(在开发者网站的Facebook上,他们要求我们将FacebookSDK放在我们的Documents文件夹中),所以你只需写下以下路径:
/Users/$(USER)/Documents/FacebookSDK
第二件事,就在&#34; Build Settings&#34;的右边。你可以看到&#34; Build Phases&#34;,你点击它,然后点击&#34; Link Binary With Libraries&#34;在这里,您只需要通过拖放项目添加已添加的相同框架。所以点击+按钮并添加Bolts.framework,FBSDKCoreKit.framework,FBSDKLoginKit.framework和FBSDKShareKit.framework。
第三,您可以保留您创建的Bridging-Header.h文件并导入:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
没关系。 希望它可以帮到你。