Xcode总是说'找不到FBSDKShareKit / FBSDKShareKit'.h文件

时间:2016-02-24 00:15:57

标签: ios xcode unity3d

无论我做什么(我可能做错了)当我尝试构建我的统一IOS应用程序进行测试时,Xcode总是说'找不到FBSDKShareKit / FBSDKShareKit'.h文件。

我在Xcode项目中添加了iOS快速入门中指出的Facebook SDK。 从Facebook SDK文件夹中,将文件夹FBSDKCoreKit.Framework,FBSDKLoginKit.Framework,FBSDKShareKit.Framework拖到Xcode Projects Framework文件夹中。然后按照规定配置了info.plist,当然还提供了bundle标识符。它也给出了同样的问题。 老实说,我在这个问题上已经花了6周多的时间。我处于精神和身体崩溃的边缘,接近被解雇。请提供一些建议。我在同一页面尝试了所有其他答案,但没有工作。请帮忙!!

11 个答案:

答案 0 :(得分:57)

我在XCode 10中遇到了这个问题!!! 以此方式排序:

  • 选择Libraries > RCTFBSDK.xcodeproj
  • 选择Build Settings > Framework Search Paths
  • ~/Documents/FacebookSDK替换为$(HOME)/Documents/FacebookSDK(带括号!)

信不信由你,现在就行了!

答案 1 :(得分:15)

如果您因为尝试使用facebook / react-native-fbsdk而来到这里,那么您只需要将以下行添加到您的Podfile中:

pod install

然后

Public Sub PostedLink(ByVal id As String, ByVal link As String) Dim query As String = "UPDATE Table SET torf = 1, link = @link WHERE id = @id;" Dim affectedRows As Integer = 0 Try Using con As New SQLiteConnection(connectionString) con.Open() Using cmd As New SQLiteCommand(con) cmd.CommandTimeout = 20 cmd.CommandText = query With cmd.Parameters .Add(New SQLiteParameter("@link", link)) .Add(New SQLiteParameter("@id", id)) End With 'Dim dr As SQLiteDataReader 'dr = cmd.ExecuteReader() affectedRows = cmd.ExecuteNonQuery() End Using con.Close() End Using Catch ex As Exception AddErrors("Updating table", ex.ToString) End Try End Sub

构建并运行!

答案 2 :(得分:4)

我遇到了同样的问题并解决了问题。<> 我的解决方案 1.按照https://developers.facebook.com/docs/react-native/getting-started-ios中的步骤操作 2.检查xcode proj - >库,找到并打开文件RCTFBSDK.xcodeproj然后在构建设置中更新fb sdk路径 - >框架搜索路径。

有效。 我想有时候库中的RCTFBSDK.xcodeproj无法从主xcodeproj更新框架搜索路径,所以我们需要手动完成。 希望我的解决方案可以帮到你,谢谢。

答案 3 :(得分:2)

Drekka我终于退出游戏,直到我读到这个答案,它给了我一个想法尝试不同的东西。 这最终对我有用: 框架搜索路径设置错误我是这样的细节我不会注意到它,如果我没有沉迷于它: 在目标 - 构建设置 - 搜索路径 - 框架搜索路径更改为:

$(继承) $(PROJECT_DIR)/ Frameworks \ Plugins / iOS / Facebook(看第一个斜线的错误方向)

$(SCROOT) $(继承)$(PROJECT_DIR)/ Frameworks / Plugins / iOS / Facebook

这终于我现在可以去睡觉了!谢谢drekka!

答案 4 :(得分:2)

如果您认为一切都正确,但仍然无法正常工作,请确保FB [LoginKit,ShareKit和CoreKit]位于您的“复制捆绑资源”中。

enter image description here

这花了我几个小时才弄清楚,希望它可以帮助别人!

答案 5 :(得分:1)

很难说出你的问题是什么,我从未使用过这些框架。但听起来你可能已经将它们添加到项目中,在编译期间链接它们,但它们没有被添加到最终的应用程序包中。

