2013-03-19 1 views
1

저는 Unity 3.5를 사용하여 응용 프로그램 용 독립 실행 형 OSX 플레이어를 만들려고합니다. productbuild를 사용하여 pkg을 만들 때까지는 모든 것이 아주 원활하게 진행됩니다.Unity OSX 독립 실행 형 플레이어가 로컬 데이터를 저장하지 않습니다.

다음과 같이 내 productbuild 라인의 구문은 다음과 같습니다이 처음에 작동하는 것 같다 있지만

productbuild --component ProjectName.app "/Applications" --sign "$signingid" ProjectName.pkg

, 올바르게에 슈퍼 유저에서 권한을 묻는 후 응용 프로그램을 설치하는 것 같다 PKG 파일을 생성 그렇다면 설치된 응용 프로그램을 실행할 때 저장 데이터를 유지하지 못한다는 것을 발견했습니다. Application.datapath은이 경우 "/Applications/ProjectName.app/Contents/"로 설정되며 world-writable이 아닙니다.

필자가 볼 수있는 한 두 가지 가능한 해결책이 있습니다. 첫 번째는 내 응용 프로그램을 시작할 때 Application.datapath이되도록 쓸 수있는 방법을 찾는 것입니다. 그러나 나는 어떻게 이것에 관해 갈지 모른다. 내가 볼 수있는 유일한 해결책은 응용 프로그램에 필요한 모든 변경을 수행하여 더 이상 Application.datapath이 쓰기 가능하다고 가정하지 않으며 영구 데이터를 저장하기 위해 다른 위치를 설정해야합니다. 이 후자의 방법을 사용하면 유니티에 현재 그러한 데이터를 저장할 수있는 디렉토리를 가져올 수있는 기능이 있는지 알 필요가 있습니다. 왜냐하면 내가 현재 알지 못하기 때문입니다.

위에서 설명한 두 가지 이외의 다른 접근법이있는 경우, 저는 대안에 대해 분명히 열려 있습니다. 그러나 누군가 내가 위의 것을 달성하기 위해 알아야 할 것을 통해 도움을 줄 수 있다면, 나는 똑같이 될 것입니다. 그 정면에 감사하는 것.

누구든지 제공 할 수있는 도움에 미리 감사드립니다.

답변

1

Application.datapath은 앱이 루트에 저장되고 소유되는 곳입니다. 실행 사이에 영구 데이터를 저장하기위한 디렉토리를 얻으려면 Application.persistentDataPath이 필요합니다. 기본값은 ~/Library/입니다. 필자는 OSX 독립 실행 형 플레이어를 사용하지 않았지만 적어도 편집자 플레이어와 iOS에서는 그런 식으로 작동합니다.

+0

D' oh! 나는 그 재산을 완전히 놓쳤다! 고맙습니다! 그것이 정확히 내가 알아야 할 필요가있는 것입니다. – markt1964