4

最近在尝试绑定到 facebook ios 时购买了一个社交网络(通过 prime 31)得到一个错误(编译 Xcode 时):

架构 armv7 的未定义符号:
“_ twitterShowOauthLoginDialog”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “ _twitterPostStatusUpdateWithImage”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “ _twitterLogout”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “ _twitterIsLoggedIn”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “_ twitterInit”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “ _facebookShowDialog”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “_facebookSetSessionLoginBehavior",引用自:RegisterMonoModules.o 中的RegisterMonoModules() " _twitterShowTweetComposer",引用自:RegisterMonoModules.o 中的RegisterMonoModules() "_facebookShowFacebookComposer",引用自:RegisterMonoModules.o 中的RegisterMonoModules() " _facebookReauthorizeWithPublishPermissions",引用自:RegisterMonoModules ()在RegisterMonoModules.o“_facebookGetFacebookAccessToken”中,引用自: RegisterMonoModules()在RegisterMonoModules.o“ _sharingShareItems”中,引用自: RegisterMonoModules()在RegisterMonoModules.o“_facebookInit”中,引用自:RegisterMonoModules.o 中的 RegisterMonoModules()"_facebookReauthorizeWithReadPermissions”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “_ facebookLogout”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “ _facebookRenewCredentialsForAllFacebookAccounts”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “_facebookLoginWithRequestedPermissions”,引用自: RegisterMonoModules.o“ _twitterIsTweetSheetSupported”中的RegisterMonoModules(),引用自: RegisterMonoModules.o“_facebookGetSessionPermissions”中的RegisterMonoModules(),引用自:RegisterMonoModules.o“ _facebookIsLoggedIn”中的RegisterMonoModules(),引用自:RegisterMonoModules.o 中的 RegisterMonoModules() "_facebookShowFacebookShareDialog",引用自:RegisterMonoModules.o 中的RegisterMonoModules() " _facebookLoginUsingDeprecatedAuthorizationFlowWithRequestedPermissions",引用自:RegisterMonoModules.o 中的RegisterMonoModules() " _twitterPerformRequest",引用自:RegisterMonoModules.o 中的RegisterMonoModules() " _facebookGraphRequest",引用自:RegisterMonoModules () 在 RegisterMonoModules.o "_ twitterLoggedInUsername" 中,引用自:RegisterMonoModules() 在 RegisterMonoModules.o " _facebookGetAppLaunchUrl",引用自:RegisterMonoModules() 在 RegisterMonoModules.o "_facebookCanUserUseFacebookComposer”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules()“ _twitterCanUserTweet”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() “__facebookEnableFrictionlessRequests”,引用自:RegisterMonoModules.o 中的 RegisterMonoModules() ld:未找到符号架构 armv7 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)

谁遇到过这个问题?帮助!

4

1 回答 1

1

嵌入 prime31(或任何库)后出现的未定义符号错误通常意味着整个构建中缺少一个或多个依赖库。由于这发生在 iOS 编译时(而不是 Unity/.NET 编译时——这甚至会阻止您构建 Xcode 项目),这将其范围缩小到 Unity 生成的 Xcode 项目目录中缺少的内容。

现在,有时在 Unity 中,只需进行新构建并替换旧的构建目录即可将所有内容恢复正常。不过,您可能已经尝试过,所以如果这不起作用,手动解决问题仍然很容易。

这通常可以通过执行以下操作来解决:

1)打开Unity生成的最后一个Xcode项目

2) 导航回 Unity IDE。在“Editor”目录中右键单击所需prime31插件的目录,选择“Show in Finder”

3) 将任何库 (.a) 或头文件 (.h) 拖到 Xcode 项目中。在“构建阶段”中,确保所需的库链接到二进制文件。

4) 构建和运行

希望这会有所帮助。如果您需要任何澄清,请告诉我。

于 2014-04-10T16:42:18.740 回答