시뮬레이터에서 앱을 실행할 수 없음 : Xcode beta 6 iOS 8


95

Xcode 6 베타 및 iPhone 5s 시뮬레이터를 사용하여 시뮬레이터에서 내 앱을 실행할 수 없습니다. 먼저 Simulator에서 오류 메시지가 나타납니다.

"iOS 시뮬레이터를 부팅 할 수 없습니다."

Xcode가 다음 오류를 표시 한 후

시뮬레이터에서 앱을 실행할 수 없음 실행 중
오류가 발생했습니다 (도메인 = DTiPhoneSimulatorErrorDomain, 코드 = 2).

Xcode 오류


3
Xcode 및 / 또는 Mac을 다시 시작해 보셨습니까?
Ben Gottlieb

2
NDA하에 있지 않습니까?
Sirens

3
베타 6? 제길! 미래에서 온 여행자!
Leo Natan 2014-06-14


27
그렇더라도 NDA를 시행하는 것은이 커뮤니티 구성원의 관심사가 아닙니다.
Andy

답변:


132

다음 단계에 따라 해결했습니다.

  1. Xcode 6 베타 열기
  2. 메뉴 Xcode> 개발자 도구 열기> iOS 시뮬레이터로 이동합니다.
  3. 오류 대화 상자가 표시 되더라도 iOS 시뮬레이터의 메뉴에 액세스 할 수 있습니다.
  4. 하드웨어> 장치> 장치 관리를 선택합니다.
  5. 하단의 작은 + 기호를 클릭하십시오.
  6. 원하는 모든 장치를 추가 (누락 된 경우)하거나 오작동하는 장치를 삭제하고 다시 만듭니다.
  7. 시뮬레이터가 작동하지 않는 경우 마우스 오른쪽 버튼을 클릭하고 삭제 한 다음 다시 생성하십시오.

여기에 이미지 설명 입력


3
iOS 7 시뮬레이터를 생성 (또는 사용)하는 경우. 잘 작동합니다. iOS 8 시뮬레이터에서만 실패합니다. 일부 링크가 깨진 수
오스카

이것은 나를 위해 일했습니다. ayalcinkaya의 대답에 따라 명령 줄 도구 설정을 변경 한 후에 만 ​​시도 했으므로 필요할 수도 있습니다.
dokkaebi

1
@Dayan Gonzalez Mac mini에 동일한 문제가 있습니다. 어떻게 해결할 수 있습니까?
PREMKUMAR 2014 년

감사합니다. 이것이 제가 찾던 것입니다.
Nate Uni

이 단계로 연결 문제를 해결했습니다. iOS 시뮬레이터를 다시 시작하거나 시스템을 다시 시작해도 해결할 수 없습니다.
likid1412

66
  • 환경 설정> 위치 섹션에서 명령 줄 도구로 Xcode 6을 선택했는지 확인하십시오.

Xcode 6 기본 설정

  • 설정 파일이 아닌 응용 프로그램에서 Xcode 6을 열어야합니다.

  • 마지막으로 Mac을 다시 시작하면 제 경우에 문제가 해결됩니다.


7
이것은 나에게도 효과가 없었습니다. 5.1이 있었는데 변경하고 xcode와 Mac을 다시 시작했습니다. 그리고 오류가 여전히
오스카

1
내 문제를 해결하지 못했습니다.
Mantas Vidutis 2014-06-17

+1. cmd 라인 도구의 위치를 ​​선택한 다음 재부팅하면 해결되었습니다!
Mike Pollard

재부팅 (로그 아웃 / 로그인도 아님)은 실제로 필요한 것으로 보입니다. WTF 애플?
MattD 2014 년

3
이런 종류의 솔루션은 도움이되지 않습니다. 내가 뭘.?
iAnurag 2014 년

6

웹에서 몇 가지 솔루션을 찾은 후 절차 조합이 효과적이었습니다.

  1. Xcode 및 iOS 시뮬레이터 (및 모든 관련 응용 프로그램)를 닫습니다.

  2. Xcode6-Beta를 Applications 폴더에 설치 (또는 재설치)합니다 (.dmg 파일에서 직접)

  3. Xcode6-Beta를 열고 Xcode-> 환경 설정-> 위치-> 명령 줄 도구로 이동하여 "Xcode 6.0"을 선택합니다 (응용 프로그램 폴더에서 하나를 선택했는지 확인하십시오).

  4. iOS 시뮬레이터를 실행하고 iOS 시뮬레이터-> 콘텐츠 및 설정 재설정 ...으로 이동합니다.

  5. 모든 응용 프로그램을 닫고 Mac을 재시동합니다 ( "창 다시 열기 ..."를 선택 취소했습니다).

  6. Xcode6-beta를 열고 iOS 시뮬레이터 테스트

