Linker errors in xCode with Unity

Published by

on

Sometimes you are stuck with linker errors that drive your mad while building for iOS using XCode ( using Unity3D ). This post will be a ever growing list of how I solved them 😀 :

Linker error with device info …

“__GetNoTrackFlag”, referenced from:
RegisterMonoModules() in RegisterMonoModulesDC9EF89F0E4F4A47.o
“__GetCFBundleID”, referenced from:\
RegisterMonoModules() in RegisterMonoModulesDC9EF89F0E4F4A47.o\
ld: symbol(s) not found for architecture armv7\
clang: error: linker command failed with exit code 1 (use v to see invocation)

I have noticed that even though DeviceInfo was present in Build Phase , It kept throwing this error.

Solution?

  1. Delete the DeviceInfo bundle in Build Phase tab.
  2. Search for deviceInfo in your Unity Project ( do it from within the search box in Unity Editor and Show in Finder ) , usually found at “Assets/Plugins/iOS/DeviceInfo.framework”
  3. Drag and drop the bundle found in step 2 to the project .

Clean + build. And it should be all good !