我以前曾想过,如果您选中一个文件的复选框以将其添加到目标,那么这就是它被包含在应用程序包中的方式。我有一些我决定不使用的音频文件,我从 Target Membership 中取消选中它们。他们也不是#include
或#import
任何地方。我使用 Product 菜单“清理”了 Xcode 项目,还删除了它的派生数据。作为测试,我没有删除这样的行:
NSURL* file_url = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:fileName ofType:fileSuffix]];
pcmData = MyGetOpenALAudioDataAll((CFURLRef)file_url, &data_size, &al_format, &sample_rate);
在哪里fileName
并fileSuffix
引用这些不再包含在目标中的文件。
然而,令人惊讶的是,这些文件仍然可以正常加载和播放。
显然,除了“目标成员资格”复选框之外,文件还以另一种方式包含在应用程序包中。这是怎么回事?