Va permite sa sincronizati entitati CoreData cu un back-end Parse. FTASync accepta relatii (multi-la-multi nu au fost testati), rezolvarea conflictelor (ultimul castigat), nume de clase de date personalizate si mai multe niveluri de mostenire. Pentru rezolvarea conflictelor, fiecare relatie se afla in propriul domeniu de conflict, dar toate atributele entitatii se afla in prezent intr-un singur domeniu de conflict.
Ca si in cazul oricarui cod sursa deschis, faceti propria diligenta inainte de a introduce acest lucru intr-o aplicatie de productie! Exista cateva probleme cunoscute care trebuie inca solutionate. Acestea sunt enumerate mai jos.
Deoarece sincronizarea si rezolvarea conflictelor sunt foarte complexe, exista o gramada de inregistrari de depanare. Daca nu doriti sa vedeti toate acestea, puteti sa le dezactivati in FTASync.h .
Se presupune ca le-ati instalat si configurat deja:
- Inregistrare magica – Manevrare mai usoara a lucrurilor CoreData. (Nota: FTASync foloseste MR 2.0 si nu va functiona cu versiunile anterioare)
- [mogenerator] (https://github.com/rentzsch/mogenerator) – Daca nu l-ati folosit niciodata, ar trebui.
- [NPReachability] (https://github.com/Abizern/NPReachability) – Folosit pentru a verifica pre-sincronizarea conectivitatii la retea.
- Analizati kitul SDK
- (Optional) Crashlytics
- Adaugati o noua versiune a modelului de date.
- Adaugati o noua entitate abstracta la modelul de date si denumiti-o (si numele clasei sale) FTASyncParent. Adaugati urmatoarele atribute:
- BOOL creat aici (implicit: DA)
- BOOL sters (implicit: NU)
- String objectId
- Int16 syncStatus (implicit: 2)
- Data actualizarii
- Pentru fiecare entitate care ar trebui sa se sincronizeze, setati campul entitatii parinte la FTASyncParent.
- Rulati mogenerator pentru a genera fisierele clasei entitatii.
- Adaugati toate proiectele .h si .m din folderul Sursa . (FTASyncParent.h / m va inlocui fisierele generate de mogenerator)
- Adaugati FTASync.h in fisierul dvs. AppDelegate.
- Creati un fisier cu numele ParseKeys.
follando con mi amante porno gratis anal
follando en el campo me follo a mi madrastra
comic porno en español rusas desnudas
me follo a mi tia maduras en grupo
porno peludas orgias rusas
corridas en la garganta videos actrices españolas desnudas
gitanas follando chicas corriendose a chorros
como folla mi mujer sobar tetas
brutal tops follando en tenerife
sexo español gratis tetas en publico
descargar pelis pornos porno español años 70
milf camara oculta pollas corriendose
hentai en castellano videos x incesto
bbw abuelas mi mujer follando
travestis jovencitas abuelas ardientes
incestos lesbicos transexual española follando
muy jovencitas porno mamadas por dinero
tetonas delgadas maria patiño desnuda
follando en tenerife milfs españolas
folladas en el metro mamada a caballoh
cu aceste doua linii:- #define kParseAppId @ “<Parse App ID>”
- #define kParseClientKey @ “<Cheia dvs. de client de analiza>”
- (Optional) #define kCrashlyticsKey @ “<Cheia dvs. Crashlytics>”
- Adaugati [FTASyncHandler sharedInstance]; la aplicatia – (BOOL): didFinishLaunchingWithOptions: metoda din AppDelegate.
- Adaugati [PFACL setDefaultACL: [PFACL ACL] withAccessForCurrentUser: YES]; la aplicatia – (BOOL): didFinishLaunchingWithOptions: metoda din AppDelegate. De asemenea, puteti configura alte ACL, daca doriti.
- (Optional) Descomentati // [Crashlytics startWithAPIKey: kCrashlyticsKey]; in aplicatia – (BOOL): didFinishLaunchingWithOptions: metoda din AppDelegate.
Se presupune ca va veti ocupa de inscrierea si autentificarea utilizatorului pe cont propriu.
Sincronizati toate entitatile
Pur si simplu adaugati FTASync.h si apelati [[FTASyncHandler sharedInstance] syncWithCompletionBlock: nil progressBlock: nil] ;.
Optional, puteti trece in blocurile de finalizare si progres. Semnaturile sunt in FTASyncHandler.h
Sincronizati o anumita entitate
Nu este inca acceptat.
Afisati ora „Ultima sincronizare”
Exista o cheie FTASyncLastSyncDate adaugata la valorile implicite ale utilizatorului care contine ora ultimei sincronizari reusite. De fiecare data cand aceasta valoare este actualizata, o notificare FTASyncDidSync este postata in centrul de notificare implicit.
Resetati sincronizarea
Pentru a reseta toate obiectele locale la obiectele „noi” apelati [[FTASyncHandler sharedInstance] resetAllSyncStatusAndDeleteRemote: YES withCompletionBlock: nil progressBlock: nil];
Optional, puteti trece in blocurile de finalizare si progres. Semnaturile sunt in FTASyncHandler.h
Daca doriti sa resetati complet contul Parse al unui utilizator, atunci treceti DA pentru primul parametru si toate obiectele la distanta vor fi sterse. Apelarea unei sincronizari dupa ce ati facut acest lucru va finaliza o resetare completa a sincronizarii la distanta, fortand-o sa se potriveasca cu datele locale. Sau puteti apoi sa stergeti toate datele locale pentru o resetare completa a datelor.
NOTA: Daca apelati acest lucru si treceti NO ca prim parametru si apoi va sincronizati cu acelasi cont Parse, veti obtine obiecte duplicat!
- Interogarile sunt limitate la returnarea a 1000 de obiecte de catre Parse
- Sprijina sincronizarea unei singure entitati
- Adaugati posibilitatea de a verifica PFUser pentru actualizari la orice alta entitate de salvat pe apeluri API
- PFQuery este limitat la 1000 de obiecte returnate, asa ca sustineti paginarea dincolo de aceasta
- Scrieti teste unitare
Apreciez orice solicitare de extragere si voi incerca tot posibilul pentru a le face sa fie integrate in proiectul principal. Cu toate acestea, viata mea este mult mai usoara daca sunt testate! Testarea codului de sincronizare nu este usoara, mai ales cu relatiile si rezolvarea conflictelor. Pentru a va usura lucrurile putin, am inclus procesul meu de testare (consultati TestProcess.mdown si TestDiagram.png ). Exista, de asemenea, o multime de logare in cod pentru a facilita urmarirea erorilor. Dupa cum sa mentionat mai sus, acest lucru poate fi dezactivat in FTASync.h .
Lista noastra de Five3 Apps
Daca utilizati FTASync intr-o aplicatie, mi-ar placea sa aud despre asta si, daca doriti, o adaugati la aceasta lista.
Pun acest cod sursa disponibil gratuit sub licenta MIT. Pentru detalii complete despre licenta, consultati LICENTIA.txt
De asemenea, pun codul sursa pentru un exemplu de aplicatie ToDo (FTASyncDemo) disponibil gratuit sub licenta MIT. Aceasta licenta va acorda dreptul de a face orice doriti cu codul sursa. Cu toate acestea, vi se cere sa nu trimiteti din nou aplicatia asa cum este la Apple pentru examinarea App Store. Am lucrat la crearea acestui exemplu de aplicatie, astfel incat sa puteti afla cum sa utilizati FTASync in propria aplicatie. Deci, va rog, nu fiti un pui si trimiteti-l din nou ca proprii la Apple. Cu toate acestea, nu ezitati sa scoateti bucati si sa le folositi dupa cum doriti :).
Multumesc tuturor celor de la Colorado Springs, CO NSCoderNight pentru recenzii si idei de cod. Multumiri speciale lui Tom Harrington pentru depanare si ajutor arhitectural!
Multumiri mari, de asemenea, lui Duane Fields pentru furnizarea de cod pe care l-am folosit pentru a gestiona sincronizarea si gestionarea generala a sincronizarii!








