빌드 전용 장치는이 대상을 실행하는 데 사용할 수 없습니다.


85

앱을 테스트하려고 할 때이 오류가 발생합니다.

이 대상을 실행하는 데 빌드 전용 장치를 사용할 수 없습니다.

지원되는 iOS 기기가 없습니다. 장치를 연결하여 애플리케이션을 실행하거나 시뮬레이션 된 장치를 대상으로 선택하십시오.


기기를 사용 중이고 Apple 개발자 계정이있는 경우 기기에서 앱을 삭제 한 다음 실행하세요.
BollMose

답변:


78

추가 -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'xcodebuild


7
설명 : Xcode는 Generic iOS Device로 빌드를 시도하지만 테스트는 시뮬레이터에서 빌드해야합니다.
Adriana

7
완전하고 작동하는 명령 :xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
Jianxin Gao

/ usr / bin / xcodebuild는 바이너리 파일입니다. 수정해서는 안됩니다.
Per Quested Aronsson

수정하려는 이유는 무엇입니까?
Quver

이것을에 추가 할 필요가 없습니다 xcodebuild. 매개 변수를 사용하여이 명령을 실행하기
만하면

44

구성표가 일반 장치로 전환되었을 수 있습니다. 구성표 메뉴에서 연결된 장치를 다시 선택하십시오.

메뉴 이미지


18

아래는 내 방식입니다

프로젝트 선택-> 일반-> 배포 정보-> 배포 대상-> 하위 버전 선택 여기에 이미지 설명 입력


1
이 사례는 배포 대상이 로컬 배포 대상보다 높은 프로젝트를 가져올 때 유용하며 값을 낮추면 문제를 해결할 수 있습니다.
Parama Dharmika 2018

7

"일반 iOS 장치"만 선택할 수있는 문제가 있습니다. 그리고 내가 실행할 때 "빌드 전용 장치를이 대상을 실행하는 데 사용할 수 없습니다. 지원되는 iOS 장치를 사용할 수 없습니다. 장치를 연결하여 응용 프로그램을 실행하거나 시뮬레이션 된 장치를 대상으로 선택하십시오"라고 표시됩니다.

문제에 대한 내 솔루션은 빌드 설정 ---> 배포 -----> IOS 배포 대상 ----> 8.0과 같은 낮은 버전을 선택하는 것입니다.

시뮬레이터가 나오고 선택할 수 있습니다.


최신 OS 버전이 설치된 시뮬레이터가 있습니까? 호환 가능한 레거시 시뮬레이터 런타임 목록을 보려면 Xcode-> 환경 설정-> 다운로드로 이동하십시오.
Lepidopteron

7

유효한 목적지 목록을 가져와야합니다. 이를 위해 잘못된 키-값 쌍을 지정하면 xcodebuild가 작동하는 조합을 뱉어냅니다.

대상 나열 명령

xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget

출력 예