这可能会有所帮助,也可能没有帮助,但根据您的说法,我会看到它。检查您的构建阶段'。你应该在' Link Binary With Libraries'中看到框架。相。然后,您需要查找一个阶段(如果不存在,则添加一个阶段),这是一个“复制文件阶段”。通过选择“新建复制文件阶段”来添加一个'点击' +'在列表的顶部。

在'复制文件阶段'中,设置'目的地'到框架'然后将Facebook框架添加到要复制的文件列表中。

如果上述方法不是检查“运行路径搜索路径”,则另一个选项也可能有用。在您的构建设置中。如果未设置,请尝试将其设置为' @ executable_path / Frameworks @ loader_path / Frameworks'。

希望这会有所帮助。

答案 6 :(得分:1)

就我而言,在macOS上,我遵循了所有说明,但仍然出现错误。我再次检查,文件是“那里”: enter image description here

但是实际上它们是在我的iCloud帐户上(请注意那些带有小云图标的帐户)。因此,我将这些文件下载到了磁盘上,并成功编译了该应用程序!

答案 7 :(得分:0)

以上所有答案最终对我不起作用。最后起作用的是将Facebook SDK文件夹名称更改为FacebookSDK,并将其移至Macbook上的Documents。请记住,还要在构建设置下相应地更改Frameworks搜索路径。

答案 8 :(得分:0)

通过Unity3D为iOS构建游戏时出现此错误。

facebook sdk的基本较新版本不包含框架,希望您使用cocoapods下载它们。

因此,在Windows上通过统一编译后,我复制了生成的文件夹并将其粘贴到我的Macbook中。

然后,您需要从该文件夹调用pod install命令(通过打开Terminal并导航到xcode所在的文件夹,然后执行pod install)。 Cocoapods将下载所需的内容,然后进行编译。

pod install可能需要20分钟才能真正完成。对我来说,它已经冻结了,但是您可以打开资源监视器,然后在“网络”选项卡下看到Cocoapods确实是从Internet下载内容。因此,请花一些时间。

然后,在终端中查找进一步的说明(基本上它将生成一个新文件,您必须立即通过该文件打开您的项目)。

答案 9 :(得分:0)

7.16.1版以上的

FB Sdk出现此问题。实际上,它在Framework文件夹中没有文件。

使用FBSDK v7.16.1进行构建时,此错误已消除,但由于api使用率(UIWebView)下降,Appstore拒绝了该应用程序。

我使用FBSDK v7.19.2解决了它。

1)在为xcode构建项目时,它显示提及错误,找不到shareKit。我可以通过将我以前构建的framework文件夹(带有fbsdk v7.16.1)中的facebookSDK文件夹复制到当前xcode文件夹的相同位置(frameworks / FacebookSDK ....)中来解决该问题

2)然后,打开xcode项目,从以下位置添加文件:Frameworks / FacebookSDK / Plugins / IOS /(sharekit,corekit,loginkit)到Xcode的Frameworks中。

3)将“ $(PROJECT_DIR)/ Frameworks / FacebookSDK / Plugins / iOS”添加到Framework Search Paths中的Xcode的构建设置中。

4)在终端中打开项目:键入“ grep -r“ UIWebView”。 ,如果显示与UIWebView匹配,请通过打开文件将其删除。

5)如果在FBSDKCoreKit的二进制文件中显示匹配项。在MAC上的TextEdit中打开文件,然后找到所有“ UIWebView”并将其替换为“ WKWebView”

6)保存并再次将其添加到Xcode的Frameworks中。建立并推送到应用商店。

答案 10 :(得分:0)

如果你还没有先安装 cocoapods:

sudo gem install cocoapods

然后转到您的 Xcode 项目目录并执行

pod install

它应该创建一个 .xcworkspace 打开它并构建您的项目。你不会有问题的。

.xcworkspace 必须由可可豆创建,而不是 Unity。有时,Unity 会创建它,因此缺少 Pod,这就是 Xcode 找不到某些库的原因。