ios - 数据结构设计与存储

标签 ios objective-c

我正在创建一个应用程序,让用户可以从多种“设计”中进行选择。

该应用程序允许用户拍照并添加文本等...

“设计”将包含图像、放置文本的区域、字体、文本颜色,可能是 CIFilter 等的组合...

还有可能通过 IAP 购买更多设计。

我真的不知道如何在应用程序中存储和使用这些数据。尤其是如何轻松地从 Apple“托管内容”下载(如果可能的话)。

至少我需要一些类似的东西......

设计名称 小图像(缩略图) 大图 文字字体 文字颜色 文本背景颜色 文本标签矩形原点(可以推断宽度和高度)

也可能...

过滤信息(不知道如何做到这一点?也许是一个带有“名称”和“键/值”的 NSDictionary)。

过滤器信息可以与+ (CIFilter)filterWithName:keysAndValues:一起使用。

我真的很困惑如何设计和实现它。

一开始只会有 6 个“设计”,最大数量只会达到 15 或 20 个左右。

我过去经常使用 Core Data,但我不确定它是否适合于此。这似乎过于复杂和沉重。

我可以使用设备上的文件存储来存储信息吗?我以前没有真正这样做过,所以我不确定什么是可能的。

最佳答案

如果您想使用 Apple 托管的 IAP bundle ,请遵守一些规则:

  • 仅限 iOS6
  • bundle 中不能包含任何可执行代码
  • 您必须在 Xcode 中创建 bundle
  • 图像、Txt、PLIST 和其他静态内容都可以放在 bundle 中

构建/测试时,您可以使用文件夹而不是 bundle 。每个文件夹都将包含用于处理其自身内容(文本文件或 plist)以及将使用的图像的任何设置。

您仍然需要管理您的应用将自行使用的 IAP 列表,并找到一种方法来根据您潜在的可用 IAP bundle 引用这些 IAP。

首先让应用程序使用基于文件夹的“主题”包结构,然后您就可以轻松地转移到 Apple 托管的内容。

Ray Wenderlich 的这篇教程是一个很好的开始: http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial

但最好的信息是完整的 iOS 6 教程。

对于我的应用(Words Inside),我没有使用 Apple 的托管内容,因为我想要 iOS5 支持,但我确实将每个 IAP 内容捆绑到正确的结构中,以便将来这样做。

我建议通过 iOS 上的钥匙串(keychain)管理您的 IAP 激活。这样以后就没有人可以篡改您的 IAP。他们甚至可以在应用程序删除/重新安装后幸存下来。令人惊讶的是,消耗品也是如此。在测试过程中,我有一个按钮可以删除我的应用程序的钥匙串(keychain)数据,以便我可以使用沙箱系统测试 IAP,然后再次删除它们。

为了管理 IAP 本身,我使用了 MKStoreKit ( https://github.com/MugunthKumar/MKStoreKit )。它相当不错,但有很多错误,而且还会泄漏内存。我最终根据我的需要简化并修改了它。

IAP 给应用程序增加了很多复杂性。显然这就是现在的“趋势”。不确定我是否喜欢它,但我必须尝试一下。

祝您的应用好运。 :)

关于ios - 数据结构设计与存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692317/

相关文章:

ios - 在一个按钮中使用 segue 和 IBAction

ios - Xcode Storyboard显示与模拟器不同的设计?

objective-c - ABAddressBookRegisterExternalChangeCallback 有效,但数据陈旧

iOS 自定义键盘扩展自动大写

objective-c - 我是否需要从 dealloc 中的 super View 中删除 View ?

iphone - 在禁用UIButton上

objective-c - UITableView reloadRowsAtIndexPaths 和 cellForRowAtIndexPath

iphone - UIBarButtonItem 外观我需要一个异常(exception)

ios - 如何将颜色数组中的文本颜色分配给标签?

ios - Xcode-编译Swift段错误11