我在为我的应用程序创建包并将文件放入包中时遇到了一些困难。
例如,Facebook使用他们的框架为 iPhone 应用程序开发了一个捆绑包。同样,我还想创建一个可用于许多应用程序的捆绑包。
我的问题是:
- 我应该遵循哪些步骤来为任何类型的应用程序创建捆绑包?
- 创建捆绑包时应该注意什么?
首先,由于您的问题被标记为 iPhone,因此您只能在 iPhone 上的捆绑包中包含代码。所以基本上只能用bundle来打包图片和声音文件等静态数据。
当您在 XCode 中创建一个新项目时,可以选择将目标设为一个包(在 Framework & Library 下),但资产包只是一个带有 .bundle 后缀的目录。我用这个小脚本生成我的:
#!/bin/bash
echo "Building assets bundle."
if [ -d ./MyAssets.bundle ]; then
rm ./MyAssets.bundle/*
else
mkdir ./MyAssets.bundle
fi
find ./assets -type f -print0 | xargs -0 -J% cp % ./MyAssets.bundle
(我不是 bash 黑客,所以这可能可以通过无数种方式改进。欢迎提出建议!)
这需要一个文件夹层次结构并将其展平(我讨厌层次结构)到一个名为 MyAssets.bundle 的目录中。在导入包的项目中,我从单独的构建阶段触发此脚本,以便自动跟踪更改。
如果你想学习如何创建框架包,它有点复杂(你必须遵循某些约定并在 plist 中包含信息),但对于 iPhone 包,这几乎是你需要知道和做的所有事情。
你也可以这样做:
在 finder 中创建一个文件夹,向其中添加文件,将其重命名为 bundlename.bundle
拖入 Xcode - 成功!
访问,使用 PathToMainBundle+"/bundlename.bundle" 的形式