2016-08-29 3 views
1

Я пытаюсь построить нашу игру Unity с плагином Facebook для Android IL2CPP в Unity 5.4 (теперь официально поддерживается Android IL2CPP).Unity Facebook plugin build не работает для IL2CPP на Android

сборки не удается, ошибка выборки ссылка:

Temp/StagingArea\Il2Cpp\il2cppOutput/Bulk_Facebook.Unity_0.cpp:16129: error: undefined reference to 'IOSInit' 

Кто-нибудь еще пробовал это еще? Совет?

Я не знаю, пытались ли пользователи Facebook пробовать Android Il2CPP :), но если нет, подумайте, что это голосование за его поддержку. Мы определенно планируем перейти на IL2CPP для улучшения совместимости с временем работы/производительности/обфускации на Android/iOS.

ответ

0

Очевидный и короткий ответ: вы пытаетесь связать код iOS с Android :) Попробуйте исключить плагины iOS из сборки, например, установив флажки платформы в инспекторе плагина Unity.

Подробнее:

Скорее всего, плагин имеет некоторый код, который вызывает IOS конкретных функций с помощью PInvoke. Звонок, вероятно, окружен

if (Application.platform == RuntimePlatform.iPhonePlayer) 

поэтому его фактически не называют на других платформах.

Это хорошо работает на Mono. Но при создании для IL2CPP Unity преобразует весь управляемый код в источник C++, компилирует и связывает его. При связывании он должен иметь определенную функцию iOS - это не удается при создании Android IL2CPP.

Решение состоит в том, чтобы исключить этот код из сборки. Если у вас есть исходный код, окружают IOS звонки с

#if UNITY_IOS 

Если у вас нет исходного кода, попробуйте исключить ненужные узлы из сборки.

В то же время я свяжусь с ребятами из Facebook и попрошу исправить это.

 Смежные вопросы

  • Нет связанных вопросов^_^