2016-12-13 23 views
6

मैं वर्तमान में एकता से एक iOS एप्लिकेशन का निर्माण लेकिन इन 4 त्रुटियों में चालू रखने के लिए कोशिश कर रहा हूँ:एकता Xcode परियोजना 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 को इंगित करता है टी शामिल नहीं किया गया है लेकिन इन संदर्भों में PlayerSettings_GetBundleIdentifier को इंगित किया गया है, जहां तक ​​मैं एकता संपत्ति बता सकता हूं।

इसके अलावा जब बंडल पहचानकर्ता, संस्करण & निर्माण XCode में स्थापित कर रहे हैं:

Xcode Bundle Identfier

इन अन्य लिंकर झंडे Other Linker Flags

इस त्रुटि का क्या मतलब है कर रहे हैं? क्या मैं एक ढांचा शामिल करना भूल गया हूं, और एकता या एक्सकोड सेटिंग्स में कौन सा गलत है?

उत्तर

1

समस्या तब हुई क्योंकि वोक्सेलबस्टर में संदर्भित 3 विधियों में से किसी भी .h & .m फ़ाइलों में प्लगइन के साथ प्रदान नहीं किया गया था। __Internal DLLImport का उपयोग करके आप उद्देश्य-सी कोड में विधियों को लिंक करते हैं।

[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); 

एक्सकोड प्रोजेक्ट में मौजूद नहीं था। जब मैं इन विधियों को AppDelegate.h & एकता से AppDelegate.m में जोड़ता हूं तो त्रुटियां गायब हो जाती हैं और अब मैं काम करना जारी रख सकता हूं।