簡體   English   中英

Unity 4.5.5f1 + Facebook SDK 6

[英]Unity 4.5.5f1 + Facebook SDK 6

適用於iOS和Android的Unity游戲。

導出到iOS后,我嘗試在Xcode中進行編譯,然后得到:

.../Assets/Facebook/Editor/iOS/FbUnityInterface.mm:22:17: Method definition for 'initWithCookie:logging:status:frictionlessRequests:urlSuffix:' not found

我收到Apple Mach-O鏈接器錯誤

ld: file not found: .../Library/Developer/Xcode/DerivedData/Unity-iPhone-ailzvxifteluzgdrxapptghrbxca/Build/Products/XXX.app/XXX

clang:錯誤:鏈接器命令失敗,退出代碼為1(使用-v查看調用)

然后我得到:

Undefined symbols for architecture armv7: 
  "_iosFBSettingsPublishInstall", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBSettingsActivateApp", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsSetLimitEventUsage", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogPurchase", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogEvent", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何幫助都會很好。

謝謝

對於原始海報來說,這確實為時已晚,但是如果其他人偶然發現了這個問題並在尋找答案,則該線程具有此功能: Unity5 iOS的變通辦法,使用facebook-unity-sdk 6.2.1編譯錯誤

綜上所述,

  1. 轉到您的應用程序的“構建階段”,
  2. 擴展編譯源
  3. 滾動到FbUnityInterface.mm
  4. 雙擊列表中的項目。 它應該顯示一個用於輸入編譯器標志的文本字段。
  5. 輸入“ -fno-objc-arc”

注意:我不知道這些標志是什么或它們如何工作,但是它們幫助我克服了這個錯誤,所以萬歲! :)

由於大多數瀏覽器不再支持基於NPAPI的插件,因此Facebook API進行了重大更改。 這意味着也不支持Unity插件,取而代之的是我們必須發布到WebGL才能獲得基於瀏覽器的內容。 Facebook API尚未趕上來,我知道您正在為移動設備而構建,但是Facebook API的編寫方式將它們混合在一起。

這是關於此問題的Facebook開發者博客文章,以及它如何導致這些問題: https : //developers.facebook.com/blog/post/2015/01/30/preparing-unity-web-player/

我認為您要么不得不回滾到Unity 4.3,要么只是等待Facebook趕上來。 我認為最好在下個月取消您對Facebook的支持。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM