앱을 테스트하려고 할 때이 오류가 발생합니다.
이 대상을 실행하는 데 빌드 전용 장치를 사용할 수 없습니다.
지원되는 iOS 기기가 없습니다. 장치를 연결하여 애플리케이션을 실행하거나 시뮬레이션 된 장치를 대상으로 선택하십시오.
답변:
추가 -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
로xcodebuild
xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
xcodebuild
. 매개 변수를 사용하여이 명령을 실행하기
"일반 iOS 장치"만 선택할 수있는 문제가 있습니다. 그리고 내가 실행할 때 "빌드 전용 장치를이 대상을 실행하는 데 사용할 수 없습니다. 지원되는 iOS 장치를 사용할 수 없습니다. 장치를 연결하여 응용 프로그램을 실행하거나 시뮬레이션 된 장치를 대상으로 선택하십시오"라고 표시됩니다.
문제에 대한 내 솔루션은 빌드 설정 ---> 배포 -----> IOS 배포 대상 ----> 8.0과 같은 낮은 버전을 선택하는 것입니다.
시뮬레이터가 나오고 선택할 수 있습니다.
유효한 목적지 목록을 가져와야합니다. 이를 위해 잘못된 키-값 쌍을 지정하면 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
오류가 발생 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
.
에뮬레이터에 대해이 문제를 해결했습니다.
먼저 에뮬레이터 목록을 확인하십시오.
창> 장치 및 시뮬레이터
장치를 선택하고 OS 버전 확인을 클릭 한 후
Apple Watch OS 만있는 경우 새 IOS Simulator를 다운로드해야합니다.
더 많은 시뮬레이터 런타임 다운로드를 클릭하십시오.
올바른 IOS 시뮬레이터를 선택하고 다운로드하십시오.
프로젝트 설정으로 이동하여이 문제를 해결하고 '대상'섹션에서 테스트 대상을 올바른 팀으로 설정해야했습니다.
제 경우에는 Generic iOS 장치를 선택하고 AppStore에 게시하기 위해 "빌드"하려고 할 때 이런 일이 발생했습니다.
하지만 대신 제품-> 아카이브를 선택해야합니다.
동일한 오류 메시지가 발생했습니다. 지금까지 제가 경험하고 한 일이 있습니다.
1 단계 : 목표를 확인합니다.
내 현재 목표는 IOS 13.2입니다. 여기에서 현재 컴퓨터에있는 버전을 볼 수 없습니다.
2 단계 : 로컬에서 사용 가능한 버전 확인
- 일반 IOS 장치를 클릭하십시오.
- 다운로드 시뮬레이터 가 포함 된 드롭 다운 메뉴가 표시됩니다 . 선택 항목
- 경우에 다운로드 시뮬레이터는 ... 선택이 표시되지 않습니다, 당신은 당신의 목표를 낮출 필요가있다. 제 경우에는 13.2에서 13.0으로 만든 다음 (현재 XCode에 따라 다름) 2 단계를 다시 반복 합니다.
- 여기에서 이제 Download Simulators ... 선택을 볼 수 있습니다.
- 그것을 선택하십시오
- 이제 사용 가능한 버전이 무엇인지 볼 수 있습니다.
- 여기에서 다운로드하거나 보유한 버전 (선택한 버전) 만 사용할 수 있습니다.
3 단계 : 이에 따라 IOS 대상 변경
- 이제 로컬에서 사용 가능한 시뮬레이터 버전이 무엇인지 이미 알고 있으므로 이제 IOS 대상을 변경할 수 있습니다.
- 제 경우에는 IOS 11을 사용하기로 선택했습니다 (이 샘플에만 해당).
- 그런 다음 목표를 변경합니다.
- Generic IOS Device를 다시 클릭하십시오.
- 여기에서 이제 해당 IOS에서 시뮬레이터를 선택할 수 있습니다.
저는 전문가가 아니며 제 경험을 공유하고 싶었고 이것이 누군가를 도울 수 있기를 바랍니다.