问题标签 [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.

0 投票
1 回答
2702 浏览

core-data - 今天的 iCloud + Core Data(2015 年 7 月 10 日)

几年前,Apple 发布了 Core Data 应用程序的 iCloud 同步。然后我发布了一款适用于 iPad / iPhone / MAC 的应用程序,该应用程序使用新的 Apple 机制共享模型。事情并没有像预期的那样发展。同步机制有时不起作用。例如,在我的情况下,最近几个月,同步很少通过我的 3 台设备顺利结束。上传对象通常可以正常工作。但是新的或删除的对象的下载过程通常会崩溃。Apple 前段时间发布了一种强制设备重新下载所有正常工作的模型对象 (NSPersistentStoreRebuildFromUbiquitousContentOption) 的方法,但这不是一个可接受的解决方案。

我的问题:是否有人已经完成让 iCloud + Core Data 正常工作?iOS 9 + El capitan 下运行 iCloud+CD 怎么样,有什么经验吗?

我正在评估迁移到新的 CloudKIT API,但我不喜欢在设备离线时自行管理对象上传的想法。指示模型更改的推送通知的新机制是否可以正常工作?

谢谢

0 投票
1 回答
199 浏览

objective-c - 让 Ensembles Idiomatic OSX App 与 iCloud 同步

我尝试为Ensembles我们已经工作和同步的 iOS 应用程序的 Cocoa 应用程序实现 iCloud 同步。因为我在那个 Cocoa 应用程序中遇到了问题,所以我想尝试使用 Ensembles 示例应用程序。

所以我尝试让 OSX 的惯用应用程序通过 iCloud 同步。但我总是遇到同样的错误,我没有登录 iCloud,因为

总是为我回来nil

我在我的 Macbook 上登录 iCloud 并同步,例如 DayOne 在 iPhone 和 Macbook 之间运行良好。因此,未登录可能不是问题。问题是,为什么FileManager不返回标识符?

我已经为此烦恼了三天,它已经工作了一段时间并且因为“我不知道”而坏了。我~/Library从 TimeMachine 恢复了我的文件夹,然后它又工作了一段时间,但又坏了。然后我创建了一个新的操作系统用户并为 iCloud 使用了另一个 Apple-ID,它工作了一段时间后又坏了。

我真的有点困惑,不确定它是否与签名、沙盒、供应......或其他什么有关。

那么,我做了什么?

我打开了Ensembles 1.4 Idiomatic项目,在Target-General-Tab 上我更改了BundleIdentifier,启用MacAppStore Signing并选择了我们的DevTeam.

Capabilities-Tab 我启用AppSandboxiCloud Capabilities,指定自定义容器并选择新创建的 iCloud 容器,

BuildSettings-Tab 上,我为我们的 BundleID 选择了Mac DeveloperCodeSigningIdentity 和MacTeamProvisioningProfile。(我只会发布截图,但没有足够的声望点。)

此外,禁用沙盒功能也无济于事。

有没有人知道或知道我错过了什么?~/Library必须删除其中的任何“魔术”文件夹吗?登录和退出 iCloud?删除 iCloud 服务器上的容器?还是我必须重新开始App-Id-Certificate--ProvisioningProfile麻烦,才能解决这个问题?

会不会是我的 iCloud 帐户已损坏?

任何帮助表示赞赏,在此先感谢您。

0 投票
1 回答
301 浏览

ios - CloudKit 订阅错误:apsd[81]:静默推送:拒绝应用程序不可用

我正在尝试从 CloudKit 获得静默推送。但它仅在我的应用程序在前台时才有效(或者当它从 Xcode 启动时,在这种情况下通知也在后台传递)。

我已经启用了所有相应的背景模式。

在此处输入图像描述

注册 remoteNotifications 并在didFinishLaunchingWithOptions中指定后台 fetchInterval

我在这里得到 didRegisterForRemoteNotificationsWithDeviceToken没有问题。

我已经实现了处理远程通知的方法:

我尝试将 CloudKit 容器切换到生产环境并使用 TestFlight 进行测试。结果总是相同的:在前台我收到 CKNotifications,但对于控制台中的背景,我看到了这个:

错误:apsd [81]:静默推送:拒绝应用程序不可用

此外,我尝试过:完全更换容器 - 不走运。

我也相应地编辑了我的 AppID,但我认为 CloudKit 通知没有必要(或者是吗?): 在此处输入图像描述

在设置中,一切都已启用: 在此处输入图像描述

从设备启动时的控制台输出(而不是从 Xcode)

应用程序运行前台: 在此处输入图像描述

应用运行后台:

在此处输入图像描述

从 Xcode 开始时,我会在后台和前台收到通知。

0 投票
0 回答
47 浏览

ios - 使用 CDESetLogCallback 转发 Ensembles 日志

我正在尝试将 Ensembles 记录转发到我的记录器类。但是我在第一次调用 CDELog 时收到 EXC_BAD_ACCESS

设置 CDESetLogCallback 的代码:

0 投票
1 回答
451 浏览

swift - Swift Ensembles 设置和 ubiquityContainerIdentifier

书中指出,

“整体标识符用于匹配跨设备的商店。重要的是,对于整体中的每家商店来说,这都是相同的。”</p>

这是否需要对所有用户都是唯一的?或者只是为了我的申请?

如果有人有关于如何设置 Ensembles的Swift版本,那就太好了。

到目前为止,我所需要的就是这些吗?

缺少某些东西我收到此错误日志

尽管登录很明显

不为零

0 投票
1 回答
655 浏览

swift - 将 Ensembles 添加到现有 Coredata / iCloud 应用程序的步骤

短版 (TLDR): 将 Ensembles 集成到已设置为通过 iCloud Drive 将 CoreData 与 iCloud 同步的应用程序中的一般步骤是什么?我很困惑如何使用 Ensembles 来促进同步过程。

加长版: 我是一名新手程序员,我在 iCloud / CoreData 同步方面遇到了困难(见此处iOS 9 CoreData / iCloud - URL 上没有此类文档)。

除了云同步外,我的应用程序完美运行。一切都已正确配置以与 icloud 驱动器同步 - 它在 99% 的时间内都可以正常工作 - 但我收到的错误会随机破坏我的应用程序,它们来自苹果的代码(“图书管理员返回了一个严重错误......”)。

我的所有数据都在 coredata (sqlite) 中,我的应用程序是用 Swift 2 编写的。

合奏似乎是一个有助于解决我的问题的选项。但是,我完全不知道如何将它集成到我的项目中。拆分整个应用程序的过程让我完全不知所措。谁能提供一些我需要采取的步骤的指导?手册和 github 自述文件非常深入,但我不知道我必须做什么。压倒性的:(

如果有帮助,下面是我的 AppDelegate 文件,我希望所有工作都需要在其中完成......

谢谢!

0 投票
2 回答
405 浏览

ios - NSUbiquityIdentityDidChangeNotification 不等于空指针的地址比较总是为真

我在 Xcode 中收到此警告

它在核心数据集成框架中

有人可以告诉我如何解决这个问题吗?

谢谢

0 投票
2 回答
107 浏览

objective-c - 我在哪里放置 Ensembles 唯一标识符?

我有一个应用程序,它在由 MagicalRecord 管理的 CoreData 存储中具有三 (3) 个实体;我有整个应用程序的一 (1) 个 managedObject。在第 28 页,该书指出:

“假设您已向托管对象添加了 uniqueIdentifier 属性,”</p>

这是否意味着我需要为每个实体提供一个唯一标识符,还是需要一个?如果我只需要一个,我应该把它放在哪个实体中,或者它没有任何区别。(该示例只有 1 个实体,因此存在问题):-}

0 投票
2 回答
785 浏览

cocoapods - 推送 Cocoapods 0.39.0 的 podspec 时出现链接器错误

尝试推送最新的 Ensembles podspec 时出现链接失败。规范没有改变,但 Cocoapods 更新到了 0.39.0。Xcode 无疑也发生了变化,这可能是罪魁祸首,但我无法解释错误。

我不确定链接故障是否导致其他错误,或者 lipo 错误导致链接故障。我找不到有关链接器退出失败的更多信息。

任何人都知道可能导致这种情况的原因,以及可能的解决方案是什么?

更新

我确实设法找到了我认为的根本错误:

Ld /var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Ensembles.build/Objects-normal/x86_64/Ensembles normal x86_64 cd /var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/Pods export IPHONEOS_DEPLOYMENT_TARGET=6.0 ... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.1.sdk -L/var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Release-iphonesimulator -F/var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Release-iphonesimulator -filelist /var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Ensembles.build/Objects-normal/x86_64/Ensembles.LinkFileList -install_name @rpath/Ensembles.framework/Ensembles -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -mios-simulator-version-min=6.0 -Xlinker -objc_abi_version -Xlinker 2 -framework CoreData -fobjc-arc -fobjc-link-runtime -framework CoreData -framework Foundation -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Ensembles.build/Objects-normal/x86_64/Ensembles_dependency_info.dat -o /var/folders/73/p30wh95r8xjgmv001s6rxw080000gr/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Ensembles.build/Objects-normal/x86_64/Ensembles ld: warning: embedded dylibs/frameworks only run on iOS 8 or later Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_DBRestClient", referenced from: objc-class-ref in CDEDropboxCloudFileSystem.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

看起来 Cocoapods 正在尝试创建一个动态库,但不知何故,这不适用于 iPhone 模拟器架构的旧 Dropbox 库。任何人都知道这方面的变化,也许是一种防止 Cocoapods 使用动态库的方法?

0 投票
1 回答
486 浏览

ios - 给定必要的凭据,以编程方式登录 iCloud 帐户

有没有办法以编程方式登录 iCloud 帐户(假设我有用户 ID 和密码)?我正在使用 Ensembles 1.0,并希望用户输入 iCloud 凭据,应用程序将“自动”登录 iCloud 帐户。