当我尝试使用xcodebuild构建框架时,我遇到了一些问题。我的xcode版本是6.1。
这条线很好用:
xcodebuild -target Knot3DLib -configuration Release -sdk iphoneos
但它不起作用:
xcodebuild -target Knot3DLib -configuration Release -sdk iphonesimulator
它说:
没有要编译的架构(ARCHS = i386 x86_64,VALID_ARCHS = arm64 armv7 armv7s)。
我的项目中没有将i386和x86_64定义为archs,为什么xcodebuild会尝试构建i386?这是我的架构构建设置:
我可以在模拟器和设备中从Xcode运行项目。
我尝试过其他类似的问题,但没有一个能为我效劳。
答案 0 :(得分:8)
模拟器只是一个模拟器。 Xcode构建在计算机上的模拟环境中运行的代码。您的计算机有一个intel CPU,而您的手机有一个ARM CPU。编译器为这些处理器生成不同的代码。
错误:
No architectures to compile for (ARCHS=i386 x86_64, VALID_ARCHS=arm64 armv7 armv7s).
告诉您,您尝试编译的架构:ARCHS=i386 x86_64
不在VALID_ARCHS
列表中。
i386
和x86_64
是intel CPU使用的架构。如果您尝试使用xcodebuild
构建框架,并且希望能够链接到模拟器sdk,则需要将i386
和x86_64
添加到VALID_ARCHS
列表中