
테스트를 하다 보면 꽤 자주 뜨는 오류이당.
더는 까먹지 않기 위해 정리하고자 한다.
Simulator의 캐시 때문에 해당 오류가 뜨는 것 같다.
해결하기 위해서 stackoverflow의 도움을 받았는데, 해당 방법은 다음과 같다.
- Xcode를 닫고 terminal에 sudo chmod 1777 /tmp
- ~/Library/Developer/CoreSimulator/Caches/dyld 폴더에 남아 있는 캐시를 삭제해 준다.
- Xcode 재실행!
방법이 상당히 간단한데, chmod 1777은 왜 하는거지? 싶어서 조금 찾아보았다.
chmod 는 흔히 알고 있듯이 파일이나 디렉토리의 권한을 변경할 수 있는 명령어이다.
해당 명령어는 각 bit 자리수를 계산하여 설정할 수 있는데,
read(r): 4
write(r): 2
execute(1): 1
⇒ 총합 7로 권한 설정을 할 수 있다.
위에서 사용한 chmod 1777은 stricky bit로, 나 이외의 유저나 그룹에 권한이 부여되었을 때 발생할 수 있는 문제를 해결하기 위한 bit이다. 말하자면 해당 폴더에는 소유자나 root만이 삭제할 수 있다.
777 권한으로 설정할 경우에는 모든 사용자들이 접근할 수 있기 때문에 해당 문제를 방지하려고 앞에 1 bit를 추가하여 쓰는듯.
linux의 /tmp 폴더에는 원래 1777 옵션이 적용되어 있다고 하는데 비슷한 맥은 안 그런가? ㅇ.ㅇ …
담에 확인해 봐야겠다….
도움을 받은 stackoverflow 글
Cannot run iOS 15 Simulator on Xcode 15.0.1: Interrupted system call
I was trying to run iOS 15 Simulator on Xcode 15.0.1, but I got an error: "Unable to boot the Simulator. Interrupted system call" I tried: Reinstalling Xcode Deleted "Derived Data&q...
stackoverflow.com