Undefined symbols for architecture armv7 - Help!

Once again, after updating a project, I’m getting hundreds of these linker errors:

Everything I can find on this error says it’s caused by old code that needs to be updated. I’ve updated, deleted, reinstalled the current versions of the two plug-ins I use (EZGUI and Etcetera), and that didn’t help. As far as I can tell, there is no old code in my project.

Could this be caused by old Unity files? I see that if I create a new project with Unity 4.2, the Library folder has far fewer files than a project updated to 4.2. Could some of these files from previous versions of Unity be causing the problem? I’ve tried deleting or replacing some of the library files from a new project, but that didn’t help. I also learned that deleting/replacing certain library files destroys the project. Is there any place else I should look for old files?

Funny thing, this project worked just fine when I last opened it, after the update. All I did was open the project, change a camera setting, and build. Not sure what changed, since I haven’t touch this project in a few weeks.

Does it work if you export all files from the project and then import them to a new project?

on unity upgrade you should always

  1. replace on first project build
  2. clean generated project just in case (to avoid xcode leftovers)

I haven’t tried that yet, it’s a last resort. Is there a way to do that without losing all the script assignments and Inspector settings? The thought of having to reassign all the scripts and resetup all the variables is making me wait to see if there are other solutions.

As far as the Xcode build, yes, I’ve deleted the old Xcode project and rebuilt it many times, and always clean the project in Xcode.

hm, if you say you get hundred of errors like that - maybe you miss unity player lib from project?
check libiPhone-lib.a in /Libraries
as a means of debugging you can try building with “symlink something-something” set in build window, and check where symlink points (maybe there is some bug so you get wrong lib, or somebody replace it)

I am getting this same error. It came after the latest Unity update and moving to XCode 5 and iOS7. Help is needed urgently. The only reason I upgraded to the latest Apple stuff if because of a crash on iOS 7 that got my game rejected from App Review. Now I can’t resubmit because of this error.

There are two most common causes for this issue:

  1. your Xcode project comes from old unity version and should be replaced when re-building in new Unity
  2. your Unity installation got broken. In such case:
    a) unmount all Unity installers in Finder
    b) re-mount latest Unity installer dmg
    c) re-install Unity
    d) replace Xcode project when building with freshly installed Unity
1 Like

Reinstalling Unity did the trick! FINALLY!

1 Like

Hello Mantas,

Is there a way to export and then reimport Xcode project settings. There are settings, flags, and icons that need to be set manually and replacing the project gets rid of these and they have to be resetup.

It’s happening again. The same damn project, since I’ve updated to Mavericks and Xcode, I’m now getting hundreds of linker errors again. I’ve deleted the iOS project, cleaned it, and it still generates these errors.

One thing I’ve noticed after updating Xcode is the project settings in the Xcode project are not always the same, even though they are the same in Unity.

Is there any way to start with a new Unity project (created with the current version of Unity) without having to redo EVERYTHING?

Update: After reinstalling Unity AGAIN, and switching to build for iOS 5.0 (previously 4.x), it now runs on my iPad, but when I try to create an archive it gives me an error that it can’t read the default portrait splash screen (I’m not even using the portrait orientation or have portrait splash screen). That’s a new one.

After copying the PNG from another project, it gets past that but stops with this error:

Same as I’ve gotten with other projects since updating recently. On another project, I set Build Active Architectures Only to Yes, but that doesn’t work on this project. Builds and runs on my iPad, but just won’t archive.

I am having similar issues with the build after the 4.3 upgrade. I got linker errors in XCode for “UnityPause” and a few other such things (tried with Symlink Unity libs). I have tried reinstallation but with no luck. I wonder if the build pipeline has some sort of general problem with this release; the much heralded “build for iOS on Windows” is also throwing up linker errors en masse for example…all of the errors we are getting might be red-herrings masking a more fundamental problem under the hood…?

Unity 4.3 changed how UnityPause() function is declared. Your native plugins need update to work with Unity 4.3.

Ah, user error then…thanks!

I’m having the problem now since updating to unity 4.5.

I did replace the folder (even removed and recreated it)

I did reinstall Unity twice (after unmounting and stuff like Mantas said, and I also even restarted the whole computer)

Here’s a dump of the errors I get in xCode

