使用未包含在我的应用内的数据文件

时间:2015-01-25 15:54:13

标签: ios cocoa-touch ios8.1

我有一个我构建的API并将其转换为CoCa框架(iOS 8)我的API引擎正在使用一些大数据文件。 (〜100MB)

我的问题是引擎是可选的。我的最终用户可能有也可能不想拥有该功能。所以,我不想在我的库(框架)中包含这些文件。我希望能够根据用户请求下载它,然后使用它。

以正常大小制作此框架(和应用程序)的BKM是什么,然后仅根据用户的请求下载100MB?

无论我走到哪里,似乎谈论的是静态库以及应该如何将所有内容预先包含在应用程序包中。

什么,如果有的话,是替代品?

抱歉,如果我错过了明显的......

1 个答案:

答案 0 :(得分:1)

如果数据文件不包含可执行代码,则可以将它们存储在其他位置。如果是应用内购买内容,您可以将这些文件存储在Apple服务器上。

来自In-App Purchase Programming Guide

  

如果产品具有相关内容,则您的应用需要提供相关内容   内容给用户。例如,购买游戏中的等级   需要提供定义该级别和购买的文件   音乐应用中的其他乐器需要发出声音   让用户播放这些乐器所需的文件。

     

您可以将该内容嵌入应用套装中,也可以下载   根据需要 - 每种方法都有其优点和缺点。如果你   在您的应用包中包含太少的内容,用户必须等待   即使是小额购买也要下载。如果你的太多了   应用程序包,应用程序的初始下载需要太长时间,而且   对于没有购买相应的用户,浪费了空间   产品。此外,如果您的应用太大,用户将无法使用   通过蜂窝网络下载它。

     

在您的应用中嵌入较小的文件(最多几兆字节),尤其是如果   您希望大多数用户购买该产品。应用包中的内容   可在用户购买时立即提供。然而,   要添加或更新应用包中的内容,您必须提交   您应用的更新版本。

     

根据需要下载较大的文件。从您的应用中分离内容   捆绑使您的应用程序的初始下载保持较小。例如,游戏   可以在其应用包中包含第一级,让用户下载   他们购买时的其他级别。假设你的应用程序   从服务器获取产品标识符列表,而不是   在应用包中进行硬编码,您无需重新提交应用   添加或更新应用下载的内容。

     

在iOS 6及更高版本中,大多数应用都应使用Apple托管的内容   下载的文件。您可以使用以下命令创建Apple托管的内容包   Xcode中的应用内购买内容目标并将其提交给iTunes   连接。当您在Apple的服务器上托管内容时,您不需要   提供任何服务器 - 您的应用程序的内容由Apple使用   支持其他大规模运营的相同基础设施   作为App Store。此外,Apple自动托管内容   即使您的应用未运行,也会在后台下载。

     

如果您已有服务器,则可以选择托管自己的内容   基础架构,如果您需要支持旧版本的iOS,或者如果您需要   您可以跨多个平台共享服务器基础架构。