programing

iOS 10: "[앱] 만약 우리가 실제 사전 커밋 핸들러에 있다면 CA 제한으로 인해 실제로 새로운 펜스를 추가할 수 없습니다."

telecom 2023. 5. 5. 08:35
반응형

iOS 10: "[앱] 만약 우리가 실제 사전 커밋 핸들러에 있다면 CA 제한으로 인해 실제로 새로운 펜스를 추가할 수 없습니다."

앱을 실행할 때 Xcode 8b3의 로그에 가끔 이 메시지가 표시됩니다. 모든 것이 작동하는 것처럼 보이지만, 이것이 어디에서 온 것인지 알고 싶습니다.구글은 전혀 도움이 되지 않았습니다.

Xcode:

  • 중지 단추 바로 옆에 있는 활성 구성표 이름을 클릭
  • 구성표 편집...을 클릭합니다.
  • 실행(디버그)에서 인수 탭을 선택합니다.
  • 환경 변수에서 + 클릭
  • 변수 추가:OS_ACTIVE_MODE = 사용 안 함

스크린샷

에서 비롯됩니다.+[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]via os_log API.사용 중인 다른 구성 요소/프레임워크(UIKit에서만)에 의존하지 않습니다. 인터페이스 방향 변경 시 깨끗한 단일 뷰 애플리케이션 프로젝트에서 재현됩니다.

이 방법은 두 부분으로 구성됩니다.

  1. 전달된 사전 커밋 처리기를 처리기 목록에 추가합니다.
  2. 현재 유한 상태 기계 상태에 따라 달라지는 작업을 수행합니다.

두 번째 부분이 실패하면(금지된 전환으로 보임) 위의 메시지를 오류 로그에 인쇄합니다.그러나 이 문제는 치명적이지 않다고 생각합니다. 이 방법에는 디버그 충돌로 이어질 수 있는 추가 어설션 사례가 2개 있습니다.

레이더가 우리가 할 수 있는 최선인 것 같습니다.

다음을 입력해 보십시오.environment variables아래의 계획을 위하여.run(debug)

OS_ACTIVITY_MODE = disable

다음과 같은 방법으로 음소거할 수 있습니다(장치와 시뮬레이터는 다른 값이 필요함).

이름 추가OS_ACTIVITY_MODE및 가치${DEBUG_ACTIVITY_MODE}제품 -> 구성표 -> 구성표 편집 -> 실행 -> 인수 -> 환경에서 확인합니다.

여기에 이미지 설명 입력

사용자 정의 설정 추가DEBUG_ACTIVITY_MODE그 다음에 추가Any iOS Simulator SDK위해서Debug다음으로 설정합니다.disable(프로젝트 -> 빌드 설정 -> + -> 사용자 정의 설정)

여기에 이미지 설명 입력

수정하기 위해 시뮬레이터에서 앱을 삭제했습니다.

저도 Clean을 먼저 실행했습니다.

저는 오리엔테이션과 관련된 어떤 것도 그것을 촉발했다고 생각하지 않습니다.이 증상이 시작되기 전에 가장 크게 변경된 것은 Swift 프레임워크에서 호출을 시작했다는 것입니다.NSLog메인 스레드 대신 작업자 스레드에서.

OS_ACTIVITY_MODE = disable

이렇게 하면 실제 장치에서 디버깅하는 기능도 비활성화됩니다(그 이후부터는 실제 장치에서 콘솔 출력이 없음).

언급URL : https://stackoverflow.com/questions/38458170/ios-10-app-if-were-in-the-real-pre-commit-handler-we-cant-actually-add-any

반응형