Undefined symbols for architecture armv7:
  "_kCTSuperscriptAttributeName", referenced from:
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kCTParagraphStyleAttributeName", referenced from:
      _NSAttributedStringAttributesFromLabel in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kCTForegroundColorAttributeName", referenced from:
      -[BITAttributedLabel commonInit] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      _NSAttributedStringAttributesFromLabel in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawTextInRect:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      ___NSAttributedStringBySettingColorFromContext_block_invoke in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFontGetSize", referenced from:
      ___NSAttributedStringByScalingFontSize_block_invoke in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kCTForegroundColorFromContextAttributeName", referenced from:
      -[BITAttributedLabel renderedAttributedText] in libHockeyAppUnity.a(BITAttributedLabel.o)
      ___NSAttributedStringBySettingColorFromContext_block_invoke in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFramesetterSuggestFrameSizeWithConstraints", referenced from:
      -[BITAttributedLabel textRectForBounds:limitedToNumberOfLines:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel sizeThatFits:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTParagraphStyleCreate", referenced from:
      _NSAttributedStringAttributesFromLabel in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFontCreateWithName", referenced from:
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      _NSAttributedStringAttributesFromLabel in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetImageBounds", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetGlyphRuns", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTRunGetStringRange", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetOffsetForStringIndex", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineCreateWithAttributedString", referenced from:
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineCreateTruncatedLine", referenced from:
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kCTFontAttributeName", referenced from:
      _NSAttributedStringAttributesFromLabel in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawTextInRect:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      ___NSAttributedStringByScalingFontSize_block_invoke in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFramesetterCreateFrame", referenced from:
      -[BITAttributedLabel characterIndexAtPoint:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel sizeThatFits:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFrameGetLines", referenced from:
      -[BITAttributedLabel characterIndexAtPoint:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel sizeThatFits:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetTypographicBounds", referenced from:
      -[BITAttributedLabel characterIndexAtPoint:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetStringRange", referenced from:
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel sizeThatFits:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTLineGetStringIndexForPosition", referenced from:
      -[BITAttributedLabel characterIndexAtPoint:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecAttrAccount", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kSecValueData", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kSecClass", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils purgeItemsForServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_CTLineDraw", referenced from:
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecReturnData", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_CTRunGetTypographicBounds", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_SecItemAdd", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_CTFrameGetLineOrigins", referenced from:
      -[BITAttributedLabel characterIndexAtPoint:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawFramesetter:attributedString:textRange:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecAttrAccessibleWhenUnlocked", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kSecReturnAttributes", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_SecItemCopyMatching", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kCTUnderlineStyleAttributeName", referenced from:
      -[BITAttributedLabel commonInit] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecClassGenericPassword", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils purgeItemsForServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kSecAttrService", referenced from:
      +[BITKeychainUtils getPasswordForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils purgeItemsForServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_CTRunGetAttributes", referenced from:
      -[BITAttributedLabel drawBackground:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecAttrLabel", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_kSecAttrAccessibleWhenUnlockedThisDeviceOnly", referenced from:
      -[BITHockeyManager modifyKeychainUserValue:forKey:] in libHockeyAppUnity.a(BITHockeyManager.o)
      ___bit_appAnonID_block_invoke in libHockeyAppUnity.a(BITHockeyHelper.o)
      -[BITHockeyBaseManager addStringValueToKeychainForThisDeviceOnly:forKey:] in libHockeyAppUnity.a(BITHockeyBaseManager.o)
  "_CTFontGetUnderlineThickness", referenced from:
      -[BITAttributedLabel drawStrike:inRect:context:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_SecItemDelete", referenced from:
      +[BITKeychainUtils deleteItemForUsername:andServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
      +[BITKeychainUtils purgeItemsForServiceName:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_SecItemUpdate", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
  "_CTFramesetterCreateWithAttributedString", referenced from:
      -[BITAttributedLabel framesetter] in libHockeyAppUnity.a(BITAttributedLabel.o)
      -[BITAttributedLabel drawTextInRect:] in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_CTFontCreateCopyWithAttributes", referenced from:
      ___NSAttributedStringByScalingFontSize_block_invoke in libHockeyAppUnity.a(BITAttributedLabel.o)
  "_kSecAttrAccessible", referenced from:
      +[BITKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:accessibility:error:] in libHockeyAppUnity.a(BITKeychainUtils.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

oh I see it comes from hockey app, I’ll check there