2016-12-13 12 views
6

В настоящее время я пытаюсь построить IOS приложение из Unity, но продолжает работать в этих 4-х ошибок:Unity Xcode Project PlayerSettings_GetBundleIdentifier

Undefined symbols for architecture arm64: 
"_utilityBundleIdentifier", referenced from: 
     _NativeBinding_utilityBundleIdentifier_m3566456099 in Bulk_Assembly-CSharp-firstpass_4.o 
     _NativeBinding_GetBundleIdentifier_m2869188113 in Bulk_Assembly-CSharp-firstpass_4.o 
     _PlayerSettings_GetBundleIdentifier_m1189967083 in Bulk_Assembly-CSharp-firstpass_4.o 
    (maybe you meant: _NativeBinding_utilityBundleIdentifier_m3566456099) 
    "_utilityBundleVersion", referenced from: 
     _NativeBinding_utilityBundleVersion_m3211654534 in Bulk_Assembly-CSharp-firstpass_4.o 
     _NativeBinding_GetBundleVersion_m3758909934 in Bulk_Assembly-CSharp-firstpass_4.o 
     _PlayerSettings_GetBundleVersion_m1248687572 in Bulk_Assembly-CSharp-firstpass_4.o 
    (maybe you meant: _NativeBinding_utilityBundleVersion_m3211654534) 
    "_debugProLogMessage", referenced from: 
     _NativeBinding_debugProLogMessage_m135661794 in Bulk_Assembly-CSharp-firstpass_2.o 
    (maybe you meant: _NativeBinding_debugProLogMessage_m135661794) 
ld: symbol(s) not found for architecture arm64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Код выхода 1 - неопределенные символы для архитектуры arm64 обычно указывает на рамки, которые hasn» t, но эти ссылки указывают на PlayerSettings_GetBundleIdentifier, насколько я могу сказать свойство Unity.

Кроме того, когда идентификатор расслоения, версия & сборка устанавливается в XCode:

Xcode Bundle Identfier

Это другие флаги компоновщика Other Linker Flags

Что означает эта ошибка? Забыл ли я включить фреймворк и какой из них или что-то не так в настройках Unity или XCode?

ответ

1

Проблема возникла из-за того, что 3 метода, на которые ссылались в VoxelBusters, не существовали ни в одном из файлов .h & .m, которые были снабжены плагином. Используя __Internal DLLImport, вы связываете методы с Objective-C Code.

[DllImport("__Internal")] 
private static extern string utilityBundleVersion(); 
[DllImport("__Internal")] 
private static extern string utilityBundleIdentifier(); 
[DllImport("__Internal")] 
public static extern void debugProLogMessage (string _message, eConsoleLogType _type, string _stackTrace); 

Не было в проекте XCode. Когда я добавляю эти методы в AppDelegate.h & AppDelegate.m из Unity, ошибки исчезли, и теперь я могу продолжить работу.

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

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