iOS 시뮬레이터에서 테스트하는 동안 오류 발생:부트스트랩 서버에 등록할 수 없습니다.
시뮬레이터로 앱을 테스트하고 있는데 UIAert View 버튼을 클릭하자 앱이 다운되었습니다.거기서 디버깅을 중지하고 코드를 변경하여 앱을 다시 만들었습니다.응용 프로그램을 실행하면 콘솔에 이 오류가 표시됩니다.
부트스트랩 서버에 com.myApp.debug를 등록할 수 없습니다.오류: 알 수 없는 오류 코드입니다.이는 일반적으로 이 프로세스의 다른 인스턴스가 이미 실행 중이거나 디버거에 걸려 있음을 의미합니다.프로그램이 신호를 수신했습니다: "SIGABRT"
시뮬레이터에서 앱을 삭제하고 새로 빌드하려고 했지만 앱을 실행하려고 하면 이 오류가 발생합니다.
시뮬레이터에서 앱을 다시 실행하려면 어떻게 해야 하나요?
상태: Mac OS 10.8 및 Xcode 4.4에서 최근에 확인되었습니다.
tl;dr: 이 문제는 디바이스에서 실행할 때와 시뮬레이터에서 실행할 때의 두 가지 컨텍스트에서 발생할 수 있습니다.디바이스에서 실행할 때 디바이스를 분리했다가 다시 연결하면 문제가 해결되는 것 같습니다.
launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove
이게 항상 효과가 있는 건 아니에요.사실, 제게는 효과가 없었지만 어떤 경우에는 확실히 효과가 있습니다.어떤 사건인지 모를 뿐이죠해볼만 하군요.
그렇지 않으면 사용자 launchd를 재시작하는 방법밖에 없습니다.재부팅하면 됩니다만, 보다 단시간에 재기동할 수 있는 방법이 있습니다.다른 admin 사용자를 작성해야 하는데, 한 번만 작성하면 됩니다.문제가 발생하면 사용자로 로그아웃하고 해당 사용자로 로그인한 후 메인 사용자의 launchd를 삭제합니다.
sudo kill -9 `ps aux | egrep 'user_id .*[0-9] /sbin/launchd' | awk '{print $2}'`
""를 사용합니다.user_id
. 정상 다시 일반 사용자가 정상 상태로 돌아가면 다시 로그인 합니다.좀 아프긴 하지만 완전 재부팅보다는 덜 아프죠
세부사항:
이러한 현상은 Lion/Xcode 4.2에서 더 자주 발생합니다.(개인적으로는 그 조합 전에는 본 적이 없습니다.)
이 버그는 launchd에 있는 것 같습니다.이 버그는 디버거가 디버깅을 종료하지 않고 종료했을 때 아이로 앱 프로세스를 상속합니다.이것은 보통 앱이 좀비가 되어 프로세스 상태가 Z(ps)로 표시된다.
핵심 문제는 launchd에서 구현된 부트스트랩네임 서버에 있는 것으로 보입니다.이를 통해 애플리케이션 ID를 마하 포트에 매핑할 수 있습니다.버그가 트리거되면 앱은 중지되지만 부트스트랩 서버의 네임 서버 맵에서 삭제되지 않으므로 부트스트랩 서버는 앱의 다른 인스턴스를 동일한 이름으로 등록하는 것을 거부합니다.
로 (로 할 수 .wait()
상태이에 좀비가 것도 있습니다숏launchd를 수 있는 .핵심 문제는 좀비 상태가 아니라 부트스트랩 네임 서버이며, launchd를 죽이는 것 외에는 이 문제를 해결할 방법이 없습니다.
이 버그는 Xcode, gdb, 사용자 launchd 사이의 불량으로 인해 발생한 것으로 보입니다.iphone 시뮬레이터에서 앱을 실행해 gdb 내에서 정지시킨 후 ipad 시뮬레이터로 빌드하여 실행함으로써 웨지를 반복했습니다.스위칭 시뮬레이터(iOS 4.3/iOS 5, iPad/iPhone)에 민감한 것 같습니다.항상 일어나는 일은 아니지만 시뮬레이터를 많이 바꾸면 꽤 자주 일어납니다.
로그인 중에 launchd를 죽이면 세션이 엉망이 됩니다.로그아웃 후 다시 로그인해도 사용자의 부팅이 중단되는 것은 아닙니다.OS X는 기존 프로세스를 그대로 유지합니다.재기동하면 다 해결되겠지만 고통스럽네요.위의 지시사항이 더 빠릅니다.
애플에 버그를 제출했습니다.rdar://10330930
시뮬레이터를 종료하고 다시 시작하시겠습니까?「최악의 상태가 되었을 경우」의 경우는, 재기동을 언제라도 시도할 수 있습니다.내 경험상으로는 이것으로 해결할 수 있습니다.
Lion + Xcode 4.2에서 이 문제가 발생하기 시작했습니다.Xcode 4.3에서도 문제가 발생하였습니다.
모든 제안을 시도했지만 완전히 재부팅하는 것 외에는 제대로 된 것이 없습니다.
재기동이 빨리 필요한지 여부를 판단하는 방법은 다음과 같습니다.
모든 좀비 프로세스를 나열합니다.
ps -el | grep 'Z'
앱이 좀비 프로세스로 표시되는 경우 컴퓨터를 재부팅해야 합니다.오류 메시지는 "일반적으로 이 프로세스의 다른 인스턴스가 이미 실행 중이거나 디버거에 행하고 있음을 의미합니다."라고 표시됩니다.Xcode가 당신이 죽일 수 없는 좀비 과정을 탐지하고 있어요이 문제를 해결할 수 있는 유일한 방법은 시스템을 재부팅하는 방법밖에 없습니다.:(
편집, 20120823:저는 좀비 프로세스에 대해 좀 더 잘 알고 있기 때문에 이 답변을 업데이트하고자 합니다.좀비 프로세스는 부모 프로세스가 종료된 자녀 프로세스에서 wait()(프로세스가 상태를 변경할 때까지 대기)를 호출하지 않을 때 생성됩니다.좀비 프로세스에서 직접 'kill'을 실행할 수는 없지만 상위 프로세스를 종료하면 좀비 하위 프로세스가 'reap'되어 프로세스 테이블에서 삭제됩니다.
오랫동안 이 문제를 보지 못했기 때문에 이 시나리오의 부모 프로세스가 무엇인지 검사하지 않았습니다.부모 프로세스를 종료하는 대신 시스템을 재부팅합니다.:)
저는 방금 이런 일이 있었습니다: 저는 제 장치에서만 오류가 발생했고 시뮬레이터는 정상적으로 작동하고 있었습니다.결국 기기를 리셋해야 했고 오류가 사라졌습니다.
요즘 이런 문제가 자주 있어요.무엇이 이러한 현상을 막을 수 있습니까?로그아웃 및 로그인하면 문제가 해결됩니다만,너무 자주 하니까 짜증나네요.
편집:
방금 원인을 찾았어요.ApplicationWillTerminate 메서드에서 버그가 발생했습니다.그래서 Xcode 창에서 정지 버튼을 클릭해도 앱이 제대로 종료되지 않고 행업하기 시작했습니다.
Activity Monitor를 체크하여 앱이 목록에 있는지 확인합니다.가능한 한 강제 종료합니다.
문제가 좀비 프로세스로 인해 발생한 경우:
ps - el | grep 'Z'(as in the earlier comment https://stackoverflow.com/a/8104400/464289) and just want to fix the problem immediately, you can do so without rebooting or killing anything. Just rename your project target executable:
- 왼쪽 창에서 프로젝트를 클릭합니다.
- 가운데 페인으로 [빌드 설정(Build Settings)
- '패키지'에서 '제품명'을 $(TARGET_NAME)에서 $(TARGET_NAME)로 변경합니다.1
진정해요!
음, 정답은 없지만 최소한 한 가지 테스트는 더 해야 해.터미널을 열고 "ps-Ael | grep Z" 명령을 실행합니다.두 개의 엔트리가 있는 경우, 하나는 "꽝"이고 다른 하나는 앱 또는 회사 이름입니다. - reboot.
개발자인 경우, 짧은 버그를 입력하고 애플에게 재부팅이 얼마나 성가신지 알려주고 이 버그를 내가 방금 입력한 "rdar://10401934"로 넘겨줄 수 있다고 언급하세요.
데이빗
iOS 시뮬레이터를 리셋하면 오류가 수정되었습니다.이렇게 하면 시뮬레이터에 있는 모든 앱이 제거되지만 컴퓨터를 다시 시작하지 않고도 문제를 해결할 수 있습니다.
다음을 수행하여 iOS 시뮬레이터를 재설정할 수 있습니다.
1) Apple Simulator합니다.1) Apple 로고 옆에 있는 " Simulator" 입니다.
2) [어느쪽인가 하면
3)팝 동의하지 합니다.3) [ Reset를 클릭합니다.
- 시뮬레이터 닫기
- xCode에서 앱 실행을 중지합니다.
- Activity Monitor를 열고 App NAME으로 실행 중인 프로세스를 검색합니다.
- Activity Monitor에서 이 프로세스 종료
- 프로젝트를 재구축하면 모든 준비가 완료됩니다.
스택을 뚫고 앱을 종료하는 재귀적 세터가 있어서 iPad를 부팅해야 했습니다.그것은 암호 수정으로 입증할 수 있었다.
좀비 프로세스에서 @jyap 언급에 문제가 있었습니다.그것들을 클리어 하는 유일한 방법은 재기동하는 것이었습니다.하지만, 같은 프로젝트를 하고 있는 제 친구들도 같은 문제가 발생하지만, 좀비 프로세스를 만들지 않고 시뮬레이터를 죽일 수 있다는 것을 알게 되었습니다.Xcode를 완전히 제거하고 다시 설치했는데 오류가 발생해도 좀비 프로세스가 생성되지 않기 때문에 재부팅할 필요가 없습니다.
그 전에는 앱 ID를 변경하고 다시 실행하라는 매우 불쾌한 회피책을 사용하고 있었습니다.시뮬레이터에 앱의 정크 카피가 표시되지만 재부팅은 잠시 미뤄도 됩니다.
이 에러는 시뮬레이터에서 앱을 테스트할 때마다 자주 발생하며 강제로 재시작합니다.
작업을 완료하고 싶은 경우의 회피책은 다음과 같습니다.
- 프로젝트 탐색기에서 프로젝트를 클릭합니다.
- 타겟으로 이동 -> 정보
- 응용 프로그램이 백그라운드에서 실행되지 않고 다음과 같이 설정되는 키 추가
YES
.
즉, 시뮬레이터에서 홈 버튼을 누르거나 시뮬레이터를 종료해도 앱이 행업하지 않습니다.
배포 전에 이 설정을 다시 변경하는 것을 잊지 마세요!릴리스 체크리스트에 기재해 주세요.
iPhone에서 테스트할 때 이 문제가 발생할 경우.전화기를 재기동해 주세요.내가 들은 바로는, 전화나 시뮬레이터는 아직 앱의 인스턴스가 실행중이라고 믿고 있기 때문에, 마지막으로 실행했을 때, 올바르게 종료되지 않았던 코드의 에러나 전화/시뮬레이터가 불평을 하고 싶다고 생각하고 있었을 뿐입니다.
iPhone4에서 앱을 디버깅할 때 이 오류가 발생했습니다.iPhone 하드 재부팅으로 문제가 해결되었습니다.(iPhone 전원 끄기 행업...)
mac에는 좀비 프로세스가 없고, mac을 재부팅해도 문제가 해결되지 않았습니다.
이 버그는 시뮬레이터와 실제 장치 모두에서 나타날 수 있습니다.
디바이스를 재기동했다.작업 완료!d
좋은 제안을 해주신 여러분 감사합니다.
방금 이 오류가 발생했습니다.시뮬레이터와 Xcode를 재기동해 보았습니다만, 프로젝트는 클린과 빌드 후에만 다시 동작합니다.원인이 뭔지 모르겠어요.
나는 같은 문제를 안고 다음과 같이 해결했다.
- 단말기에서 앱을 삭제하는 중
- Mac에서 디바이스 연결을 끊는 중
- 장치를 껐다가 다시 켜면
- Xcode를 종료하고 재기동하는 중,
- 계측기를 종료하는 중
- 마지막으로 Cleaning and Build를 다시 실행합니다.
Xcode는 iOS 5.0을 사용하도록 설정되어 있고 내 프로젝트는 iOS 4.3을 사용하기 때문에 한 가지 더 했습니다.
- 모든 프레임워크를 삭제하고 다시 추가합니다.
대체 회피책:
- 앱에 새 식별자를 지정합니다.com이라고 부르면.foobar.myapp, com이라고 불러.foobar.myapp01
iPhone 시뮬레이터에 관한 한 실제로 실행되는 새로운 앱이기 때문에 앱의 모든 데이터가 손실됩니다.이것은 재기동보다 귀찮을 수도 있고 그렇지 않을 수도 있습니다.목록에 추가하려고 했을 뿐입니다.
원인
이전에 실행하던 앱이 완전히 정지하기 전에 시뮬레이터에서 앱을 실행하세요.
더 픽스
[정지] 버튼이 다시 활성화 될 때까지 기다렸다가 다시 실행하십시오.
(Xcode 4.2.1을 사용하고 있습니다.이 문제는 OS X Lion으로 업그레이드 했을 때 자주 발생했습니다).
앱을 삭제한 후 재기동한 후 다시 리빌드하여 다시 실행하면 수정됩니다.이제 잘 작동합니다.
이상하다.
이 문제에 대해서는 리빌드나 재인스톨이 필요 없고, iPhone에서 앱을 실행하려고 하면 에러가 발생.시뮬레이터는 정상적으로 동작.
솔루션:휴대폰에서 앱을 삭제하고 콜드 재시작을 하면 모든 것이 정상입니다.
Lion의 Xcode 4.2.1에서는 많은 일이 있었습니다.4.3.2로 업데이트되어 더 이상 발생하지 않습니다.고쳐서 다행이야
Mike Ash는 재부팅이 필요 없는 솔루션(신의 가호가 있기를!)을 올렸습니다.그냥 실행:
launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove
위의 명령어는 모든 launchd 작업을 나열하고 이름에 UIKit Application이 포함된 작업(부적절하게 남아 있는 앱에 대응하는 작업)을 검색하여 이름을 추출하고 launchd에게 해당 작업을 삭제하도록 지시합니다.
Xcode의 STOP 버튼을 누르기 전에 iPhone에서 앱을 강제로 종료한 것이 원인이라고 생각합니다.Xcode의 정지 버튼을 누르면 정지하면 종료에 시간이 걸릴 수 있습니다.하지만 인내심을 가져요, 결국엔 대부분 그만두게 될 거예요.
함수 또는 탭에서 변수를 할당할 수 있습니다.기능 또는 탭을 종료하면 할당이 해제됩니다.따라서 멤버 변수 또는 글로벌 변수를 선언해야 합니다.
실행 대화 상자의 "중지" 버튼을 더 이상 신뢰하지 않을 때까지 이 오류가 계속 발생했습니다.실행 전에 툴바에서 항상 '정지'를 누르기 때문에 아직 좀비 프로세스가 발생하지 않았습니다.
이런 - 위나 다른 게시물에 있는 모든 것을 시도해 보았습니다.Xcode를 재설치하고, 컴퓨터를 재부팅하고, 모든 누락된 파일을 올바른 폴더에 복사했습니다.결국 아이폰을 백업하고 지우고 복원했더니 작동했어요!
제 생각에, 제 iPhone White의 연결을 해제하고 누수를 잡아내는 퍼포먼스 툴로 동작하고 있었던 것이 원인인 것 같습니다.아니면 그런 것들.
아아, 안도의 한숨을 내쉬다.
최악의 경우 iOS Simulator의 콘텐츠와 설정을 리셋하고 대부분의 경우 시뮬레이터와 함께 XCode를 종료하면 항상 XCode 4.6(행업 빈도가 높은 경우)에서 작동합니다.
내 경우엔 이런 문제에 직면했던 적이 있어
- 시뮬레이터에서 앱을 삭제합니다.
- 파생 데이터 폴더를 삭제합니다.
- 제품 메뉴를 선택하여 프로젝트에서 클린 액션을 수행합니다 - 클리닝
- 시뮬레이터를 리셋합니다.
- Xcode를 종료합니다.
- 정상적으로 동작하고 있는 경우는, 지금 바로 프로젝트를 실행해 주세요.그렇지 않으면 스텝7로 넘어갑니다
- 1~5 의 모든 순서를 반복하고 나서, 머신을 재기동합니다.
대부분의 경우 6단계에서 실행이 되었습니다.머신을 재기동할 필요가 있었습니다.
이 오류는 이전 버전의 iOS Simulator에서 발생했는데, 이는 종료 중인 다른 디바이스의 작업 인스턴스가 새 인스턴스와 충돌할 수 있기 때문입니다.
iOS 6.0 이후로는 이와 같은 문제가 발생하지 않습니다.이는 iOS 6.0에서는 부트스트랩 서브셋 사용이 도입되었으며 iOS 7.0에서는 호스트의 부트스트랩 서버에서 완전히 격리된 전용 부트스트랩 서버(launchd_sim)가 사용되었기 때문입니다.
언급URL : https://stackoverflow.com/questions/788277/error-when-testing-on-ios-simulator-couldnt-register-with-the-bootstrap-server
'source' 카테고리의 다른 글
Bash에서 ssh를 실행하고 여러 명령을 실행하는 가장 깨끗한 방법은 무엇입니까? (0) | 2023.04.15 |
---|---|
StaticExtension 값을 확인할 수 없습니다. (0) | 2023.04.10 |
속사포 (0) | 2023.04.10 |
x:Reference와 ElementName의 차이점은 무엇입니까? (0) | 2023.04.10 |
iPhone에서 SMS를 프로그래밍 방식으로 전송하는 방법 (0) | 2023.04.10 |