Attualmente sto cercando di eseguire la connessione lato server a iCloud Server utilizzando il nuovo CloudKit JS di Apple. Secondo il WWDC 2015 "CloudKit JS e servizio Web", poiché CloudKit JS è un framework JS puro, è possibile utilizzarlo in tutti gli ambienti JS come il nodo JS.Cloudkit JS && Node JS
Ho copiato il codice sorgente di CloudKit JS da https://cdn.apple-cloudkit.com/ck/1/cloudkit.js e incollato in un file denominato "cloudkit.js". Ecco una demo di quello che ho provato:
var CloudKit = require("/some/folders/cloudkit.js")
function demoPerformQuery() {
CloudKit.configure({
containers: [{
containerIdentifier: 'myContainerIdentifier',
apiToken: 'myAPIToken',
environment: 'development'
}]
})
var container = CloudKit.getDefaultContainer();
var publicDB = container.publicCloudDatabase;
publicDB.performQuery({recordType: 'Items'}).then(function(response){
// never called :-(
})
}
var express = require('express')
var app = express()
app.get("/", function(){
demoPerformQuery()
})
var server = app.listen(8080, function() {
console.log("server launched")
})
CloudKit sembra essere impostato correttamente poiché tutte le funzioni sono chiamate correttamente. Ma il callback di performQuery non viene mai chiamato. Perché ?
C'è qualcuno che già riesce a configurare CloudKit JS in un ambiente server?
Grazie in anticipo
Grazie per la risposta. Ho ricevuto un errore: "Manca la promessa nativa, imposta Fetch.Promeggi alla tua alternativa preferita". Questo metodo ha funzionato per te? –
Le promesse erano disponibili nel nodo dalla versione 0.11 (la versione corrente è 0.12). È possibile aggiornare il nodo o utilizzare qualcosa come https://github.com/jakearchibald/es6-promise come backfill. –
Funziona come un fascino! Grazie mille. –