以下代码在iOS 8之前正常运行。 现在我正在编译iOS 8 beta 5我无法访问这些文件。
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
sprintf(appPath, "%s/%s/extfiles", [NSHomeDirectory() UTF8String],
[[[NSFileManager defaultManager] displayNameAtPath:bundlePath] UTF8String]);
app Path的结果应该是:
appPath char * "/var/mobile/Containers/Data/Application/97726814-AA76-41AB-A9A7-296AAEF4F898/MyApplication.app/extfiles" 0x0054f44c
我的应用程序使用该文件夹中包含的文件启动,结果是我的应用程序在读取文件时崩溃。
答案 0 :(得分:1)
该代码不正确,不适用于任何版本的iOS,因为连接应用程序包根目录和主目录是没有意义的。如果它有效,那么我认为这只是运气。
你想要的是:
NSBundle *bundle = [NSBundle mainBundle];
NSURL *extFilesURL = [[bundle resourceURL] URLByAppendingPathComponent:@"extfiles"];
答案 1 :(得分:1)
你可以试试这个
NSString *str=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"extfiles"];
希望它有所帮助。