没有物理iOS时,xcodebuild无法构建

时间:2014-09-05 03:50:56

标签: xcodebuild

xcodebuild手册:

可以在没有实际设备的情况下执行某些操作(例如构建)。建立反对      平台而不是特定设备,目标说明符可以以。为前缀      可选字符串" generic /" ,表示平台应该是一般目标。一个例子      通用目的地是当没有物理iOS时在Xcode的UI中显示的" iOS设备" 目的地      设备存在。

试一试:

  

xcodebuild -scheme Test -destination" platform = iOS,name = generic / iOS"
   xcodebuild:错误:无法找到与-destination标志的参数匹配的目标:
      找不到请求的设备,因为没有可用的设备与请求匹配。

4 个答案:

答案 0 :(得分:12)

根据xcodebuild man page上的示例,指定通用iOS目标的正确方法是:

xcodebuild -destination generic/platform=iOS ...

(对此描述的措辞肯定含糊不清或误导。如果没有这个例子我就不会想到这一点。)

答案 1 :(得分:3)

如果您收到以下错误:

*xcodebuild: error: Failed to build project WatsonCore with scheme WatsonCoreTests.
    Reason: A build only device cannot be used to run this target.*

试试这个:它在通用操作系统方面对我有用。仍需要指定硬件设备。

/usr/bin/xcodebuild -scheme YourScheme -project YourProject -configuration Debug **-destination 'platform=iOS Simulator,name=iPhone 6'** clean build test CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO

答案 2 :(得分:1)

我无法使用-desintation“platform = generic / ...”标志,但是使用iPhone OS SDK而不是模拟器SDK指定-sdk标志(xcodebuild -showsdks显示可用SDKs)允许我在没有连接设备的情况下成功构建:

xcodebuild -project someproject.xcodeproj -scheme somescheme -sdk iphoneos8.0 -configuration Debug

答案 3 :(得分:0)

当你使用'generic /'。

为destination-specifier添加前缀时,它会起作用
ios.xcode.destination.device=generic/platform=iOS

为我工作!!