Quickstarters
Feature Overview
Come costruire un backend per Objective-C?
39 min
introduzione in questo tutorial, imparerai come costruire un backend per objective c utilizzando back4app esploreremo l'integrazione delle funzionalità essenziali di back4app—come la gestione del database, le funzioni cloud code, le api rest e graphql, l'autenticazione degli utenti e le query in tempo reale—per creare un backend sicuro, scalabile e robusto che comunica senza problemi con la tua app ios utilizzeremo il parse ios sdk, che è open source, per gestire tutte le nostre esigenze di dati vedrai come ridurre il tempo e lo sforzo necessari per configurare server, archiviazione e sicurezza sfruttando l'ambiente flessibile di back4app questo tutorial mostrerà esempi di codice in objective c, in modo che tu possa digitare testo allineato al tuo flusso di lavoro tipico di xcode alla fine, avrai i mattoni per un'app mobile pronta per la produzione, oppure potrai personalizzarla ulteriormente per adattarla al tuo caso d'uso specifico requisiti per completare questo tutorial, avrai bisogno di un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, puoi crearne uno gratuitamente segui la guida sopra per preparare il tuo progetto ambiente di sviluppo objective c assicurati di avere installata una versione recente di xcode scarica xcode dal mac app store https //apps apple com/us/app/xcode/id497799835 conoscenza di cocoapods o swift package manager (opzionale, ma raccomandato) guida a swift package manager https //github com/parse community/parse sdk ios osx familiarità con objective c, nozioni di base sulle app ios o concetti correlati documentazione di apple su objective c https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html assicurati di avere tutti questi requisiti prima di iniziare, in modo che il tuo percorso proceda senza intoppi passo 1 – creare un nuovo progetto su back4app e collegarsi perché questo passo? un nuovo progetto back4app è la base del tuo backend ti offre un luogo dove memorizzare i tuoi dati, eseguire funzioni cloud e gestire la sicurezza iniziamo creando un progetto back4app creare un progetto in back4app accedi al tuo account back4app clicca su “nuova app” nella tua dashboard di back4app dai un nome alla tua app (ad esempio, “objectivec backend tutorial”) e finalizza vedrai la tua nuova app nella dashboard di back4app questa app gestirà tutte le configurazioni del backend di cui stiamo per discutere installare il parse sdk per ios (objective c) back4app lavora a stretto contatto con il parse ios sdk questo sdk semplifica le operazioni sui dati, le funzionalità in tempo reale, l'autenticazione degli utenti e altro ancora per la tua app ios recupera le tue chiavi parse nel tuo dashboard di back4app, vai su impostazioni app o sicurezza e chiavi per trovare il tuo id applicazione e chiave client l'url del server parse è spesso https //parseapi back4app com integra parse utilizzando swift package manager o cocoapods cocoapods pod 'parse' swift package manager apri xcode, scegli “file” > “aggiungi pacchetti…” aggiungi repository https //github com/parse community/parse sdk ios osx conferma parse nel tuo target ios inizializzare parse in objective c apri appdelegate m e importa il modulo parse @import parsecore; // or #import \<parse/parse h> \ (bool)application (uiapplication )application didfinishlaunchingwithoptions (nsdictionary )launchoptions { \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your application id"; configuration clientkey = @"your client key"; configuration server = @"https //parseapi back4app com"; }]]; return yes; } con questo, la tua app objective c è collegata in modo sicuro al tuo backend di back4app ora sei pronto per leggere, scrivere e gestire i dati sul server passo 2 – configurare il database 1\ creare un modello di dati (schema) in back4app, i dati risiedono in classi—come tabelle in un database supponiamo di voler creare una semplice classe “todo” puoi crearla manualmente nella sezione database del dashboard di back4app aggiungi campi come titolo (string), iscompleted (boolean) e così via 2\ creazione di un modello dati utilizzando l'agente ai back4app offre un agente ai per aiutare a generare uno schema apri l'agente ai nel tuo dashboard dell'app descrivi il tuo modello dati in linguaggio naturale (ad esempio, “crea una nuova classe todo con titolo, descrizione e data di scadenza ”) lascia che l'ai configuri tutto per te automaticamente 3\ lettura e scrittura dei dati utilizzando sdk con objective c, possiamo utilizzare pfobject per gestire le operazioni di creazione e query ad esempio \#import \<parse/parse h> // create a new todo item pfobject todo = \[pfobject objectwithclassname @"todo"]; \[todo setobject @"buy groceries" forkey @"title"]; \[todo setobject @no forkey @"iscompleted"]; \[todo saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"todo saved successfully!"); } else { nslog(@"error saving todo %@", error localizeddescription); } }]; // query all todos pfquery query = \[pfquery querywithclassname @"todo"]; \[query findobjectsinbackgroundwithblock ^(nsarray nullable objects, nserror nullable error) { if (!error) { for (pfobject item in objects) { nslog(@"todo %@", item\[@"title"]); } } }]; 4\ lettura e scrittura dei dati utilizzando rest se preferisci saltare l'sdk curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries","iscompleted"\ false}' \\ https //parseapi back4app com/classes/todo 5\ lettura e scrittura dei dati utilizzando graphql back4app fornisce anche un'interfaccia graphql mutation { createtodo(input { fields { title "wash the car", iscompleted false } }) { todo { objectid title iscompleted } } } 6\ lavorare con le query in tempo reale (opzionale) se la tua app ios ha bisogno di aggiornamenti in tempo reale abilita le query live sotto impostazioni del server nel dashboard di back4app configura parse con livequeryserverurl \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your app id"; configuration clientkey = @"your client key"; configuration server = @"https //parseapi back4app com"; configuration livequeryserverurl = @"wss\ //your subdomain b4a io"; }]]; quindi iscriviti agli aggiornamenti in tempo reale nel tuo codice objective c questo assicura che la tua interfaccia utente mostri i dati più recenti istantaneamente passo 3 – applicare la sicurezza con acl e clp liste di controllo degli accessi (acl) e permessi a livello di classe (clp) back4app utilizza acl e clp per una sicurezza dettagliata i clp si applicano a un'intera classe (tabella), mentre le acl si applicano a singoli oggetti impostazione dei permessi a livello di classe sotto la database sezione seleziona una classe (ad es “todo”) clicca su permessi a livello di classe controlla chi può leggere, scrivere o eseguire query a livello di classe configurazione delle acl le acl sono a livello di oggetto ad esempio pfacl acl = \[pfacl aclwithuser \[pfuser currentuser]]; \[acl setpublicreadaccess\ no]; \[acl setpublicwriteaccess\ no]; todo acl = acl; \[todo saveinbackground]; questo frammento limita la lettura/scrittura solo all'utente corrente passo 4 – scrivere funzioni di cloud code perché cloud code? il cloud code è utile per la logica lato server—gestire trigger, validazioni o attività in background mantiene il tuo codice nascosto dal client, aumentando la sicurezza funzione di esempio parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); questo esempio calcola la lunghezza di una stringa fornita dal client distribuzione usa il back4app cli https //www back4app com/docs/local development/parse cli o la sezione cloud code > funzioni nel dashboard per distribuire il tuo main js chiamare cloud code da objective c \[pfcloud callfunctioninbackground @"calculatetextlength" withparameters @{@"text" @"hello back4app"} block ^(id nullable result, nserror nullable error) { if (!error) { nsnumber len = result\[@"length"]; nslog(@"text length %@", len); } }]; passo 5 – configurare l'autenticazione utenti parse la classe pfuser di back4app gestisce la registrazione, il login e la sicurezza per impostazione predefinita, pfuser gestisce l'hashing delle password, le sessioni e i campi utente registrati pfuser user = \[pfuser user]; user username = @"alice"; user password = @"secret123"; user email = @"alice\@example com"; \[user signupinbackgroundwithblock ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"user signed up successfully!"); } else { nslog(@"sign up error %@", error localizeddescription); } }]; accedi \[pfuser loginwithusernameinbackground @"alice" password @"secret123" block ^(pfuser nullable user, nserror nullable error) { if (user) { nslog(@"user logged in %@", user username); } else { nslog(@"login error %@", error localizeddescription); } }]; accesso sociale back4app supporta facebook , apple , google , ecc integra queste piattaforme e collega le sessioni utente di conseguenza controlla la documentazione accesso sociale https //www back4app com/docs/platform/sign in with apple passo 6 – gestione dello storage dei file caricamento e recupero di file puoi memorizzare immagini, documenti o altri dati binari utilizzando pffileobject nsdata imagedata = uiimagepngrepresentation(\[uiimage imagenamed @"localimage"]); pffileobject parsefile = \[pffileobject fileobjectwithname @"image png" data\ imagedata]; pfobject photo = \[pfobject objectwithclassname @"photo"]; \[photo setobject\ parsefile forkey @"imagefile"]; \[photo saveinbackgroundwithblock ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"file uploaded successfully"); } }]; per recuperare pffileobject photofile = photo\[@"imagefile"]; \[photofile getdatainbackgroundwithblock ^(nsdata nullable data, nserror nullable error) { if (!error) { uiimage image = \[uiimage imagewithdata\ data]; // use the image in your ui } }]; passo 7 – verifica email e reimpostazione password perché è importante? la verifica dell'email aiuta a garantire la validità dell'account utente la reimpostazione della password offre un flusso sicuro se gli utenti dimenticano le proprie credenziali configurazione del dashboard vai a impostazioni email nel tuo dashboard di back4app abilita le opzioni di verifica email e reimpostazione password unhandled content type personalizza i modelli email secondo necessità implementazione se vuoi attivare manualmente un ripristino della password nella tua app \[pfuser requestpasswordresetforemailinbackground @"alice\@example com" block ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"reset email sent!"); } else { nslog(@"error %@", error localizeddescription); } }]; passo 8 – pianificazione dei compiti con cloud jobs cosa sono i cloud jobs? i cloud jobs automatizzano compiti ricorrenti, come la pulizia dei dati obsoleti, la generazione di report giornalieri o l'invio di notifiche in massa esempio di compito di pulizia giornaliera nel tuo main js parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); const cutoff = new date(date now() 30 24 60 60 1000); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); poi pianificalo in impostazioni app > impostazioni server > compiti in background puoi scegliere un'esecuzione giornaliera, ad esempio passo 9 – integrazione dei webhook panoramica i webhook consentono a back4app di inviare richieste http a servizi esterni ogni volta che si verificano eventi, come la creazione di oggetti configurazione nel tuo dashboard di back4app > altro > webhooks aggiungi un nuovo endpoint (url) decidi quali eventi attivano il webhook (ad esempio, dopo che un todo è stato salvato) passo 10 – esplorare il pannello di amministrazione di back4app panoramica il pannello di amministrazione di back4app è un'interfaccia semplice e centrata sul modello che i soggetti non tecnici possono utilizzare per eseguire operazioni crud senza codifica attivazione nel tuo cruscotto, vai su altro > app di amministrazione e abilitalo dopo aver creato il tuo primo utente amministratore, puoi impostare un sottodominio personalizzato per accedere al pannello questo pannello può semplificare le attività quotidiane come modificare record, visualizzare log o assegnare ruoli, senza immergersi nel database grezzo conclusione hai ora visto come costruire un backend per objective c utilizzando back4app durante questo tutorial, tu hai creato un nuovo progetto back4app hai configurato e letto dal database utilizzando il parse ios sdk, rest o graphql hai abilitato aggiornamenti in tempo reale con live queries hai applicato la sicurezza utilizzando acl e clp hai distribuito cloud code per la logica lato server hai gestito l'autenticazione degli utenti, l'archiviazione dei file, la verifica dell'email e il ripristino delle password hai configurato attività pianificate e webhook hai esplorato il pannello di amministrazione per una facile gestione dei dati questa base ti consente di scalare la tua app ios mentre ti concentri sull'esperienza front end la sinergia tra objective c e back4app è un modo collaudato per accelerare lo sviluppo, risparmiando tempo e sforzi prossimi passi migliora il tuo backend con logica personalizzata avanzata, notifiche push o analisi integra servizi esterni o librerie open source per login social, fatturazione o messaggistica controlla la documentazione ufficiale di back4app per suggerimenti di ottimizzazione, migliori pratiche e tutorial approfonditi costruisci esempi del mondo reale come app di chat, classifiche di giochi o servizi basati sulla posizione utilizzando questi modelli speriamo che tu abbia trovato questa guida informativa! sfruttare back4app e il parse ios sdk ti aiuta a sviluppare un sistema robusto e sicuro senza una gestione pesante del server, permettendoti di concentrarti sulla creazione della tua migliore esperienza mobile
