>source

샌드박싱은 앱이 시스템이나 파일을 원치 않게 변경하는 것을 방지합니다. 따라서 실행 시 일부 샌드박스 디렉토리가 다음 위치에 생성됩니다.~/라이브러리/컨테이너그리고~/라이브러리/응용 프로그램 스크립트. 이러한 디렉토리 중 하나를 사용할 수 없는 경우 샌드박스 앱은 실행 시 즉시 충돌합니다. 이러한 디렉터리를 사용할 수 있는 경우에도 관련 없는 디렉터리가 생성됩니다.

내가 사용하는 'code'는 Xcode의 새로운 Swift Storyboarded 앱 템플릿입니다. 문제는 숨겨진 Apple 상용구 code에 있습니다. 애플리케이션 실행의 어느 시점에서 샌드박스 디렉토리가 생성되며, 작업 없이 이를 재정의하려면 어떻게 해야 합니까?

샌드박스 디렉토리를 사용할 수 없는 경우 앱이 충돌하고 Xcode에서 다음을 표시합니다.

libsystem_secinit.dylib`_libsecinit_appsandbox.cold.5:
    0x7fff71adf140 <+0>:  pushq  %rbp
    0x7fff71adf141 <+1>:  movq   %rsp, %rbp
    0x7fff71adf144 <+4>:  pushq  %r14
    0x7fff71adf146 <+6>:  pushq  %rbx
    0x7fff71adf147 <+7>:  movq   %rdx, %r14
    0x7fff71adf14a <+10>: movq   %rsi, %r9
    0x7fff71adf14d <+13>: movq   %rdi, %rbx
    0x7fff71adf150 <+16>: leaq   0xbe8(%rip), %r8          ; "%s"
    0x7fff71adf157 <+23>: movl   $0x800, %esi              ; imm= 0x800
    0x7fff71adf15c <+28>: movl   $0x800, %ecx              ; imm= 0x800
    0x7fff71adf161 <+33>: movl   $0x0, %edx
    0x7fff71adf166 <+38>: xorl   %eax, %eax
    0x7fff71adf168 <+40>: callq  0x7fff71adf3ee            ; symbol stub for: __snprintf_chk
    0x7fff71adf16d <+45>: movq   %r14, 0x264f994c(%rip)    ; gCRAnnotations + 16
    0x7fff71adf174 <+52>: movq   %rbx, 0x264f993d(%rip)    ; gCRAnnotations + 8
->  0x7fff71adf17b <+59>: ud2 //Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

샌드박스 디렉토리 생성을 비활성화하려면 어떻게 해야 합니까?

현재로서는 Application Scripts 폴더와 같은 컨테이너 폴더 생성은 문제가 아닐 가능성이 높습니다. 예외 중단점을 설정합니다.

vadian2021-10-14 06:45:10

@vadian ~/Library/Application Scripts를 같은 이름의 파일로 바꾼 이후로(디렉토리가 생성되는 것을 방지하기 위해) 모든 샌드박스 앱이 충돌하기 시작하고 최근 편집 내용도 참조하기 때문에 그렇게 생각합니다.

user162172482021-10-13 15:20:19
  • 이전 fortran : .FOR 파일을 컴파일하는 방법(무료?)?
  • 다음 스타일 및 브러시에 대한 Wpf ResourceDictionary 및 MergedDictionaries 방법