2017-06-19 41 views

Odpowiedz

15

Aktualizacja: Od v2.10.1, wydany 14.09.2017, prekompilowanych pakietów Realm obejmują ramy zbudowane z Xcode 9 do Swift 3.2 i 4.0. Nie trzeba już ich samemu budować.

Poniższe informacje pozostają aktualne dla każdego, kto chce korzystać z Realm w wersjach wydań Xcode w przyszłości.


Jeśli obecnie integracji skompilowane pliki binarne w królestwie, musisz przełączyć się na budowaniu Realm ze źródeł w celu wspierania Swift 3.2 i 4.0, jak Realm nie publikuje skompilowane pliki binarne dla wstępnych wersji Xcode. Możesz budować Realm ze źródła na jeden z trzech sposobów:

  1. Używanie CocoaPods.

    CocoaPods zawsze buduje zależności od źródła.

  2. Korzystanie z Kartaginy.

    Domyślnie Carthage będzie próbował pobrać wstępnie skompilowane pliki binarne, ale wróci do budowania ze źródła, jeśli wstępnie skompilowane pliki binarne są dla innej wersji Swift niż wersja Xcode w użyciu.

  3. Buduj królestwo ręcznie ze źródła, a następnie integruj zbudowane struktury tak, jakbyś tworzył wstępnie utworzone pliki binarne.

    Można to zrobić poprzez sprawdzanie tag zwalniającą Git:

    git clone --recursive https://github.com/realm/realm-cocoa.git 
    cd realm-cocoa 
    git checkout v2.10.0 
    

    Następnie należy uruchomić którykolwiek z następujących poleceń odpowiada platformie Ci zależy budowanie królestwa Swift ramy dla tej platformy:

    REALM_SWIFT_VERSION=4.0 sh build.sh ios-swift 
    REALM_SWIFT_VERSION=4.0 sh build.sh osx-swift 
    REALM_SWIFT_VERSION=4.0 sh build.sh watchos-swift 
    REALM_SWIFT_VERSION=4.0 sh build.sh tvos-swift 
    

    Zbudowane frameworki zostaną umieszczone w katalogu build w źródle Realm, gdzie można je następnie zintegrować tak, jak robisz wstępnie utworzone pliki binarne dostarczane przez Realm.

    Te zbudowane struktury powinny również działać z aplikacjami wykorzystującymi Swift 3.2 z powodu tego samego kompilatora, co Swift 4.0.

+0

Czy mógłbyś wyjaśnić trzecią opcję jeszcze bardziej? Ale dziękuję bardzo za odpowiedź: –

+0

Czy jest coś szczególnego, co chciałbym, abym wyjaśnił? – bdash

+0

gdzie mam uruchamiać polecenia? –

2

Jako nawiązanie do bdash na punkt 3 o tym, jak zbudować Realm ręcznie ze źródła, i odpowiedzieć addzo Zapytanie o błędzie xcodebuild (to wpadłem, jak również): Należy upewnić się, że symulator iPhone 6 jest ustawiony do Xcode 9, aby uniknąć tego błędu. Przypuszczam, że skrypty budujące Realm muszą na nie celować. To jednak rozwiązało to dla mnie.

+0

Po prostu początkujący tutaj, ale jeśli zaimportujesz RealmSwift w pliku appdelegate, otrzymasz ten błąd i jeśli usuniesz import RealmSwift z tego pliku appdelegate, błąd zniknie. Możesz importować RealmSwift w innych odpowiednich plikach. Nie użyłem metody strąków do włączenia RealmSwift wykorzystał technikę użytą w Lynda.com z dragami i zrzutami frameworku. Bardzo łatwe. –