[ios] iOS 10 : “[App] 실제 사전 커밋 처리기에 있으면 CA 제한으로 인해 실제로 새 펜스를 추가 할 수 없습니다”

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



답변

Xcode에서 :

  • 중지 버튼 옆에있는 활성 체계 이름을 클릭하십시오.
  • 구성표 편집 …을 클릭하십시오.
  • Run (Debug)에서 Arguments 탭을 선택하십시오.
  • 환경 변수에서 +를 클릭하십시오.
  • 변수 추가 : OS_ACTIVITY_MODE = 사용 안함

스크린 샷


답변

+[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]os_log API 를 통해 제공됩니다. 사용중인 다른 구성 요소 / 프레임 워크 (UIKit에서만)에 의존하지 않습니다-인터페이스 방향 변경에 대한 깨끗한 단일 뷰 응용 프로그램 프로젝트를 재현합니다.

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

  1. 전달 된 프리 커밋 핸들러를 핸들러 목록에 추가;
  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

또한 실제 장치에서 디버깅 할 수 없게됩니다 (실제 장치의 콘솔 출력은 해당 없음).


답변