操作无法完成。 不允许操作
我的iPhone应用程序非常奇怪的问题。 我们有一个应用程序已获得批准,并在App Store销售。 它包含一个功能来下载一些数据库更新。 该更新通过HTTP进入ZIP。 问题是我无法保存这个下载的ZIP文件,因为我得到了“操作无法完成,操作不允许”的错误。
但是:这发生在10个电话中的两个电话上。如果电话不能保存该文件,则它根本无法完成。 如果我从商店重新下载应用程序,它不会改变它。 但那些有能力保存ZIP的手机总是有能力的。 所有的手机都运行相同的iOS版本,并且全部都是iPhone 4.这真的让我发疯。
如果我启动XCode,则一个手机在调试其他手机时不会出现错误。 他们总是给予。
代码如下:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[activeResponse release];
[theConnection release];
NSLog(@"%d", [receivedData length]);
NSString *s = [[NSString alloc] initWithData:receivedData encoding:NSASCIIStringEncoding];
NSLog(@"%@", s);
[s release];
[theRequest release];
NSString *path = [NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] resourcePath], @"temp.zip"];
NSLog(path);
NSError * error;
if ([receivedData writeToFile:path options:NSDataWritingAtomic error:&error])
NSLog(@"Success");
else
NSLog(@"Error");
if (error)
NSLog([error description]);
有什么想法吗?
您不能写入应用程序包,我很惊讶它可以在您的任何设备上使用。 你可以写很多地方,这取决于你的目的是什么:
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]
NSTemporaryDirectory()
另外,顺便说一句,使用[directory stringByAppendingPathComponent:filename]
而不是[NSString stringWithFormat:@"%@/%@", directory, filename]
来构造路径可能会更清晰。
上一篇: The operation couldn’t be completed. Operation not permitted