I am currently trying to build an iOS App from Unity but keep running into these 4 errors:
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)
Exit code 1 - Undefined symbols for architecture arm64 usually points to a framework that hasn't been included but these references point to PlayerSettings_GetBundleIdentifier which is as far as I can tell a Unity Property.
Also when the bundle identifier, version & build are set in XCode:
These are the other linker flags
What does this error mean? Have I forgotten to include a framework, and which one or is there something wrong in the Unity or XCode settings?
The issue occured because the 3 methods that were referenced in the VoxelBusters did not exist in any of the .h & .m files that were provided with the plugin. Using the __Internal DLLImport you link the methods to Objective-C Code.
Did not exist in the XCode Project. When I add these methods to the AppDelegate.h & AppDelegate.m from Unity the errors disappeared and now I can continue working.