尝试从URL加载plist并让它覆盖当前的plist。下面的代码适用于模拟器,但在检查iPhone 4设备时,它不会下载更新的内容? Xcode的新人有任何智慧的话语吗?
Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if ((internetStatus == ReachableViaWiFi) || (internetStatus == ReachableViaWWAN)){
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"SpecialCases.plist"];
NSURL *theFileURL = [NSURL URLWithString:@"http://www.awebsite.com"];
NSDictionary *replace = [[NSDictionary alloc] initWithContentsOfURL:theFileURL];
if (replace != nil){
[replace writeToFile:finalPath
atomically:YES];
}
}
答案 0 :(得分:3)
您无法在iOS设备上写入应用程序的捆绑包,因为这不是您可以编辑的沙箱的一部分。您必须将文件保存到文档目录,如下所示:
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *finalPath = [path stringByAppendingPathComponent:@"SpecialCases.plist"];
然后从那里加载plist,而不是你的app bundle。