我正在使用越狱的iPhone,我将应用程序转移到其/ Applications。 我将应用程序chmod为0777。
应用程序可以执行,但这部分代码在模拟器和设备上的行为方式不同。 在模拟器上,长度是upload.jpeg的实际长度, 但在设备上,长度变为0;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *uploadFilePath = [documentsDirectory stringByAppendingPathComponent:@"upload.jpeg"];
[UIImageJPEGRepresentation(imageForUpLoad,1) writeToFile:uploadFilePath atomically:YES];
NSData* dataToUpload = [[NSData alloc] initWithContentsOfFile:uploadFilePath];
int length = [dataToUpload length];
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"jpeg length"
message:[NSString stringWithFormat:@"%d",length]
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
答案 0 :(得分:1)
这有点棘手,但我发现了问题所在。 改变这个:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *uploadFilePath = [documentsDirectory stringByAppendingPathComponent:@"upload.jpeg"];
到此:
NSString* uploadFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"upload.jpeg"];
添加它会没事的。 但我无法弄清楚为什么我不能在iOS 4.3设备上使用文档目录。 当我使用iOS 4.2设备时,前面的代码也没问题。