2

我有一个我正在修改的 ios 应用程序,以便它可以作为静态库简单地插入到一系列其他应用程序中。但是,我还需要拥有所有相应的资源,因此我创建了一个自定义包来包含这些资源。该捆绑包包括所有选项卡栏图像、可本地化的字符串、默认图像,以及对于这个问题最重要的故事板文件。当我运行该应用程序时,它无法在自定义包中找到情节提要文件。

我的项目安排如下: 嗯...好吧,看来我不能发布图片,直到我的声誉得分增加,因为我是第一次来......我会尽力描述它。

静态库项目作为子项目拖入主项目。静态子项目包括 2 个目标,即生成 libOMPhotoGalleryLibrary.a 文件的库和创建 OMPhotoGalleryLibraryResources.bundle 文件的 libraryResources。资源构建阶段的 Copy Bundle Resources 部分包括(以及一堆图像和字符串文件):

  • OMPhotoGalleryLibraryResources/(localization).lproj 中的 MainStoryboard_iPad.storyboard

  • OMPhotGalleryLibraryResources
    /(localization).lproj中的 MainStoryboard_iPhone.storyboard

然后,主项目在 Linked Frameworks and Libraries 部分中包含子项目的静态 .a 文件,并且自定义包包含在它的 Copy Bundle Resources 中。

当我运行项目时,我收到消息: 在捆绑包 NSBundle 中找不到名为“MainStoryboard_iPhone”的故事板

好的,这并不完全出乎意料,因为我需要弄清楚如何让应用程序改为查看自定义包。

作为调试练习,我(暂时)将主项目中的引用直接添加到情节提要文件中,并且可以使一切正常工作。因此,我知道静态库工作正常,并且捆绑包已部署,图像和可本地化的字符串已部署并可访问。因此,在删除主项目中的临时引用后,运行时无法再找到情节提要文件。

我尝试将主项目的信息部分中的故事板文件名调整为以下各项均无济于事: OMPhotoGalleryLibraryResources.bundle/MainStoryboard_iPhone OMPhotoGalleryLibraryResources.bundle/en/MainStoryboard_iPhone OMPhotoGalleryLibraryResources.bundle/en.lproj/MainStoryboard_iPhone

我还在主项目的应用程序删除中尝试了几种编程方法,但也没有运气。所以,我不确定如何告诉应用程序在 OMPhotoGalleryLibraryResources.bundle 中查找情节提要文件。一旦故事板加载,我就可以成功地从这个包中读取所有其他文件。

4

1 回答 1

1

2013 年 3 月 3 日更新:解决了。我在正确的轨道上,但是我从原始项目中带来的文件位于本地化文件夹 en.lproj 中。但是,我没有将它们本地化到新的子项目中。当我将文件从 en.lproj 文件夹中提取到根资源文件夹中,然后将 INFO 引用更改为 OMPhotoGalleryLibraryResources.bundle/MainStoryboard 时,它起作用了。

于 2013-03-03T20:18:40.387 回答