행운을 빕니다


5

Xcode 6 베타 2를 사용하고 있으며 iPad 시뮬레이터를 실행하는 데 문제가 있습니다 (제 경우 오류 코드 = 4). 이중 Mac OS 부팅을 실행 중이고 Xcode가 다른 시동 디스크에서 시작 되었기 때문에 문제가 발생한 것 같습니다.

@ayalcinkaya와 @apascual이 권장하는 두 단계를 모두 수행했으며 이것은 저에게 효과적이었습니다.

  • "Xcode-> Preference-> Locations"에서 "Command Line Tool"을 Xcode BETA2 (제 경우에는 5.1.1에서)로 변경하십시오.
  • Xcode 6 베타 2 열기
  • 메뉴 Xcode> 개발자 도구 열기> iOS 시뮬레이터로 이동합니다.
  • 오류 대화 상자가 표시 되더라도 iOS 시뮬레이터의 메뉴에 액세스 할 수 있습니다. 하드웨어> 장치를 선택하고 iPad 장치간에 전환하면 시뮬레이터가 재구성 된 것 같습니다.
  • 시뮬레이터가 실행되는 동안 선택한 시뮬레이터로 앱을 실행하십시오.
  • 이 수동 프로세스를 한 번 수행하면 모든 것이 정상입니다.

1
"오류 코드 = 4"(일부 FBS 도메인에서) 문제는이 문제와 관련이 없습니다. 이 문제는 앱 설치 및 실행의 경쟁 조건과 관련이 있습니다. 이에 대한 해결 방법은 불행히도 빌드 및 실행을 다시 시도하는 것입니다.
제레미 허들 스턴 세쿼이아

3

이것은 시뮬레이터의 다른 인스턴스가 도크에서 실행 중이기 때문에 대부분 발생합니다.

다른 인스턴스를 종료하면 제대로 작동합니다.


3

나는 또한이 문제가 있었고 다음 단계를 수행하여 해결책을 찾았습니다.

  1. 처음에는 Xcode-> Preferences-> Downloads 경로 아래의 Documentation 섹션에서 Xcode 6 라이브러리를 다운로드하고 xcode를 다시 시작했지만 문제가 해결되지 않았습니다.

그 후->

  1. Xcode-> Preferences-> Downloads 경로에 iOS 7.1 Simulator를 다운로드하고 설치했습니다.

xcode를 다시 시작하면 문제가 해결됩니다.

  1. 다음날 아침에도 같은 문제에 직면하고 있습니다.

DYLD_INSERT_LIBRARIES 변수를 설정 해제하면 내 문제가 해결됩니다.

a) 터미널을 열고 "sudo vi /etc/launchd.conf"명령을 입력하고 Enter 키를 누릅니다.
b) I "Insert"모드를 누르고이를 변경합니다.

    "setenv DYLD_INSERT_LIBRARIES /usr/lib/libimckit.dylib" 

이에

    "unsetenv DYLD_INSERT_LIBRARIES /usr/lib/libimckit.dylib" 

삽입 모드를 종료하려면 esc를 누르십시오.

c) ": wq"를 입력하여 변경 사항을 저장합니다. Enter 키를 누릅니다.
d) 시스템을 재부팅하면 문제가 해결됩니다.

여기에 이미지 설명 입력

그 전에는 나열된 각 장치 앞에서 iOS 버전을 찾지 못했지만 설치 후 또는 DYLD_INSERT_LIBRARIES 변수를 설정 해제하여 각 장치 앞에서 동일한 것을 발견했습니다.

여기에 이미지 설명 입력


2

기본 폴더 이름 "Xcode-Beta2"를 "Xcode"로 바꾼 후이 문제가 발생했습니다. 이름을 "Xcode-Beta2"로 다시 변경했을 때 시뮬레이터는 이전과 같이 작동했습니다.


2

나를 위해 일한 것은 "장치 관리"에서 모든 장치를 제거하고 재부팅 다시 추가하는 것입니다.


OMG이 게시물에 감사드립니다. 이번 베타 기간 동안 시뮬레이터가 종료 된 것은 이번이 두 번째입니다. 수정 됨
Leif Ashley

제 경우에는 재부팅이 트릭이었습니다. 장치를 제거하고 읽을 필요가 없습니다.
Ziconic 2014-08-23

유일한 관련 비트는 재부팅이었습니다. 장치를 삭제하고 다시 추가 할 필요가 없습니다. 첫 번째 실행 후 Xcode.app의 이름을 변경하여 해당 Xcode.app에서 더 이상 iOS 시뮬레이터를 사용할 수 없게 된 것 같습니다.
제레미 허들 스턴 세쿼이아

1

청소-> 실행이 나를 위해 수정했습니다.

