iphone - 将 JSON 文件发送到 iPhone 以进行 iOS 应用程序测试

标签 iphone ios objective-c json local-storage

我已经开发了我的第一个 iOS 应用程序,但我面临着一个相对微不足道的问题。该应用程序使用存储在本地 json 文件中的非常基本的数据。现在我已将“default.json”文件放置在可由 Xcode 和 iPhone 6.1 Simulator 访问的本地目录中。

我的简单应用程序运行得非常顺利。

我可以使用以下声明轻松访问 JSON 文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *jsonPath = [documentsDirectory stringByAppendingPathComponent:@"default.json"];
NSString *jsonString = [[NSString alloc] initWithContentsOfFile:jsonPath encoding:NSUTF8StringEncoding error:NULL];

json文件的本地路径是: /Users/kamil/Library/Application Support/iPhone Simulator/6.1/Applications/CE00BA77-1CAD-4336-8A83-C95341CDF4AA/Documents/default.json

现在,当我尝试在 iPhone 上使用我的应用程序时,我的应用程序崩溃了。快速检查调试器日志表明 iPhone 上的文件访问可能存在问题。

如何从 iPhone 上 native 运行的应用程序中存储和访问我的 defaul.json 文件?

最佳答案

您可以将文件放入应用程序包中(确保它位于 XCode 中,位于项目的“构建阶段”选项卡上的“复制包资源”部分下),然后直接访问该文件,无需路径,只需使用 default .json。但是,应用程序包中的任何文件都是只读的。

或者,如果您希望能够更新文件,您的应用程序通常应在首次启动时将文件从应用程序包复制到文档文件夹,然后从那时起访问文档文件夹中的副本。 (提示:如果文档文件夹中不存在该文件,请从应用程序包中复制它。)

分发应用程序时,仅传送应用程序包中包含的文件。当从 XCode 在设备上运行时,仅将应用程序包复制到设备,所有非本地化文件都位于应用程序包的根文件夹中。

关于iphone - 将 JSON 文件发送到 iPhone 以进行 iOS 应用程序测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18385963/

相关文章:

iphone - iPhone 中的双击检测

c++ - iOS 处理强制应用程序退出的正确方法是什么

objective-c - 比较 Objective-C 与 Swift 数组和 NOT 运算符

iphone - popToRootViewController 崩溃

ios - 当 pickerView 出现时,UITextField 中的文本向左移动

在 Swift iOS 中解码 PHP JSON 返回空值

objective-c - 如何将我的 iOS 网络请求速率限制为一秒

iphone - 如何使用核心数据获取每个第 n 个对象

ios - UIBarButtonItem Frame 在旋转动画后变化

ios - Apple Music API,显式内容播放