Prime31的社交网络iOS插件

4
最近购买了一个名为Social Network(由prime 31开发)的软件,尝试绑定到Facebook时,在编译Xcode时出现错误:
未定义的架构符号 armv7:
"_twitterShowOauthLoginDialog",在 RegisterMonoModules() 中被引用 "_twitterPostStatusUpdateWithImage",在 RegisterMonoModules() 中被引用 "_twitterLogout",在 RegisterMonoModules() 中被引用 "_twitterIsLoggedIn",在 RegisterMonoModules() 中被引用 "_twitterInit",在 RegisterMonoModules() 中被引用 "_facebookShowDialog",在 RegisterMonoModules() 中被引用 "_facebookSetSessionLoginBehavior",在 RegisterMonoModules() 中被引用 "_twitterShowTweetComposer",在 RegisterMonoModules() 中被引用 "_facebookShowFacebookComposer",在 RegisterMonoModules() 中被引用 "_facebookReauthorizeWithPublishPermissions",在 RegisterMonoModules() 中被引用 "_facebookGetFacebookAccessToken",在 RegisterMonoModules() 中被引用 "_sharingShareItems",在 RegisterMonoModules() 中被引用 "_facebookInit",在 RegisterMonoModules() 中被引用 "_facebookReauthorizeWithReadPermissions",在 RegisterMonoModules() 中被引用 "_facebookLogout",在 RegisterMonoModules() 中被引用 "_facebookRenewCredentialsForAllFacebookAccounts",在 RegisterMonoModules() 中被引用 "_facebookLoginWithRequestedPermissions",在 RegisterMonoModules() 中被引用 "_twitterIsTweetSheetSupported",在 RegisterMonoModules() 中被引用 "_facebookGetSessionPermissions",在 RegisterMonoModules() 中被引用 "_facebookIsLoggedIn",在 RegisterMonoModules() 中被引用 "_facebookShowFacebookShareDialog",在 RegisterMonoModules() 中被引用 "_facebookLoginUsingDeprecatedAuthorizationFlowWithRequestedPermissions",在 RegisterMonoModules() 中被引用 "_twitterPerformRequest",在 RegisterMonoModules() 中被引用 "_facebookGraphRequest",在 RegisterMonoModules() 中被引用 "_twitterLoggedInUsername",在 RegisterMonoModules() 中被引用 "_facebookGetAppLaunchUrl",在 RegisterMonoModules() 中被引用 "_facebookCanUserUseFacebookComposer",在 RegisterMonoModules() 中被引用 "_twitterCanUserTweet",在 RegisterMonoModules() 中被引用 "_facebookEnableFrictionlessRequests",在 RegisterMonoModules() 中被引用 ld: 找不到符号 (s) 适用于架构 armv7 clang: 链接器命令失败,退出代码为1 (使用-v查看调用)

谁遇到了这个问题?求帮助!


1
你需要为你的项目添加适当的框架。请查看你正在使用的库的说明。 - rmaddy
1个回答

1
在嵌入prime31(或任何库)后出现未定义符号错误通常意味着一个或多个依赖库缺失于整体构建中。由于这发生在iOS编译时(而不是Unity/.NET编译时——这将防止您甚至构建Xcode项目),因此这将缩小到从Unity生成的Xcode项目目录中缺少某些内容。
现在,有时在Unity中,只需进行新构建并替换旧构建目录,就可以使一切恢复正常。不过您可能已经尝试过了,所以如果这种方法不起作用,手动解决问题仍然相当容易。
通常可以通过执行以下步骤来解决这个问题:
1)打开Unity生成的最后一个Xcode项目
2)返回Unity IDE。右键单击“Editor”目录中所需的prime31插件目录,并选择“在Finder中显示”
3)将任何库(.a)或头文件(.h)拖到Xcode项目中。在“Build Phases”中确保所需的库链接到二进制文件。
4)构建和运行
希望这能有所帮助。如果您需要任何澄清,请告诉我。

我尝试了你的解决方案,但没有结果。我将 .a 和 .h 文件拖到项目 / Libraries 文件夹中,然后将这些文件添加到“Build Phases”/“Link Binary With Libraries”类别中。我有什么遗漏吗? - Jilberta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接