Sök…


Anmärkningar

Stödda typer

  • NSData
  • NSDate (Datum)
  • NSNummer (Int / Dubbel)
  • NSString (String)
  • NSArray (Array)
  • CLLocation
  • CKReference
  • CKAsset

Fler detaljer

CloudKit Dashboard

Registrerar app för användning med CloudKit

Vad du behöver är att få en rättighetsfil så att appen kan komma åt din iCloud och skriva poster med CloudKit.

Följ stegen för att ge åtkomst till iCloud från din app:

1- Välj projektet i Project Navigator och öppna sedan fliken Allmänt.

2- I avsnittet Identitet ställer du in ditt Apple-ID för utvecklare till rullgardinsmenyn Team. (Om det inte är tillgängligt lägger du till det i Xcode-menyn -> Inställningar -> Konton.

3- Gå till fliken Funktioner i projektegenskaperna och slå på iCloud. Välj sedan "Key-Value Storage" och "CloudKit".

ange bildbeskrivning här

4- Se till att dessa objekt är markerade:

ange bildbeskrivning här

Om alla objekt är markerade är din app redo att använda CloudKit.

Använda CloudKit Dashboard

Alla poster som skapas med hjälp av CloudKit-relaterad kod kan förhandsgranskas, redigeras och till och med tas bort i CloudKit Dashboard. För att komma åt CloudKit Dashboard, gå hit .

Det finns flera delar i instrumentpanelen:

  • Spela in typer (som kommer att diskuteras senare)
  • Säkerhetsroller (där du kan ställa in databaser som offentliga eller privata)
  • Prenumerationstyper (som din app kan registrera för Apple Push Notifications (APNs) för att meddela dig när en post ändras)

Spela in typer

Här får du en lista över alla befintliga posttyper i appen. När du först öppnar CloudKit Dashboard för en app finns det en posttyp som heter användare där, som du kan använda den eller bara ta bort den och använda din egen.

På den här sidan kan du skriva dina data manuellt. Naturligtvis är det i de flesta fall meningslöst, eftersom iOS SDK kan hantera det på ett bättre sätt än instrumentpanelen, men funktionaliteten är också där om du föredrar. Den mest använda denna sida är för förhandsgranskningstyper.

Sparar data i CloudKit

För att spara datum till CloudKit måste vi göra:

  • En CKRecordID (nyckeln till din unika post)
  • Ett CKRecord (som inkluderar data)

Att skapa en inspelningsnyckel

För att säkerställa att varje ny postidentifierare är unik använder vi den aktuella tidsstämpeln , som är unik. Vi får tidsstämpeln med NSDate metod timeIntervalSinceReferenceDate() . Det är i form av ###. ### (# är siffror), som vi kommer att använda heltalets del. För att göra detta delar vi strängen:

Snabb

let timestamp = String(format: "%f", NSDate.timeIntervalSinceReferenceDate())
let timestampParts = timestamp.componentsSeparatedByString(".")
let recordID = CKRecordID(recordName: timestampParts[0])

Gör posten

För att göra posten bör vi ange posttypen (förklaras i Använda CloudKit Dashboard) som användare, ID som det vi gjorde just nu och data. Här lägger vi till en exempeltext, en bild och aktuellt datum till posten:

Snabb

let record = CKRecord(recordType: "Users", recordID: recordID)
record.setObject("Some Text", forKey: "text")
record.setObject(CKAsset(fileURL: someValidImageURL), forKey: "image")
record.setObject(NSDate(), forKey: "date")

Objective-C

CKRecord *record = [[CKRecord alloc] initWithRecordType: "Users" recordID: recordID];
[record setObject: "Some Text" forKey: "text"];
[record setObject: [CKAsset assetWithFileURL: someValidImageURL] forKey: "image"];
[record setObject: [[NSDate alloc] init] forKey: "date"];

Notera

Här har vi inte lagt till UIImage direkt till posten, eftersom som nämnts i anmärkningar stöds inte bildformatet direkt i CloudKit, så vi har konverterat UIImage till CKAsset .

Åtkomst till behållaren

Snabb

let container = CKContainer.defaultContainer()
let database = container.privateCloudDatabase // or container.publicCloudDatabase

Sparar posten i CloudKit-databasen

Snabb

database.saveRecord(record, completionHandler: { (_, error) -> Void in
    print(error ?? "")
})


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow