问题标签 [ensembles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 未找到 CDEDropboxCloudFileSystem(集成框架)的 DBRESTClient.h
我正在尝试使用集成框架将 Dropbox 同步到我的 iOS 应用程序。我没有使用 pod,所以我手动将集成 iOS 和 DropboxSDK Xcode 项目添加到我项目的框架部分,并确保处理所有构建阶段等(按照集成 github 页面上的说明进行操作)。到目前为止没有问题,一切都很好。但是当我添加CDEDropboxCloudFileSystem
到我的项目中时(见这里),我得到一个错误,说DBRestClient.h
找不到。我通过替换in并注释掉与 DropboxSDK 相关的两个导入来#import DBRestClient.h
修复它#import <DropboxSDK/DropboxSDKh.h>
CDEDropboxCloudFileSystem.h
CDEDropboxCloudFileSystem.m
现在构建良好,但这是正确的解决方案,还是我的设置遗漏了什么?
(我尝试将合奏标签添加到这个问题,但我需要至少 1500 的声誉才能这样做)
core-data - 全局标识符?- iCloud + Core Data + Ensembles - 删除对象时重复
我正在尝试在我的核心数据应用程序中实现 iCloud 同步。我在编程方面不是那么专业,这确实是我学到的一个高级主题......我发现了 Drew McCormack 的核心数据同步框架“Ensembles”。它似乎使 iCloud 同步更容易。
我将它集成到我的应用程序中,只要我将新对象添加到我的核心数据模型中,同步就可以很好地工作。但是当我删除一个对象时,它会创建重复项。然后从重复中复制。我最终有 3-4 次相同的条目(对象)......
这是为什么?我究竟做错了什么?我做了一些研究,我的猜测是全局标识符可以解决这个问题?
什么是全局标识符?我的猜测是它们有助于避免重复!?但是我该如何设置呢?我真的不知道,做了很多研究,但找不到答案。
感谢帮助!
更新: 感谢您的帮助!我阅读了自述文件和这本书,但由于我是初学者,所以对我来说并不是一切都清楚。
我想我现在了解在 Ensembles 中使用全局标识符,但我不知道我是否正确地使用它。
如果我理解正确,我必须为每个对象分配一个标识符。我可以通过将其存储在属性中来做到这一点。这个标识符可以是任何东西,只要它是唯一的并且是一个 NSString?
在我的应用程序中,用户可以存储不同的东西,比如姓名、文本、标题、日期等。该应用程序基于 Xcode 中的 Master-Detail-View 模板并使用 Core Data。我的核心数据模型只有一个具有一些属性的实体,大多数是字符串和 NSDate。没有关系什么的。如果用户点击“+”,则会创建一个新对象,并将用户输入的内容存储在属性中。
我添加全局标识符的方法是添加一个存储它的新属性。因此,当创建一个新对象时,我会
然后我用这个:
这似乎对我有用。但我做得对吗?这是分配全局标识符的正确位置吗?我没有 awakeFromInsert !?
如果这有效,我遇到了下一个问题。我的应用程序已经上线,用户在更新之前保存的旧条目将丢失全局标识符。我能做些什么呢?我想我已经得到了什么,什么是独一无二的,我唯一能想到的是一个在创建对象时保存 [NSDate date] 的属性。
我试图使用它,但我失败了,因为 Ensembles 只接受 NSString 而不是 NSDate!?我可以使用这个日期属性吗,这是否足够独特并且可以用作全局标识符?如果是的话,您能否给我一个代码示例,说明如何将其从日期转换为字符串?
与 Ensembles 同步效果很好。不再有重复项,您只需关闭 iCloud 并保留条目并再次打开它,它就会像应有的那样同步,而不会丢失本地存储的对象左右。合奏真的很酷!我看到一些小的奇怪行为,例如有时同步需要很长时间,有时它真的很快,如果我在两个不同的设备上在短时间内编辑东西,它会有点混乱,就像我刚刚删除的对象重新出现一样。但我想这很正常吗?如果我在不同设备上使用该应用程序之间需要一些时间,那么一切正常。
我是否理解正确,只有一种方法可以调用同步:
如果需要,您只需调用它?没有什么比之前没有偷取的合并,或者像“这是实际状态 - 像现在一样保存它”这样的方法吗?
应用程序中有您要同步的不同点。在应用程序启动和终止时将是一个好点。在我的应用程序中,我猜我应该同步两点:添加对象并将其保存到 Core Data 时,以及保存对对象的更改时。我还可以提供一个按钮,例如“立即同步”。这是一个好方法吗?我总是打电话吗?
另一个问题出现了。我可以从与 Ensembles 同步中排除对象吗?我的应用程序在第一次应用程序启动时将教程条目作为对象加载一次。如果可能的话,我不想同步它们?
非常感谢你的帮助!如果我可以帮助您进行德语本地化等任何事情,请告诉我!;)
ios - 合奏惯用应用程序不起作用
Ensembles 示例应用程序 Idiomatic 是否应该在无需配置或链接到 Dropbox 等库的情况下工作?当试图启动它时,我得到了这个:
有谁知道如何让它工作?(我正在使用 Ensembles 2.2)
core-data - 与 CloudKit 中的目录合奏
我在这个项目中使用 Ensembles,我在不同的目录下存储了不同的用户组。我已经或多或少地复制了示例应用程序 Idiomatic 的同步管理器。
初始化 CDECloudFileSystem 我这样做:
其中 directoryString 是当前用户组的全局 ID。
现在我希望能够在组之间切换,让用户只能在设备上本地拥有他们组的数据。
我的想法如何解决这个问题是通过从表视图中选择它来更改用户组(一组具有组名称和全局 ID 的 CKRecords 对应于 Ensembles/Core Data 对象),deleeching 以删除旧数据以防用户登录到不同的组,然后盗取所选组的数据。
这种方法是否有效,旧数据会在本地删除还是有更好的方法来解决这个问题?
machine-learning - 算法协同训练机器学习,最佳策略?
我对本科生实施了协同培训,现在需要在每次迭代后实施一个集成。
例如:在第一次迭代中,我们将有一个分类器,数据将仅由该分类器标记。在第二次迭代中,我们将有一个集成进行分类,依此类推。
由于协同训练将数据分成多个分类器来进行分类,我想独立于最后给出的视觉来标记每个分类器并进行投票或在视图之间进行平均以进行标记。
我需要想法来制定最佳实施策略。我正在使用 WEKA,并且已经按照开头所述实施了联合培训。
“请原谅错误,不要说英语”。
代码: http: //pastebin.com/Xd8guMub
代码: http: //pastebin.com/FL8Y2j0c
葡萄牙语-巴西的代码注释
ios - Ensembles 中的 Blob 数据
我使用一种策略,将图像和 pdf 作为 NSData 保存在它们所属的相应托管对象中。我在与 Ensembles 同步时遇到问题,因为 pdf 并不总是从一台设备转移到另一台设备。现在我不确定这是否是由于我的代码中的一些缺陷,或者它不是同步这样的数据块的好方法。有没有人有这方面的经验?
我正在使用通过 CloudKit 同步的 Ensembles 2.2。
ios - iOS Swift 中的合奏
我想使用来自 github 的 Drew McCormack 的 Ensembles 来缓解我当前的 iOS/swift/coredata/iCloud 引起的头痛。所有的 Ensembles 示例都在 Objective-C 中。我将它作为我的项目中的一个框架,但作为一个周末编码员,我无法从 ObjC 示例代码中推断如何使用它。
有没有人看过使用 swift 的合奏指南?
补充:我有它作为一个框架,但是我如何设置它并让它开始 Leeching?Obj-C 方法是
然后是水蛭
ios - iOS swift 中的错误尝试使用 Ensembles
我使用 pod 成功添加了 Ensembles,并且编译时没有出现错误。现在我将代码添加到我的 AppDelegate.swift 文件中。构建失败
我认为 AppDelegate.swift 中的相关代码是
我的错误可能就在我面前,但我不知道。
我的 Bridging-Header.h 看起来像
ios - CFBundleIdentifier 冲突
我正在更新我的应用程序。我添加了一个 Watch Extension,但在尝试提交二进制文件时,我遇到了很多关于配置文件等的错误。但是,我设法让它工作并提交了我的更新。今天我因为一些小问题被拒绝了。我很快改变了它,现在我试图重新提交几个小时,但现在我收到了这个错误:
我真的不明白出了什么问题。问题是,我只是修复了一个非常小的问题,除此之外我没有更改任何内容,我使用了与几天前能够提交时相同的配置文件,所以我真的不明白我的问题发生了什么变化最后提交。我也不明白这个错误信息:还有什么其他应用程序?
“Ensembles”是一个执行 Core Data iCloud Sync 的框架。我从之前的两个 App 版本开始使用它,并且从未改变过任何东西。我只是按照安装说明进行操作,并且必须将该 Ensembles 项目集成到我自己的项目中。所以这个框架是我项目中的一个项目。它有自己的 info.plist。显然这个错误与它有关,但由于我不是这些事情的专家,我害怕改变一些东西。
那么为什么我能够提交两个工作和批准的更新,能够提交一个更新二进制文件(被拒绝)并且现在一直出现这个错误,尽管我真的没有改变任何东西并且当我能够执行相同的步骤时几天前提交?
非常感谢这里的任何帮助!
谢谢 !
core-data - 通过 Parse 同步核心数据
我有兴趣开发一个库,该库将通过 Parse 移动后端跨设备同步核心数据模型。我想反映 iCloud 核心数据同步尝试提供的功能。
为什么不使用 iCloud 或Ensembles?我目前在生产应用程序中使用 iCloud 核心数据同步,但对我来说效果不佳。我还想提供独立于 Apple ID 的身份验证,这是我想摆脱 iCloud 的另一个原因。就 Ensembles 而言,由于Dropbox 同步 API的弃用,我不确定这是否仍然适用于 Dropbox 。
我还没有开始开发图书馆。我正在寻找关于我的计划的反馈,如下所述。此设计基于此 SO answer。
图书馆的总体设计:
该库将提供一个标准的核心数据堆栈,该堆栈将设置持久存储协调器和托管对象上下文。所有标准核心数据 CRUD 操作都将通过库提供的接口进行。
每次发生 CUD 操作时,都会在后台将同步操作对象保存到 Parse,其中包含重现操作所需的所有信息。这包括:发生的操作类型、被操作对象的唯一标识符,以及在创建操作的情况下,将提供父对象和关系。
- 每个操作都有一个与之关联的 change_id 编号。每次设备下载并执行操作时,它都会存储与该操作关联的最新change_id。
- 在上传每个同步操作之前,设备会向服务器发送一个请求,以确保存储的 change_id 编号与本地存储的一致。如果服务器上的 change_id 较高,它会首先下载所有同步操作并执行它们,然后上传自己的同步操作。
- 冲突(两个设备在离线时编辑相同的值)将通过确定哪个设备最后更改值来解决。
我在这里错过了什么吗?这种方法有哪些潜在的陷阱?我听说同步很难,这种类型的任务应该留给最有经验的开发人员吗?