我在为我的应用程序创建一个包并将文件放在包中时遇到了一些困难.
例如,Facebook已经使用他们的框架为iPhone应用程序开发了一个包.同样,我还想创建一个可以在许多应用程序中重用的包.
我的问题是:
我应该遵循哪些步骤为任何类型的应用程序创建一个包?
创建捆绑包时应该注意什么?
Felixyz.. 11
首先,由于您的问题被标记为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 hacker,所以这可能会以无数种方式得到改善.建议欢迎!)
这需要一个文件夹层次结构并将其展平(我讨厌层次结构)到一个名为MyAssets.bundle的目录中.我在导入捆绑包的项目中从单独的构建阶段触发此脚本,以便自动跟踪更改.
如果你想学习如何创建框架包,它有点复杂(你必须遵循某些约定并在plists中包含信息),但对于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 hacker,所以这可能会以无数种方式得到改善.建议欢迎!)
这需要一个文件夹层次结构并将其展平(我讨厌层次结构)到一个名为MyAssets.bundle的目录中.我在导入捆绑包的项目中从单独的构建阶段触发此脚本,以便自动跟踪更改.
如果你想学习如何创建框架包,它有点复杂(你必须遵循某些约定并在plists中包含信息),但对于iPhone软件包,这几乎是你需要知道和做的事情.
你也可以这样做:
在finder中创建一个文件夹,向其中添加文件,将其重命名为bundlename.bundle
拖入Xcode - 成功!
访问,使用PathToMainBundle +"/ bundlename.bundle"的形式
资料来源:https://stackoverflow.com/a/5277452/736384