这个问题在这里已经有了答案:CanIaccessanxcassetsdirectoryonthefilesystem?(4个答案)关闭6年前。我正在尝试获取我在我的iOS应用程序的Assets.xcassets目录中的文件的路径,但我做不到。似乎我应该以某种方式使用NSBundle.mainBundle(),但是Xcode找不到NSBundle即使我导入了Foundation或UIKit。如果我对“NSBundle”进行自动完成,我会得到以下选项:NSBundleErrorMaximumNSBundleErrorMinimumNSBundleResourceRequestNSBundl
我有一些代码在某些时候调用[NSBundlemainBundle],主要是为了读取/设置首选项。当我对该方法进行单元测试时,测试失败,因为测试的mainBundle不包含该文件。这是aknownissue,Apple不会修复,因为他们认为它是notabug:thegistoftheirreplyisthatXCTestisworkingcorrectlybyreturningit’sownmainbundleinsteadofthebundleofthetesttarget.以前我们的代码库在NSBundle的+mainBundle类方法上使用类别覆盖来解决这个问题。但是thisisd
我正在尝试在我的NSBundle中复制一个包含大量图像的文件夹。我试着用这些代码来做。NSFileManager*fileManager=[NSFileManagerdefaultManager];NSError*error;NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSString*documentDBFolderPath=[documents
我有一个可以播放音频文件的简单应用。每当我将mp3文件加载到我的NSURL时,它工作正常,AVAudioPlayer开始播放歌曲。但是,当我更改为m4a文件时,NSString路径返回nil,就像它无法找到我的文件的路径一样,因此没有形成NSURL。m4a文件当然在项目中。它位于代码下方,但我认为这不是代码问题。有什么想法吗?谢谢。NSString*path=[[NSBundlemainBundle]pathForResource:@"end"ofType:@"m4a"];NSURL*urlFile=[NSURLfileURLWithPath:path];NSError*error;s
我们收到这些类型的错误消息:无法加载从标识符为“com.company.OurResourceBundle”的包中的nib引用的“iconStatus”图像。基本上,我们将一堆图像放在xcassets文件夹中(适用于非捆绑加载的情况)。xcassets和nib文件被打包到一个资源包中。当应用启动时,nib文件中的uiimageview无法加载任何带有上述错误消息的图像。[UIImageimageNamed:@"OurResourceBundle.bundle/iconStatus"]返回nil问题与“HowcanIloadanimagefromAssets.car(compiledve
我正在尝试实现一种在应用程序内更改语言的方法。我想我已经弄明白了,但由于某种原因,该文件夹没有打包成一个包我有一个名为kh.lproj的文件夹NSString*path=[[NSBundlemainBundle]pathForResource:newLanguageofType:@"lproj"];if([[NSFileManagerdefaultManager]fileExistsAtPath:path]){bundle=[NSBundlebundleWithPath:path];DLOG(@"Language:%@frompath%@(%@)",newLanguage,path,b
假设我们可以在运行时更改Localizable.strings,它被放置在NSBundle中目前,即使我们更改它的内容,NSLocalizedString也会返回旧的(缓存的)值。运行应用程序获取特定key1的LocalizableString更改Localizable.stringskey1=value2检查特定key1的LocalizableString是否==value2我已经尝试过的:[[NSBundblemainBundle]invalidateResourceCache][UIApplication_performMemoryWarning]试图查看是否有一些字典。用于缓存
我正在尝试获取与NSLocalizedStringFromTableInBundle一起使用的字符串文件表。我正在使用这个方法:+(NSBundle*)getBundleForLang:(NSString*)lang{//getthepathtothebundleNSString*bundlePath=[[NSBundlemainBundle]pathForResource:@"localizable"ofType:@"strings"inDirectory:nilforLocalization:lang];NSLog(@"bundlePath=%@",bundlePath);//lo
我正在使用iOS4.2SDK开发一个iOS应用程序,但我希望该应用程序可以在旧设备上运行,例如我的iPhone2G和iOS3.1.3。我不知道这段代码的替代方案是什么:NSURL*modelURL=[[NSBundlemainBundle]URLForResource:@"CoreDataApp"withExtension:@"momd"];它在我的设备上崩溃,因为URLForResource:withExtension:方法是iOS4+。请帮忙。谢谢。 最佳答案 您可以使用pathForResource:ofType:获取资源路径
问题:[NSBundlemainBundle]pathForResource返回null(0x0)我看了很多关于这个主题的帖子,这是我发现的:确保您尝试获取路径的文件在项目中。要检查,请在项目文件列表中查找文件,如果不存在,请将其拖放到。检查您尝试加载的文件是否已复制到应用程序。为此,单击项目文件下的项目(带有项目名称的蓝色条->单击目标->单击构建阶段->单击以展开“复制捆绑资源”,并确保您的文件在其中.如果不是,点击加号,添加。确保大小写完全匹配。(又名-模拟器可以工作/应用程序不会有问题)确保大小写完全匹配,否则它不会返回任何内容。要解决此问题,只需在项目中重命名它,或在源代码中