我有一个支持OSX 10.5的现有OSX应用程序。我想将它发布到AppStore,因此我需要沙盒应用程序。我猜沙箱应用程序应该支持10.7以上。
问题
使用sanbox应用程序,我在哪里存储临时文件? 我应该在哪里放置可以读取/替换的db文件+新的应用程序更新应该能够找到exsting db文件。 崩溃记者的自定义代码应该保留还是冗余?
谢谢
答案 0 :(得分:0)
我在哪里存储临时文件?
In the directory recommended by NSTemporaryDirectory()
.(这适用于沙盒和非沙盒应用程序。)
我应该在哪里放置可以读取/替换的db文件
在应用程序的Application Support目录中。 Use NSSearchPathForDirectoriesInDomains()
to find it,然后附上您的应用程序名称。同样,无论您是否使用沙盒,都是一样的。
新的应用更新应该能够找到exsting db文件。
不可能。您可以要求用户使用NSOpenPanel
找到现有文件,但您无法自行打开,因为它位于您的沙箱之外。
崩溃记者的自定义代码应该保留还是冗余?
您需要将其删除,因为它无法在沙盒中运行 - 崩溃报告不会存储到您的沙箱中。您将通过iTunes Connect收到应用程序的崩溃报告。
或者,您可能希望查看第三方崩溃报告服务,例如PLCrashReporter。
答案 1 :(得分:0)
有一种机制可以将现有应用的数据迁移到沙箱中:Migrating an App to a Sandbox在developer.apple.com上
首次启动新沙盒应用时,即可完成此操作。如果您可以确定数据库的存储位置,则可以将其迁移到沙箱中。