나머지는 시도했지만 도움이되지 않았습니다. 너무 필요할 수 있지만.


1

이전에 실행 한 다른 앱과 이름이 같은 앱을 실행할 때 동일한 문제가 발생했습니다.

"foo"실행-> "foo"라는 새 프로젝트 만들기-> 실행-> 오류.

어쨌든-iOS-Simulator가 "응, 나에게 무엇을 원하십니까? 좋아, 오류를 던질 것입니다 ..."라고 말하는 몇 가지 이유가있는 것 같습니다. ;-)

내 솔루션 : iOS 시뮬레이터를 닫고 앱을 다시 실행하십시오.

이와 같은 대부분의 경우 그게 다입니다.


0

오류보고의 가장 일반적인 원인은 DYLD_INSERT_LIBRARIES가 설정되어 있기 때문입니다. 이 문제를보고하는 대부분의 사람들은 /etc/launchd.conf에서 설정했습니다. 해당 파일을 편집하여 제거 (또는 유일한 줄일 가능성이 있으므로 파일 만 삭제)하고 재부팅하여 문제를 해결할 수 있습니다.

이 문제의 또 다른 가능한 원인은 Xcode.app을 처음 실행 한 후 이름을 변경했을 수 있다는 것입니다. 이 경우 재부팅 (또는 이전 이름으로 이름 변경) 만하면됩니다.



0

이 단계는 문제 해결에 도움이 될 수 있습니다. 이 시도:

1 (화면 상단의 iOS 시뮬레이터 클릭

2 (내용 및 설정 초기화 클릭

3 (경고가 나타나면 재설정을 클릭하십시오.

4 (시뮬레이터에서 앱 다시 실행

이전에 iOS 시뮬레이터의 모든 콘텐츠와 설정을 재설정하기 만하면됩니다.

이것이 오류에 도움이되기를 바랍니다.


0

나는 같은 문제가 있었고 이것을 수정하는 데 도움이 된 유일한 해결책은 Xcode를 다시 설치하는 것입니다.


0

시뮬레이터를 삭제하고 Xcode / Window / Devices에서 다시 생성하십시오.


0

iOS 8.1을 작동 시키려면 최신 OS X 10.10.1 (OS X 10.9.5부터)으로 업데이트해야한다는 것을 알았습니다.


0

이 수정에 대한 완벽한 답변은 여기에 있습니다.

이 경우 launchd는 시작하려고 할 때 충돌합니다.

이는 / private / tmp 폴더를 삭제 한 결과 일 수 있습니다.

이 문제를 해결하기 위해 터미널에 다음 명령을 입력했습니다.

sudo mkdir /private/tmp 
sudo chmod 1777 /private/tmp


0

위의 제안 중 어느 것도 나를 위해 일하지 않았습니다.

문제가있는 프레임 워크의 Embed 설정을 Do Not Embed로 변경하여 문제가 해결되었습니다.

빌드 설정


-1

내 응용 프로그램 디렉터리에있는 폴더 내에서 Xcode 6-beta 응용 프로그램 파일을 Application 디렉터리 자체에 넣을 때까지이 문제가 발생했습니다. 컴퓨터를 다시 시작했습니다. 그런 다음 작동했습니다.

테스트를 위해 Application 디렉터리에 폴더를 다시 만들고 Xcode 응용 프로그램을 거기에 넣었는데 다시 작동하지 않았습니다. 응용 프로그램 디렉토리 자체에 다시 넣으십시오. 작동했습니다. 이 경우에는 다시 시작할 필요조차 없었습니다.

나는 애플이 하드 코딩 경로를 넘어 섰기를 정말로 바란다.


경로는 하드 코딩되지 않습니다. 문제는 시뮬레이터를 처음 시작한 후 Xcode.app의 이름을 바꾸면 시뮬레이터에 대한 액세스 권한이 없다는 것입니다. 이것은 알려진 문제이며, 엑스 코드 (6)의 릴리스 노트에 참
제레미 허들 스턴 세쿼이아

-1

나는 같은 문제에 직면하고 있었는데, 내가 한 일은 IOS7 용 시뮬레이터를 다운로드 한 것입니다. 7.0 배포 대상 3. 마지막으로 7.0 미만의 시뮬레이터를 선택합니다. :)


-1

iPhone Simulator에서 iPad 전용 앱 중 하나를 실행하려고하면이 오류가 발생했습니다. 범용 앱으로 구축되었으며 테스트를 위해 iPhone에서 여러 번 실행했으며 최근에야 Target 구성에서 "iPad"전용 확인란을 선택했습니다.

iPhone 장치에서 실행하려고 할 때 "[/location/..../Name.app]의 응용 프로그램은 iPad에만 설치할 수 있습니다."라는 훨씬 더 유용한 오류 메시지가 나타납니다.

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