如何修复Apple Mach-O链接错误

时间:2014-03-31 17:41:51

标签: ios xcode cordova app-store xcode5

我正在尝试将我的IOS项目归档到Xcode 5中进行分发,我得到一个错误,其中包含" Apple Mach-O链接错误和:

Undefined symbols
for architecture arm64: "_OBJC_METACLASS_$_CDVCommandDelegateImpl",
referenced from: _OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o "_CDVLocalNotification",
referenced from: -[AppDelegate application: didReceiveLocalNotification: ] in AppDelegate.o "_OBJC_CLASS_$_CDVCommandDelegateImpl",
referenced from: _OBJC_CLASS_$_MainCommandDelegate in MainViewController.o "_OBJC_CLASS_$_CDVCommandQueue",
referenced from: _OBJC_CLASS_$_MainCommandQueue in MainViewController.o "_OBJC_METACLASS_$_CDVViewController",
referenced from: _OBJC_METACLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVViewController",
referenced from: _OBJC_CLASS_$_MainViewController in MainViewController.o "_OBJC_METACLASS_$_CDVCommandQueue",
referenced from: _OBJC_METACLASS_$_MainCommandQueue in MainViewController.o "_CDVPluginHandleOpenURLNotification",
referenced from: -[AppDelegate application: handleOpenURL: ] in AppDelegate.o
ld: symbol(s) not found
for architecture arm64
clang: error: linker command failed with exit code 1(use - v to see invocation)

简而言之,我该如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:0)

这种情况有很多相关的答案,这源于Apple将arm64添加到Xcode 5.1中的默认架构。

看起来你正在使用cordova,所以我从这里开始:

xcode 5.1: libCordova.a architecture problems

答案 1 :(得分:0)

执行以下步骤

  1. 选择您的项目图标
  2. 选择构建设置。
  3. 对于"架构",选择$ ARCHS_STANDARD - 标准架构 (armv7,armv7s,arm64)
  4. 对于"有效架构",添加" arm64"
  5. 选择您的CordovaLib.xcodeproj图标
  6. 在项目的构建设置(非目标)中,删除 条件架构设置(悬停以查看减号)
  7. 对于"架构",选择$ ARCHS_STANDARD - 标准架构 (armv7,armv7s,arm64)
  8. 对于"有效架构",添加" arm64"
  9. 转到6,但现在为"目标"
  10. 执行此操作

    如果您发现任何问题,请告诉我。