Available destinations for the "ThatTestTarget" scheme:
    { platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
    { platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
    { platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
    { platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
    { platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
    { platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
    { platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
    { platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }

등호에 대한 콜론 변경, 공백 제거, ID 무시

따라서이 대상을 사용하려는 경우 :

platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)

쉼표의 콜론을 변경하고 공백을 제거하고 ID를 제거하면 다음 문자열이 표시됩니다.

platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)

그러면 전체 명령은 다음과 같습니다.

xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget

4

앱을 컴파일하는 Xcode의 "Build Only Device"를 위해 빌드하고 있습니다. ARM 프로세서 용 (시뮬레이터 용 컴파일은 Mac의 Intel CPU를 대상으로합니다.)

장치를 연결하고 활성 구성표 팝업에서 선택하거나, 시뮬레이터 중 하나를 선택하면 좋습니다.


나는이 물건에 좋은이기 때문에 나는 .... 당신 2시간 낭비 하 감사 ... 자신에게 루크를 호출하지 않습니다
yrpalnoob

3

XCode 8.3.2를 사용하면 잠긴 장치에서 앱을 실행하려고하면이 오류 메시지가 나타납니다. 요청에 따라 잠금을 해제하고 다시 연결했지만 "빌드 전용 장치는이 대상을 실행하는 데 사용할 수 없습니다." 메시지가 나타났습니다.

나는 단순히 목표를 시뮬레이터로 변경하고 다시 변경했습니다. 내 문제가 해결되었습니다.


2

오류가 발생 A build only device cannot be used to run this target하면 문제 탐색기에서 다음 텍스트를 참조하십시오.

ProjectName
대상 무결성 :
iOS 배포 대상 'XX.X'가 대상 ProjectName의
SDK 'iOS YY.Y'보다 최신입니다.

문제는 프로젝트에 Xcode 버전에서 사용할 수있는 것보다 최신 버전의 iOS SDK가 필요하다는 것입니다. 이 문제는 ARKit과 같은 새로운 / 베타 iOS SDK 기능을 활용하는 프로젝트에서 찾을 수 있습니다.

해결책은 Xcode최신 베타 버전 을 다운로드하는 것입니다.이 버전은 애플리케이션에 필요한 비공개 릴리스 된 iOS SDK를 지원해야합니다. 최신 Xcode가있는 경우 Preferences -> Components -> Simulators.


2

Cordova / Ionic을 사용하는 경우 제품-> 대상-> 대상을 선택하고 다시 실행하십시오.


1

@Quver의 답변 수정. 최신 Xcode 버전 (8.3)에서는 대상 명령에 대한 매개 변수를 큰 따옴표로 묶어야합니다. 작은 따옴표가 작동하지 않았습니다.

추가 -destination "platform=iOS Simulator,name=iPhone 7"xcodebuild

iOS의 최신 버전이 출시되면이 명령은이 장치를 찾을 수 없다는 오류를 통해 발생하기 때문에 위 명령에서 OS 버전을 언급하지 않았습니다. 따라서 OS 버전을 제공하지 않는 것이 좋습니다.


0
  1. 이 문제를 해결하기 위해 새로운 AppleID를 신청하고 "Xcode-> Preferences-> Account"에 추가했습니다. (Xcode 7.3)
  2. 동시에 "Xcode-> Preferences-> Account"에서 원래 AppleID를 삭제했습니다. 더 이상 유료 계정이 아니고 새 장치를 추가 할 수 없기 때문입니다.

0

xcodebuild가 제 경우에는 작동하지 않았습니다.

여기 내가 해결 한 것이 있습니다.

내 애플 계정을 제거하고 xcode 기본 설정을 다시 설정 (로그인)했는데이 문제가 해결되었습니다.

추신. iPhone 10.1에서는 일반> 기기 관리> 계정 정보> 앱 신뢰에서 신뢰 버튼을 눌러야했습니다.


0

에뮬레이터에 대해이 문제를 해결했습니다.

먼저 에뮬레이터 목록을 확인하십시오.

창> 장치 및 시뮬레이터

장치를 선택하고 OS 버전 확인을 클릭 한 후

Apple Watch OS 만있는 경우 새 IOS Simulator를 다운로드해야합니다.

더 많은 시뮬레이터 런타임 다운로드를 클릭하십시오.

올바른 IOS 시뮬레이터를 선택하고 다운로드하십시오.


0

프로젝트 설정으로 이동하여이 문제를 해결하고 '대상'섹션에서 테스트 대상을 올바른 팀으로 설정해야했습니다.


0

사용 가능한 대상 목록을 얻으려면 xcodebuild를 호출하고 명령 줄 옵션을 전달 -showdestinations하면 다음 중에서 선택할 수있는 유효한 옵션이 인쇄됩니다.

xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget

0

나는 XCode를 다시 시작하는 것을 포함하여 위의 거의 모든 것을 시도했지만 아무도 나를 위해 일하지 않았습니다. Mac을 재시동 하여이 문제를 해결했습니다 . 예, 고전적인 솔루션입니다.

참고 사항 :이 문제는 자동 업그레이드 후 Mac 암호를 요청한 후 XCode에서 발생했습니다.


0

xcode v11의 경우 :

내 프로젝트의 아카이브를 만들려고 할 때이 문제가 발생했습니다. 장치가 "일반 iOS 장치"로 설정되었을 때 "빌드"를 클릭하려고했지만 적절한 단계는 다음과 같습니다.

  1. 장치를 "일반 iOS 장치"로 설정
  2. Product-> Archive로 이동합니다 ( Build 누르기 건너 뛰기! )

0

제 경우에는 Generic iOS 장치를 선택하고 AppStore에 게시하기 위해 "빌드"하려고 할 때 이런 일이 발생했습니다.
하지만 대신 제품-> 아카이브를 선택해야합니다.


0

동일한 오류 메시지가 발생했습니다. 지금까지 제가 경험하고 한 일이 있습니다.

1 단계 : 목표를 확인합니다.

내 현재 목표는 IOS 13.2입니다. 여기에서 현재 컴퓨터에있는 버전을 볼 수 없습니다.

여기에 이미지 설명 입력

2 단계 : 로컬에서 사용 가능한 버전 확인

  • 일반 IOS 장치를 클릭하십시오.

여기에 이미지 설명 입력

  • 다운로드 시뮬레이터 가 포함 된 드롭 다운 메뉴가 표시됩니다 . 선택 항목
  • 경우에 다운로드 시뮬레이터는 ... 선택이 표시되지 않습니다, 당신은 당신의 목표를 낮출 필요가있다. 제 경우에는 13.2에서 13.0으로 만든 다음 (현재 XCode에 따라 다름) 2 단계를 다시 반복 합니다.
  • 여기에서 이제 Download Simulators ... 선택을 볼 수 있습니다.
  • 그것을 선택하십시오

여기에 이미지 설명 입력

  • 이제 사용 가능한 버전이 무엇인지 볼 수 있습니다.
  • 여기에서 다운로드하거나 보유한 버전 (선택한 버전) 만 사용할 수 있습니다.

여기에 이미지 설명 입력

3 단계 : 이에 따라 IOS 대상 변경

  • 이제 로컬에서 사용 가능한 시뮬레이터 버전이 무엇인지 이미 알고 있으므로 이제 IOS 대상을 변경할 수 있습니다.
  • 제 경우에는 IOS 11을 사용하기로 선택했습니다 (이 샘플에만 해당).
  • 그런 다음 목표를 변경합니다.

여기에 이미지 설명 입력

  • Generic IOS Device를 다시 클릭하십시오.

여기에 이미지 설명 입력

  • 여기에서 이제 해당 IOS에서 시뮬레이터를 선택할 수 있습니다.

여기에 이미지 설명 입력

저는 전문가가 아니며 제 경험을 공유하고 싶었고 이것이 누군가를 도울 수 있기를 바랍니다.


-1

나는 완전히 다른 문제가 있었다. 어떤 이유로 내 앱 " 디바이스 "는 아이폰이 아닌 유니버설 빌드로 설정되었습니다 . iPhone으로 전환했을 때 모든 것이 작동했습니다. 추가 설정이 필요하지 않았습니다.


-2

이것은 나를 위해 일했습니다.

다른 구성표를 위해 이미 구축 한 장치에서 실행하려고합니다. 이동

제품> 청소.

그런 다음 활성 구성표에서 선택한 장치로 빌드하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.