最近在尝试绑定到Facebook ios时购买了一个社交网络(截至Prime 31)(在编译Xcode时)出现错误:
架构armv7的未定义符号:
“_twitterShowOauthLoginDialog”,引用自:
RegisterMonoModules.o“_twitterPostStatusUpdateWithImage”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterLogout”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterIsLoggedIn”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterInit”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookShowDialog”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookSetSessionLoginBehavior”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterShowTweetComposer”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookShowFacebookComposer”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookReauthorizeWithPublishPermissions”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookGetFacebookAccessToken”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_sharingShareItems”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookInit”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookReauthorizeWithReadPermissions”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookLogout”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookRenewCredentialsForAllFacebookAccounts”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookLoginWithRequestedPermissions”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterIsTweetSheetSupported”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookGetSessionPermissions”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookIsLoggedIn”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookShowFacebookShareDialog”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookLoginUsingDeprecatedAuthorizationFlowWithRequestedPermissions”中的RegisterMonoModules(),
引用自:
RegisterMonoModules.o“_twitterPerformRequest”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookGraphRequest”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterLoggedInUsername”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookGetAppLaunchUrl”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_facebookCanUserUseFacebookFacebookComposer”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“_twitterCanUserTweet”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o“__facebookEnableFrictionlessRequests”中的RegisterMonoModules(),引用自:
RegisterMonoModules.o中的RegisterMonoModules()ld:找不到体系结构armv7 symbol的符号:错误:链接器命令失败
退出代码1(使用-v查看调用)
谁面对这个问题?救命!
最佳答案
嵌入prime31(或任何库)后出现的未定义符号错误通常表示整个构建中缺少一个或多个依赖库。由于这是在iOS编译时发生的(而不是Unity / .NET编译时发生的,这甚至会阻止您构建Xcode项目),因此将其范围缩小到Unity生成的Xcode项目目录中缺少的内容。
现在,有时在Unity中,只需执行新的构建并替换旧的构建目录,即可将所有内容恢复到正常状态。不过,您可能已经尝试过此操作,因此,如果该操作不起作用,手动解决问题仍然很容易。
通常可以通过执行以下操作解决此问题:
1)打开由Unity生成的最后一个Xcode项目
2)导航回到Unity IDE。右键单击“Editor”目录中所需prime31插件的目录,然后选择“在Finder中显示”
3)将任何库(.a)或头文件(.h)文件拖到Xcode项目中。在“构建阶段”中,确保所需的库链接到二进制文件。
4)建立并运行
希望有帮助。让我知道您是否需要任何澄清。