iphone 模拟器和设备包
Posted
技术标签:
【中文标题】iphone 模拟器和设备包【英文标题】:iphone Simulator and device bundle 【发布时间】:2012-11-24 10:57:08 【问题描述】:我正在准备一个 ios 应用程序。我正在使用以下代码
NSString * yol=[[NSBundle mainBundle]pathForResource:@"TavsiyeKitapAile" ofType:@"plist"];
NSDictionary * tka = [XMLReader dictionaryForXMLData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.bahcevan.org/kat.php?kat=64"]] error:nil];
[tka writeToFile:yol atomically:YES];
NSMutableDictionary * dic = [[NSMutableDictionary alloc]initWithContentsOfFile:yol];
它在模拟器上运行良好,但是当我打开它时,我看不到数据。什么都没有。我认为它与捆绑有关,但我无法解决。
【问题讨论】:
检查@"TavsiyeKitapAile" ofType:@"plist" 的拼写是否有任何变化,例如:“Plist”而不是“plist”? 我试过了,但没用 :( 【参考方案1】:您不能写入设备包,您的设备包是只读的,如果您想保存/写入某些内容,则必须将其写入文档目录。
【讨论】:
在模拟器应用程序上的沙盒没有正确地加上它在你的主目录中,这对你是可写的。仍然......这似乎是模拟器中的一个“错误”。请向苹果提交一个关于它的错误:) 我正在解析一个 XML 并将其写入我项目的 plist 中。不可能吗? (TavsiyeKitapAile.plist 已经在我的项目中,我之前创建了它。)如果是我怎么能将它写入文档目录?【参考方案2】:我找到了解决方案,它使用的是“文档”目录,我使用了以下代码,第一个 :)
NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory,
NSUserDomainMask, YES
);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL *yol = [NSURL fileURLWithPath:[documentsDirectory
stringByAppendingString:@"/TavsiyeKitapAile.plist"]];
NSDictionary * tka = [XMLReader dictionaryForXMLData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.bahcevan.org/kat.php?kat=64"]] error:nil];
[tka writeToURL:yol atomically:YES];
NSMutableDictionary * dic = [[NSMutableDictionary alloc]initWithContentsOfURL:yol];
【讨论】:
以上是关于iphone 模拟器和设备包的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?