Cod*_*mit 237 iphone xcode objective-c xcode4
我刚刚升级到xcode 4.0,我无法再部署到iPhone,我得到Apple Mach-O链接器错误,但它仍适用于模拟器.
Ld /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel normal armv7
cd /Users/yveswheeler/iParcel
setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -F/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -filelist /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel.LinkFileList -dead_strip -all_load -ObjC -lxml2 -miphoneos-version-min=3.2 -framework UIKit -framework CoreGraphics -framework QuartzCore /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a -framework AddressBook -lz.1.2.3 -framework Foundation -framework CFNetwork -framework MobileCoreServices -framework SystemConfiguration -framework MessageUI -framework AudioToolbox -o /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
Gaj*_*han 215
这是永久的解决方案.一般覆盖项目可能会导致这个问题.尝试这种方法.
-UPDATE - Clang错误 - Mach-O链接器错误
在某些情况下,错误日志窗口显示.xctest错误,以解决它
- >选择您的项目
- >除此之外(在General选项卡之前)从下拉列表中选择projectTest文件
- >有一个选项(如ProjNameTests)
- >在主机应用程序中,只有在显示自定义时才从下拉列表中选择项目
DONE!

旧方法已删除
小智 73
刚遇到同样的问题.
解决方案(对我来说)=检查你的框架.
在我的情况下,我添加了与CoreData相关的类而没有"CoreData.framework".添加它解决了MACH_O的抱怨.
cat*_*ate 36
回复:标题中概述的问题:
以防万一其他人错过了明显的......
安装新版本的Xcode4并将现有文件拖入新项目后,我遇到了这个错误.我没有发现在"选择添加文件的选项:"对话框中未选中"添加目标"复选框.纠正我在Targets> Build Phases> Compile Sources中的遗漏解决了这个问题.
Joh*_*nes 21
这些答案都没有帮助我.然后我尝试重新安装Cocoapods:
pod deintegrate
pod install
Run Code Online (Sandbox Code Playgroud)
问题解决了!
Cod*_*mit 20
问题在于,在XCode 4中,依赖关系并不假设主项目的体系结构设置,就像之前在XCode 3中所做的那样.我必须遍历所有依赖关系,为正确的体系结构设置它们.
Wol*_*ert 13
我有同样的,并设法解决它.
在xcode 首选项中,位置选项卡将构建位置下的值更改为" Place build products in locations specified by targets".
小智 13
我挣扎了一段时间,在我的情况下,它最终成为搜索路径下的构建设置,称为FRAMEWORK_SEARCH_PATHS.这有助于我选择"级别"按钮,它似乎比较了我的项目,目标和"已解决"设置.我看到我的目标设置以某种方式覆盖了默认值"$(inherited)",被覆盖的值是XCode"解析"设置的原因.当我删除覆盖时,在这种情况下指定了3.2 sdk,链接器错误消失了 - 最近出现了一些关于我调用4.0后方法的类的警告.
关于那些警告 - 在我为最近的更改添加MessageUI框架之前,我从未见过它们.我怀疑,但不确定,当我添加该框架时,XCode试图通过向我的目标添加覆盖来做一些聪明的事情.我在任何时候都没有明确地做过.例如,警告是关于NSURL的URLByAppendingPathComponent方法,该方法直到sdk 4.0才出现.在添加MessageUI框架之前,我从未收到过警告.因为我删除了覆盖,我不再得到它们.
在CordovaLib.xcodeproj - > Build Settings中将"Build Active Architectures Only"更改为Yes是我的诀窍.之前应用程序在模拟器上运行,但不在设备上运行.
我只是尝试创建一个category class文件并得到这个奇怪的问题......最后....
创建导致问题的类别的错误方法:
New File- > Cocoa Touch- > Objective-C class,然后我将文件名修改为Category Class,如 name ..(即OriginalClass_CategoryName.h/mto OriginalClass+CategoryName.h/m,并且还修改了文件中的内容).
New File- > Cocoa Touch- > Objective-C category,它会自动生成文件(OriginalClass+CategoryName.h/m).
哦,我多么愚蠢!!
如果您使用的是CoreData,并且使用XCode为实体生成NSManagedObject子类,请确保仅为每个实体生成一个子类.
我的问题是它为同一个实体生成了多个NSManagedObject子类(并将它们放在不同的文件夹中).
我刚刚删除了所有这些并重新生成了NSManagedObject子类.
要添加修复此问题的奇怪内容列表...
我在全局头文件中有一些const CGFloat变量,如此
const NSInteger globalInteger1 = 2;
const NSInteger globalInteger2 = 3;
Run Code Online (Sandbox Code Playgroud)
我删除这些的那一刻,一切都很好:)