2015-08-17 18 views
15

Mam google około 2-3 godzin i wypróbować kilka rzeczy, ale nie jestem w stanie uzyskać tej pracy:Pod obsługi w Cocoa Touch ramach - błąd dostaje Device

Co chciałbym osiągnąć

Celem jest podział kodu UI i logiki biznesowej. Logika biznesowa powinna być podzielona na osobne ramy. Struktura dotykowa Cocooa. Tak więc logika biznesowa może być ponownie wykorzystana w aplikacji WatchKit na przykład.

Jak próbowałem zrobić

  1. Utwórz nowy Xcode Project -> Wybierz jednym widoku aplikacji.
  2. Dodaj nowy cel -> Wybierz szkielet dotykowy Cocoa.
  3. Uruchom pod init.
  4. Dodaj kilka strąków w Podfile dla każdego celu.
  5. Uruchom instalację pod.
  6. Wdrożenie kodu w interfejsie użytkownika i ramowa

To działa doskonale na symulatorze. Jak tylko będę go uruchomić na urządzeniu pojawia się następujący błąd w debuggera:

dyld: Biblioteka nie załadowanym: @ rpath/SwiftAddressBook.framework/SwiftAddressBook odwołuje się od:/private/var/mobile/Kontenery/Paczka/Application/48E58889-78D4-4D71-B8DA-154ADEB98894/Pod błąd Framework.app/Frameworks/PodErrorKit.framework/PodErrorKit Reason: image not found

nie wiem jak rozwiązać to. Jakieś sugestie?

Używam:

  • cocoapods 0.38.2
  • Xcode 6.4 (6E35b)
  • Deployment docelowe iOS 8

I przesłaniu projektu (tylko fałszywy projekt, ale ten sam błąd) do github. Możesz go zobaczyć here.

+1

Uwaga: Nie musi to być specyficzne dla Swift. Ten sam problem występuje w przypadku CocoaPods i Cocoa Touch Frameworks napisanych w Objective-C. – pkluz

+0

Czy mógłbyś opublikować PodErrorKit Podspec? – Loegic

+0

Dodany podajnik może nie obsługiwać wersji 2.0. – Arvind

Odpowiedz

3

Rozwiązaniem jest tutaj https://github.com/keithyipkw/pod-cocoa-touch-framework

SwiftAddressBook.framework dynamiczny więc trzeba go osadzone w app ty jak PodErrorKit. Szczegóły są w moim zatwierdzeniu. Symulatory oszukują, ponieważ w jakiś sposób znajdują szkielety poza aplikacją (obok niej w danych pochodnych).

Nie mogłem skompilować projektu z powodu braku Pods.framework. Nie mogłem znaleźć celu, więc go usunąłem.

+0

Zweryfikowane @keithyip: (1) Otwórz'.xcworkspace'. (2) Fazy kompilacji (3) + Binarny link z bibliotekami: SwiftAddressBook, wymagany (4) + osadzone frameworki: SwiftAddressBook – SwiftArchitect

+0

Struktura nie została osadzona w Twojej aplikacji. Zrobiłeś to dla PodErrorKit, ale przegapiłeś SwiftAddressBook. – keithyip