我知道这有很多线索,但似乎没有一个能满足我想要的东西。这是我的约束:
更新:我一般都试图远离使用第三方基于云的服务来实现目标,因为这会引入额外的外部依赖。但如果必须,我希望它能满足这一约束
答案 0 :(得分:4)
我也需要这个。我使用Parse.com作为我所有应用程序的后端 - 他们的免费套餐应该满足您的开发需求。
Parse具有适用于iOS,Android,Windows 8,OS X,JavaScript和.NET的API,您可以在任何平台上的云上使用所有数据(与Core Data和iCloud相反)。他们还提供“云代码”,这是您可以远程执行的代码,可远程处理信息并将数据恢复到您的应用程序。
您绝对应该check Parse.com为您的应用提供云存储空间。根据我的经验,它确实完成了工作。
对于数据持久性,我想您可能需要查看FMDB(尽管如果您决定在本地保留数据,它将随您的应用程序一起删除,但无论如何它可能对您有所帮助)。在许多情况下,核心数据是一种过度杀伤。
编辑:Parse.com有一个“安装”类,其中列出了安装了您应用的所有设备(无论是运行iOS还是Android),这是唯一的,没有您的输入任何代码。
答案 1 :(得分:3)
TextExpander作者的this blog post可能会有所帮助:
微笑通过与Apple讨论这个问题来回应这个问题 WWDC的工程师,提交了一个错误(#14168862),并检查了 那个bug的状态。我们还通过存储方法开发了一种解决方法 TextExpander数据在一个新的地方。提醒需要用户同意 存储和检索数据。完成的提醒通常不会显示在 它的界面。过去的提醒出现在底部 完成提醒。
TextExpander touch 2.1(及更高版本)支持存储共享片段 数据在一个漫长的过去,完成提醒。我们制作了一个更新的SDK 并让我们的开发人员了解其进展情况。我们的最终SDK是 在Apple官方iOS 7结束后的几个小时内准备就绪 公告。
更新(2013年11月22日) 这可能不是最好的方法,因为TextExpander的团队recently had problems with the App Review Team。
答案 2 :(得分:2)
编辑:这仅适用于具有相同供应商的应用。
您可以将密码保存到设备的钥匙串,然后从任何应用程序访问该密码。
使用SSKeychain库...
NSString *service = @"com.yourcompany.yourservice";
// read
NSString *password = [SSKeychain passwordForService:service account:@"user"];
// write
[SSKeychain setPassword:password forService:service account:@"user"];
密码字符串doesn't have a length limit,因此将所有数据编码为字符串并将其保存在那里。用户删除应用程序后,钥匙串条目将保持不变。
答案 3 :(得分:0)
其中一种方法是使用THRIFT。这是一个需要后端服务器(私有)的数据通信协议,THRIFT可以编译成许多语言/平台。有一种元语言来描述数据,然后可以将其编译成多种语言。编写一次数据定义,可以在许多平台上使用。
更多信息,请访问。
答案 4 :(得分:0)
对我来说(我有2个应用程序和一个小工具)最好的解决方案是使用SSKeyChain并且不要忘记为您的应用添加Capabilities
,例如here
如果您不想使用第三方库,可以使用NSUserDefaults
并将组标识设置为here,但请不要忘记在{{1}中添加组标识符在AppGroups部分中为所有拥有共享数据的应用提供。