Nice programing

iOS 9 용 Xcode 7에서 XPC 연결이 중단됨

nicepro 2021. 1. 8. 22:53
반응형

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

반응형