【发布时间】:2015-09-02 04:57:30
【问题描述】:
我正在构建一个包含 .xib 和 .storyboard 文件的 ResourceBundle。这些是由我构建的静态库访问的文件。它们捆绑在一起的原因是静态库被多个应用程序使用。
这些故事板和 .xib 引用了许多图像,这些图像是资产目录的一部分。难题是资产目录应该在哪里。
如果我将资产目录与 .xib 文件一起放入包中,iOS7 将无法加载任何图像。那是因为[UIImage imageNamed:] 只查看 iOS7 中的主包。
相反,如果我将目录放在应用程序中,则图像在 iOS7 中正确加载,但在 iOS8 中加载失败!我可以将资产目录放在捆绑包和主应用程序中,然后它适用于 iOS7 和 8。但是,这会使我随应用程序提供的图像数据的大小翻倍。
另一个对我有用的选项是将捆绑包的最低部署版本设置为 IOS6。这可以防止资产目录被编译为 Assets.car,并且可以从 iOS 7 和 8 加载图像。这种方法适用于我的 ResourceBundles,但对于另一种方法,它没有为我的 iPhone 和 iPad 图像创建不同的文件.
关于如何解决这个问题的想法?
【问题讨论】:
标签: ios cocoa-touch uistoryboard xib nsbundle