无论我做什么(我可能做错了)当我尝试构建我的统一IOS应用程序进行测试时,Xcode总是说'找不到FBSDKShareKit / FBSDKShareKit'.h文件。
我在Xcode项目中添加了iOS快速入门中指出的Facebook SDK。 从Facebook SDK文件夹中,将文件夹FBSDKCoreKit.Framework,FBSDKLoginKit.Framework,FBSDKShareKit.Framework拖到Xcode Projects Framework文件夹中。然后按照规定配置了info.plist,当然还提供了bundle标识符。它也给出了同样的问题。 老实说,我在这个问题上已经花了6周多的时间。我处于精神和身体崩溃的边缘,接近被解雇。请提供一些建议。我在同一页面尝试了所有其他答案,但没有工作。请帮忙!!
答案 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)
$(继承) $(PROJECT_DIR)/ Frameworks \ Plugins / iOS / Facebook(看第一个斜线的错误方向)
到
$(SCROOT) $(继承)$(PROJECT_DIR)/ Frameworks / Plugins / iOS / Facebook
这终于我现在可以去睡觉了!谢谢drekka!
答案 4 :(得分:2)
答案 5 :(得分:1)
很难说出你的问题是什么,我从未使用过这些框架。但听起来你可能已经将它们添加到项目中,在编译期间链接它们,但它们没有被添加到最终的应用程序包中。
这可能会有所帮助,也可能没有帮助,但根据您的说法,我会看到它。检查您的构建阶段'。你应该在' Link Binary With Libraries'中看到框架。相。然后,您需要查找一个阶段(如果不存在,则添加一个阶段),这是一个“复制文件阶段”。通过选择“新建复制文件阶段”来添加一个'点击' +'在列表的顶部。
在'复制文件阶段'中,设置'目的地'到框架'然后将Facebook框架添加到要复制的文件列表中。
如果上述方法不是检查“运行路径搜索路径”,则另一个选项也可能有用。在您的构建设置中。如果未设置,请尝试将其设置为' @ executable_path / Frameworks @ loader_path / Frameworks'。
希望这会有所帮助。
答案 6 :(得分:1)
就我而言,在macOS上,我遵循了所有说明,但仍然出现错误。我再次检查,文件是“那里”:
但是实际上它们是在我的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)
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 找不到某些库的原因。