如何为iPhone创建仅限资源的Bundle

时间:2011-08-18 19:54:44

标签: iphone ios resources nsbundle

我们正在尝试用语言特定的捆绑包提供我们的笔尖。由于几个不同的原因,这将有助于我们。

我的问题是围绕设置资源捆绑包。

  1. 当我通过“新项目 - 框架& Library - Bundle“菜单xcode将添加一个新的xcodeproj文件。它是否正确?我认为捆绑包只是一个扩展名为.bundle的目录。
  2. 如果我想在我的包中只有nib文件,我还需要一个可执行文件和一个info.plist文件吗?
  3. 到目前为止,我已手动创建了一个bundle目录并添加了nib文件。我可以用

    访问它
    NSBundle bundleWithPath
    

    不确定它是否正确加载,但bundleWithPath方法不返回nil。

    但是当我尝试从捆绑包中打开一个nib文件时,我收到以下错误:

      

    * 由于未捕获的异常而终止应用   'NSInternalInco nsistencyException',原因:'无法加载NIB   捆绑:'NSBundle   (尚未加载)'名称'Nib''

    我已将软件包添加到“Copy Bundle Resources”。

    感谢您的任何信息。我敢肯定我正在努力做到这一点。

    编辑:我回去测试时添加了下面一行来寻找xib而不是笔尖。它适用于xib但不适用于笔尖。我认为这意味着xib可能没有被编译。

    [languageBundle pathForResource:@“TestNib”ofType:@“xib”];

1 个答案:

答案 0 :(得分:0)

  1. 不,这不对。您应该为当前项目添加新目标,而不是创建新项目。

  2. 你不需要一个可执行文件,但是你可能需要一个Info.plist才能成为一个合适的软件包(它可能不是绝对必要的,但有一个可能没什么坏处。) / p>

  3. 现在,您是否有理由将nib文件放在bundle而不是.lproj目录中?此外,在我们提供进一步帮助之前,您需要先显示一些实际代码。