그래픽을 표시하는 Mac App Store에 프로그램을 작성했습니다. 때로는 인터넷에서 업데이트됩니다. 대부분의 사람들과 마찬가지로 지금 내 앱을 샌드 박스로 가져 가고 있습니다.'sandboxd : 파일 쓰기 - 쓰기 거부'- 앱 자체 번들에 쓸 때
거의 모든 작업을하지만, 업데이트 할 때 내 응용 프로그램의 자신의 번들에 파일을 저장하고 실패 'sandboxd : 파일 쓰기 만들 거부'난 그냥 (..., "WB"fopen을 사용
을)
는 fopen에 전달 경로는 : /Users/MyUser/Library/Developer/Xcode/DerivedData/MyApp-czuwveatgjffaggwqjdqpobjqqop/Build/Products/Debug/My.app/Contents/Resources/the_file.foo
경로는 다음을 사용하여 생성됩니다.
CFBundleRef bundle = CFBundleGetMainBundle();
CFURLRef url = CFBundleCopyResourcesDirectoryURL(bundle);
CFURLGetFileSystemRepresentation(url, true, (UInt8*)buf, sizeof(buf));
여기서 분명히 잘못된 것을하고 있습니까? 내 응용 프로그램은 다중 플랫폼이므로 이상적으로는 fopen/etc를 계속 사용합니다. 내가 이해했듯이 앱이 다른 곳에서 아무 일도 할 수 없더라도 앱은 자체 번들에 글을 써야합니다.
감사합니다.
정확함 - 그러나 앱 번들에 글을 써서는 안되는 추가 이유는 코드 서명이 무효화된다는 것입니다. (예, 인봉 된 부분에 틈을 남겨두고 그 틈에 글을 쓸 수도 있고 직접 편집 한 후에 번들에 다시 서명 할 수도 있지만 분명히하지 않아야합니다.) – abarnert
고마워요! 회신에 늦어서 죄송합니다. 흥미롭게도 종료시 설정 파일을 작성해도 샌드 박스에 문제가있는 것 같지 않습니다. –