问题标签 [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.
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,但我不喜欢在设备离线时自行管理对象上传的想法。指示模型更改的推送通知的新机制是否可以正常工作?
谢谢
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 我启用AppSandbox
和iCloud Capabilities
,指定自定义容器并选择新创建的 iCloud 容器,
在BuildSettings
-Tab 上,我为我们的 BundleID 选择了Mac Developer
CodeSigningIdentity 和MacTeamProvisioningProfile
。(我只会发布截图,但没有足够的声望点。)
此外,禁用沙盒功能也无济于事。
有没有人知道或知道我错过了什么?~/Library
必须删除其中的任何“魔术”文件夹吗?登录和退出 iCloud?删除 iCloud 服务器上的容器?还是我必须重新开始App-Id-Certificate
--ProvisioningProfile
麻烦,才能解决这个问题?
会不会是我的 iCloud 帐户已损坏?
任何帮助表示赞赏,在此先感谢您。
ios - CloudKit 订阅错误:apsd[81]:静默推送:拒绝应用程序不可用
我正在尝试从 CloudKit 获得静默推送。但它仅在我的应用程序在前台时才有效(或者当它从 Xcode 启动时,在这种情况下通知也在后台传递)。
我已经启用了所有相应的背景模式。
注册 remoteNotifications 并在didFinishLaunchingWithOptions中指定后台 fetchInterval
我在这里得到 didRegisterForRemoteNotificationsWithDeviceToken没有问题。
我已经实现了处理远程通知的方法:
我尝试将 CloudKit 容器切换到生产环境并使用 TestFlight 进行测试。结果总是相同的:在前台我收到 CKNotifications,但对于控制台中的背景,我看到了这个:
错误:apsd [81]:静默推送:拒绝应用程序不可用
此外,我尝试过:完全更换容器 - 不走运。
我也相应地编辑了我的 AppID,但我认为 CloudKit 通知没有必要(或者是吗?):
从设备启动时的控制台输出(而不是从 Xcode)
应用运行后台:
从 Xcode 开始时,我会在后台和前台收到通知。
ios - 使用 CDESetLogCallback 转发 Ensembles 日志
我正在尝试将 Ensembles 记录转发到我的记录器类。但是我在第一次调用 CDELog 时收到 EXC_BAD_ACCESS
设置 CDESetLogCallback 的代码:
swift - Swift Ensembles 设置和 ubiquityContainerIdentifier
书中指出,
“整体标识符用于匹配跨设备的商店。重要的是,对于整体中的每家商店来说,这都是相同的。”</p>
这是否需要对所有用户都是唯一的?或者只是为了我的申请?
如果有人有关于如何设置 Ensembles的Swift版本,那就太好了。
到目前为止,我所需要的就是这些吗?
缺少某些东西我收到此错误日志
尽管登录很明显
不为零
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 文件,我希望所有工作都需要在其中完成......
谢谢!
ios - NSUbiquityIdentityDidChangeNotification 不等于空指针的地址比较总是为真
我在 Xcode 中收到此警告
它在核心数据集成框架中
在
有人可以告诉我如何解决这个问题吗?
谢谢
objective-c - 我在哪里放置 Ensembles 唯一标识符?
我有一个应用程序,它在由 MagicalRecord 管理的 CoreData 存储中具有三 (3) 个实体;我有整个应用程序的一 (1) 个 managedObject。在第 28 页,该书指出:
“假设您已向托管对象添加了 uniqueIdentifier 属性,”</p>
这是否意味着我需要为每个实体提供一个唯一标识符,还是需要一个?如果我只需要一个,我应该把它放在哪个实体中,或者它没有任何区别。(该示例只有 1 个实体,因此存在问题):-}
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 使用动态库的方法?
ios - 给定必要的凭据,以编程方式登录 iCloud 帐户
有没有办法以编程方式登录 iCloud 帐户(假设我有用户 ID 和密码)?我正在使用 Ensembles 1.0,并希望用户输入 iCloud 凭据,应用程序将“自动”登录 iCloud 帐户。