- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
今天我在寻找 iCloud 同步我的核心数据数据库的替代方案时偶然发现了 Simperium。
它的速度和通过数据浏览器传输数据的可见性给我留下了深刻的印象,据我所知,iCloud 无法轻松提供这一点。我遵循了 simpleToDo 示例应用程序并设法使其正常运行(该应用程序的 ipad 版本有一些需要修复的错误)。
在对它的工作方式感到满意之后,我决定按照与示例中相同的步骤在我的应用程序中实现它。我删除了所有与 icloud 相关的代码,并通过虚拟镜像示例中提供的代码(仅对我的托管对象模型进行了轻微改动)重新实现了应用程序委托(delegate)核心数据代码。
在我的应用程序中创建记录似乎一切顺利,我可以看到更改已通过网站的仪表板数据浏览器工具上传。
我的问题
我已验证数据正在从两台设备发送到服务器,但是,这些更改都没有显示在另一台设备上。
我错过了什么?我在 simpleToDo 示例的代码中找不到任何似乎表明在收到某种通知后可以调用该方法来执行 TableView 更新或刷新的方法。
此外,我看不到任何日志显示已检测到/添加到队列或下载了新记录。
我与 Simperium 相关的最后日志是:
2012-12-30 21:00:46:772 myClients[745:907] Simperium authentication success!
2012-12-30 21:00:46.781 myClients[745:907] Reachability Flag Status: -R ------- networkStatusForFlags
2012-12-30 21:00:46:782 myClients[745:907] Simperium starting network managers...
2012-12-30 21:00:49:514 myClients[745:907] Simperium finished processing index for Client
非常感谢任何帮助,我真的很期待看到它对我有用,因为我相信这将是一个很好的选择。
最佳答案
您可以在您的 Simperium 实例上启用更详细的日志记录:
simperium.verboseLoggingEnabled = YES;
这将帮助您确认每台设备都在接收数据。正如您已经发现的那样,您应用的基于 Web 的数据浏览器可以帮助您确认数据是否已发送。
除此之外,您提到的示例使用了 NSFetchedResultsController
,它是一个本地类,可以在 Core Data 中添加、删除和更改项目时自动更新 UITableView
。如果您以这种方式构建您的应用程序,则无需执行任何其他操作即可更新您的表格 View 。
如果您需要更完整的控制,或者您有想要手动更新的 UI 元素,您可以使用 SPBucketDelegate
在数据更改时收到通知。您的每个实体都有一个存储桶,您可以从您的 Simperium 实例中检索该存储桶。然后您可以在该存储桶上设置 SPBucketDelegate
:
SPBucket *bucket = [simperium bucketForName:@"Todo"];
bucket.delegate = self;
self
实例现在将具有类似 bucket:didChangeObjectForKey:forChangeType:
的方法,当任何作为 Todo 实体的对象发生变化时调用。您可以在 SPBucket.h
中查看这些委托(delegate)方法的完整列表。
关于objective-c - Simperium - 文件上传但不在设备之间同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090002/
我已通读文档,并试图了解应用程序(即我的应用程序 ID)、存储桶和用户之间的关系。 在我看来,无需深入研究 API,就像一旦获得应用程序 ID,任何人都可以创建一个帐户并访问该 API 中的任何存储桶
当我的 iOS 应用程序第一次启动时,它会使用默认数据初始化一些实体。当应用程序首次安装在设备上时,同一用户的每个设备都会完成相同的过程。这会导致 Simperium 出现问题,因为即使我对实体的某个
现在,我有以下内容: Simperium 支持这种关系吗? 编辑:我想我想知道以这种方式关联实体是否会影响性能。谢谢! 最佳答案 虽然没有针对此的单元测试,但应该没问题。自引用关系的处理不应与两个不同
我读过 in another answer Simperium 应该能够很好地处理核心数据轻量级迁移。但是,我目前正在努力解决向现有实体添加(可选)属性的简单情况。 为了使问题更容易理解,我们来看一个
我就是喜欢 SimpleNote。 但是,我不喜欢我的数据在某处服务器上未加密。我理解为什么默认情况下不是这种情况(尤其是对于 SimpleNote),但如果需要,我希望可以选择加密我的数据。 我曾考
我有一个应用程序需要在用户之间共享数据,但不是所有用户。这个想法是用户可以属于不同的组,例如,使用我的应用程序的 2 个不同公司的用户。我正在评估 Simperium,但在将其库嵌入我的 iOS 应用
在您所说的 Simperiums iOS/OSX 教程中,每个建模对象都应继承自 SPManagedObject。 我还没有尝试过,但这不会导致 SQLite 数据库中的一个大表包含所有建模托管对象的
今天我在寻找 iCloud 同步我的核心数据数据库的替代方案时偶然发现了 Simperium。 它的速度和通过数据浏览器传输数据的可见性给我留下了深刻的印象,据我所知,iCloud 无法轻松提供这一点
我有一个 Core Data 实体,它的属性类型为整数 32。当我将一个从无符号整数生成的 NSNumber 分配给该属性并保存上下文时,一切都很好。我可以访问属性并使用存储在那里的数据。但是,当我检
我是 Simperium 的新手,正在使用 Javascript API。 我确实使用授权获得了访问 token ,但在创建新的 Simperium(...) 时收到“auth”错误,因此我尝试获取新
Simperium JS 客户端是否有从存储桶中删除项目的方法? 其他 API 似乎能够做到这一点。 我试过使用: bucket.update(id, null) bucket.update(id,
目前,在我使用Simperium的应用程序中,我正在尝试为用户提供从其同步帐户中注销,使用现有数据登录到同步帐户,切换帐户等时的干净体验。 我要实现的目标如下(欢迎提出建议,如果这没有任何意义): 注
我目前在使用 CoreData 的 iOS 上使用 Simperium 时遇到问题。首次启动应用程序时,Simperium 会尝试与 CoreData 同步。 有时它会 100% 正确地工作,而有时它
我有一个包含多个 CoreData 实体的应用程序。它们中的大多数必须同步,但我需要将它们中的几个用作本地实体(它们不同步)。我试图避免将 simperiumKey 和 ghostData 添加到实体
http API 文档要求为多个操作创建一个特殊 token (例如,列出存储桶、所有更改) X-Simperium-Token — 必须使用具有管理员权限的 API key 创建身份验证 token
我在 Safari 中使用 Simperium JS,并且能够毫无问题地从存储桶中验证和获取数据。我什至可以创建新用户。 但是,当我尝试使用 /update/在服务器上本地运行时调用,我遇到跨源请求问
我想知道您能否帮助我理解如何使这段代码“监听”以适应simperium 的变化。当使用 NSFetchedResultsController 时,这一切都会自动发生,但我将如何处理以下代码?试图阅读文
将 Simperium 集成到我的应用程序时出现链接器错误: ld: duplicate symbol _OBJC_CLASS_$_DDASLLogger in /Users/zulfi_shah/D
我正在使用 Simperium 在彼此之间同步我的应用程序数据的实例。我之所以选择 iCloud,是因为我听说 iCloud 在核心数据方面存在很多问题,而且作为 iOS 新手,我相信 Apple 会
Simperium Android Github告诉如何运行 Android 测试,但我找不到如何运行 iOS 测试。我尝试打开 Simperium.xcodeproj,但 Product->Test
我是一名优秀的程序员,十分优秀!