iOS 9 용 Xcode 7에서 XPC 연결이 중단됨
최근에 Xcode 7로 업데이트하고 iPhone을 iOS 9로 업그레이드했습니다. 최신 버전의 iOS 8 및 Xcode 6에서 완벽하게 작동하는 iOS 앱을 개발하여 출시했습니다.
iOS 9 지원을 위해 앱을 업데이트하는 과정을 거치려고 할 때 가장 어리석은 이상한 오류가 발생하여 당황했습니다.
Xcode를 통해 모든 구문 수정을 자동으로 수행했으며 이제 앱이 제대로 빌드됩니다. 처음에는 잘 실행됩니다.
WebView가있는 뷰 컨트롤러로 연결되는 버튼이 있습니다. 이 뷰 컨트롤러는 YouTube의 이미지, 웹 사이트 또는 동영상을 표시하는 링크를로드합니다. 콘텐츠는 언제나처럼 완벽하게로드됩니다. 그러나 프로그램이 충돌하고 시뮬레이터 (및 내 iPhone)를 재부팅하고 뒤로 버튼을 클릭하면 잠금 화면으로 이동합니다 (내비게이션 스택에 있음).
Xcode에서 다음 메시지가 표시됩니다.
XPC 연결이 중단되었습니다. 시스템 앱이 없어 종료됩니다.
그런데 내 앱에 Flurry 분석이 통합되어 있지만 문제인지 확실하지 않습니다.
이 문제를 어떻게 해결할 수 있습니까? XPC 연결에 대한 내 검색이 내 것과 유사한 문제를 반환하지 않는 것 같습니다. XPC 연결이 무엇인지 전혀 알지 못하는데 왜 이것이 내 앱에 있습니까?
편집 : 문제에 대한 해결 방법을 찾았습니다. 나는 그것이 수정이라고 말할 수 없다.
true로 설정된 경우 self.navigationController? .popViewControllerAnimated 메서드를 사용하는 동안 충돌이 발생했습니다. 나는 이것을 false로 설정하고 충돌이 중지되었습니다 (이제 전환이 끔찍해 보입니다).
왜 이것이 작동하는지 모르겠고 혼란을 더합니다.
문제는 나에게도 스토리 보드에 있었다. 나는 새로운 프로젝트를 만들고 전망을 배치했고 모든 것이 잘 작동하는 것처럼 보였다. 스토리 보드 소스에서이 두 줄을 발견했습니다 (스토리 보드를 마우스 오른쪽 버튼으로 클릭하고보기를-> 소스 코드로 선택). 작동하는 버전과 손상된 버전 간에는 일반적이지 않았습니다.
<keyCommands>
<keyCommand/>
</keyCommands>
나는 그 대사들이 무엇을해야하는지, 그들이 어떻게 내 스토리 보드 파일에 들어 갔는지는 모르겠지만, 그들은 앱을 너무 세게 충돌시켜 전화를 다시 시작해야했다. 주 프로젝트에서 해당 줄을 제거하고 모든 것이 다시 작동했습니다.
이 오류는 루프를 반복적으로 실행하여 발생할 수 있습니다. 제 경우에는 계수 변수를 재설정하는 'for'루프였습니다. 루프에 NSLog를 추가하자마자 분명했습니다.
나는 같은 문제에 직면했다. 도움이 될지는 모르겠지만 스토리 보드에서 나온 것 같습니다.
제 경우에는 UITextView에서 문제가 발생합니다. 내부의 기본 텍스트를 변경하려고 할 때마다이 오류가 발생합니다. 기본 텍스트를 그대로 두거나 비워두면 앱이 제대로 작동합니다. IBOutlet을 만들고 텍스트를 프로그래밍 방식으로 변경하는 것도 작동합니다.
다른 UI 요소로 시도했지만 UITextView에만이 문제가있는 것 같습니다.
나는 똑같은 오류로 고생했습니다. 제거 과정을 통해 나는 그것이 어떤 클래스와도 관련이없고 스토리 보드와 관련이 있다는 것을 확인했습니다. 다행히도 저는 정기적 인 백업 복사본을 유지하고 스토리 보드를 비교하여 제가 한 일을 확인했지만 분명한 것을 찾을 수 없었습니다. 백업 복사본이 잘 작동했고 컨트롤러 클래스 (변경 사항이있는 잘못된 복사본에서)를 백업 복사본으로 복사 할 수 있었고 제대로 작동했습니다.
스토리 보드에 버그가 있다고 생각합니다.
-layoutSubviews 메서드에 하위 뷰를 배치 할 때 동일한 오류 메시지가 나타납니다.
-(void)layoutSubviews
{
[super layoutSubviews];
[self populateByImageViews];
}
레이아웃 프로세스의 무한주기를 유발하고 앱이 충돌합니다. 여기에 하위보기를 배치하지 마십시오!
Storybord의 뷰 중 하나에서 UITextView를 삭제하면 제 경우에는 오류가 제거됩니다.
QLPreviewController를 사용할 때이 문제에 직면합니다. 다음과 같은 오류 메시지,
XPC connection interrupted
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)
XPC는 OS X 프로세스 간 통신을 의미하므로 이것이 문제를 해결할 수 있다고 생각합니다.
dispatch_async(dispatch_get_main_queue(), ^{
// do what you want to do.
});
valueChanged : method of a UIControl에서 동일한 문제가 발생하여 valueChanged : 내부에 코드를 작성하여 주 스레드에서 실행하고 문제를 해결했습니다.
@IBAction func valueChanged(sender: AnyObject) {
dispatch_async(dispatch_get_main_queue(), {
//code
}
}
나를 위해 UISearchBar에 대한 제약 조건이 누락되었지만 오류는 시뮬레이터에서만 발생했습니다.
몇 가지 제약 만 추가하고 더 잘 작동합니다.
참조 URL : https://stackoverflow.com/questions/32684157/xpc-connection-interrupted-in-xcode-7-for-ios-9
'Nice programing' 카테고리의 다른 글
git의 병합 전략은 무엇입니까? (0) | 2021.01.08 |
---|---|
Node.js는 Blob을 만들 수 없습니까? (0) | 2021.01.08 |
LLVM 프로필 오류 :“default.profraw”파일 쓰기 실패 : 권한이 거부되었습니다. (0) | 2021.01.08 |
-gc true를 사용하는 Java 12 대 Java 8의 스트림 API에 대한 신비한 마이크로 벤치 마크 결과 (0) | 2021.01.08 |
Quartz로 iOS에서 PDF 하이퍼 링크 받기 (0) | 2021.01.08 |