[ios] 오류 메시지 ‘_BSMachError : (os / kern) 유효하지 않은 기능 (20)’

이 오류 메시지는 매우 낮은 수준이므로 시나리오에 따라 다른 이유로 잘립니다. 아래 답변 중 하나에 언급되지 않은 시나리오가있는 경우 상황을 추가하는 것도 고려하십시오. 따라서이 오류 메시지를 발생시키는 다양한 상황에 대한 중심 답변 일 수 있습니다.

2015 년 11 월 10 일 편집 또한 내 답변을 답변으로 표시했지만 다른 사람이 게시하기 전에 수행했습니다. 우리가 지금 아래에서 볼 수 있듯이 아무것도 대답으로 표시되어서는 안된다고 생각합니다 …이 오류는 레벨이 낮아서 단 하나의 대답 만하지 않습니다.

나는 뛰고있어

  • iOS 9.0 시뮬레이터
  • XCode 7.0

어제 모든 것이 잘 작동했습니다.

오늘날 회전 관련 항목에 대한 많은 작업을 한 후에 시뮬레이터에서 앱을 실행하고 회전 할 때 콘솔 출력 에서이 오류가 발생하기 시작했습니다.

_BSMachError : (OS / Kern) 유효하지 않은 기능 (20)

_BSMachError : (os / kern) 잘못된 이름 (15)

이 문제의 스크린 샷
-빌드 폴더를 지 웠습니다.-파생 데이터 폴더를 정리했습니다.-시뮬레이터를 재설정했습니다.

나는 함께 일하고 있었다

  • UIViewController viewWillLayoutSubviews
  • UIViewController viewWillTransitionToSize:...

또한 IB의 속성 관리자에서 다양한 ‘도면’설정을 확인하고있었습니다.

또한 UIView에서 유틸리티 카테고리를 만들었습니다. 여기서를 작성 CGRect하고 뷰에 프레임을 할당하는 데 도움 이되는 많은 메소드를 만들었습니다 .

루트 뷰 컨트롤러

루트 뷰 컨트롤러 설정



답변

https://forums.developer.apple.com/thread/15683 기반으로 :

대신 ” Localization native development regioninfo.plist을 미국으로 변경하십시오 en.

업데이트 : 그런 다음 이러한 변경 사항을 되돌릴 수 있습니다.


답변

나는 또한 우연히 _BSMachError콘솔 오류 A로부터 아이폰 OS 9에서 설정 앱으로 딥 링크하는 동안 UIAlertController작업입니다. A는 dispatch_async내 문제를 해결 :

[aAlertVC addAction:[UIAlertAction actionWithTitle:@"Settings" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
    dispatch_async(dispatch_get_main_queue(), ^{
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    });
}]];


답변

좋아, 나는 그것을 완전히 고정 시키지는 않았지만, 이것이 99 %의 방법을 얻을 것이다. ESRI의 타사 맵 컨트롤을 사용하고 있는데 속성 관리자의 이러한 도면 설정 중 하나가 마음에 들지 않습니다. 어떤 설정인지 확인하기 위해 각 설정을 개별적으로 시도하지는 않았지만 (빨간색 상자에서) 모든 설정을 끄면 모든 것이 매력처럼 작동하여 콘솔에서 위의 오류 메시지가 표시되지 않습니다. 정확한 설정이나 설정 조합으로 시간을 정할 때 답을 업데이트하겠습니다.

여기에 이미지 설명을 입력하십시오


답변

미친 짓이지만 해결책은 오류가 발생한 파일의 모든 중단 점을 제거하는 것이 었습니다.

원인은? 현재 줄에 중단 점을 만들기 위해 실수로 바로 가기 키를 쳤다고 생각합니다. 의도하지 않았기 때문에 동일한 바로 가기 키를 다시 눌러 삭제했습니다.

오 내 사랑 XCode …


답변

같은 오류가 발생했습니다 …

_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

에서 openURL ()을 호출했습니다. UIAlertAction

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    UIApplication.shared.openURL(url)
 }

다음 실행 루프가 수정 될 때까지 블록 실행 지연 …

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    OperationQueue.main.addOperation {UIApplication.shared.openURL(url)}
 }


답변

새 데이터를 제공 할 때 다음을 얻었습니다.

> _BSMachError: (os/kern) invalid capability (20)
> _BSMachError: (os/kern) invalid name (15)

버튼을 사용하여 새 데이터를 제공 할 때 오류가 발생했습니다. NSTimerperformSegueWithIdentifier작업 에서 돌아올 때 데이터를 새로 고치고 업데이트 하는 데 사용되었습니다 . 타이머가 활성화 된 후 반환 시간에 사용한 직후에 무효화되었습니다. 는 MSMachError타이머가 제거 될 때 중단하고 – (void)viewWillAppear:(BOOL)animated(void)viewDidAppear:(BOOL)animated동일한 기능을 수행하는 데 사용 하였다. 이 오류는 Xcode 7로 업그레이드하면서 시작되었습니다.


답변

나는 값 변경하여 고정이 문제를 가지고 Localization native development region열쇠 United Kingdom [또는 특정 지역] 기본 값의 en존재를 info.plist프로젝트의합니다.

  1. 고르다 Project Navigator
  2. info.plistProjectNameTests 폴더에있는 파일을 찾으십시오 .
  3. 예를 들어Localization native development region key 특정 지역의 값을 변경하십시오 . 영국

1 단계와 2 단계

3 단계