5

我想使用来自 github 的 Drew McCormack 的 Ensembles 来缓解我当前的 iOS/swift/coredata/iCloud 引起的头痛。所有的 Ensembles 示例都在 Objective-C 中。我将它作为我的项目中的一个框架,但作为一个周末编码员,我无法从 ObjC 示例代码中推断如何使用它。

有没有人看过使用 swift 的合奏指南?

补充:我有它作为一个框架,但是我如何设置它并让它开始 Leeching?Obj-C 方法是

//SetupEnsemble
cloudFileSystem=[[CDEICloudFileSystemalloc] initWithUbiquityContainerIdentifier:@"container"];
ensemble=[[CDEPersistentStoreEnsemblealloc]initWithEnsembleIdentifier:@"MainStore" persistentStoreURL:storeURL
        managedObjectModelURL:modelURL
cloudFileSystem:cloudFileSystem]; ensemble.delegate=self;

然后是水蛭

if(!ensemble.isLeeched){
[ensemble leechPersistentStoreWithCompletion:^(NSError *error) {
if (error) NSLog(@"Could not leech to ensemble: %@", error); }];}
4

2 回答 2

2

以下步骤描述了如何使用 iCloud + Dropbox 文件系统将合奏添加到项目中:

使用以下内容将“Podfile”添加到您的项目中:

target :YOUR_TARGET_NAME do
platform :ios, '7.0'
pod "Ensembles", :git => 'https://github.com/drewmccormack/ensembles.git'
pod "Ensembles/Dropbox", :git => 'https://github.com/drewmccormack/ensembles.git'
link_with 'YOUR_TARGET_NAME'
end

从终端运行“pod install”

创建一个ObjC 桥接头

添加 Ensembles(和其他框架到桥接头):

#import <Foundation/Foundation.h>
#import <Ensembles/Ensembles.h>
#import "DropboxSDK.h"
#import "CDEDropboxCloudFileSystem.h"

快乐编码:

var ensemble:CDEPersistentStoreEnsemble?
var ensembleFileSystem:CDECloudFileSystem?

ensembleFileSystem = CDEICloudFileSystem(
  ubiquityContainerIdentifier: "SOME_CONTAINER",
  relativePathToRootInContainer: "STORE_ROOT_PATH"
)

ensemble = CDEPersistentStoreEnsemble(
  ensembleIdentifier: "IDENTIFIER",
  persistentStoreURL: "STORE_URL",
  persistentStoreOptions:nil,
  managedObjectModelURL:"MOM_URL",
  cloudFileSystem:ensembleFileSystem,
  localDataRootDirectoryURL:"DATA_ROOT_URL"
)

e.leechPersistentStoreWithCompletion({ (error:NSError?) -> Void in
  // check for error, etc...
})
于 2015-06-05T21:25:16.820 回答
0

如果您是周末程序员,我建议您使用 Apple 的 CloudKit。当然,这一切都很快。有一些很好的教程:https ://videos.raywenderlich.com/courses/45-introduction-to-cloudkit/lessons/1

于 2018-03-14T22:10:47.503 回答