2014-11-19 13 views
5

Mam teraz projekt, taki jak TestApp, korzystający z biblioteki stron trzecich, takich jak alamofire i kilka innych bibliotek w celu-c.Jak używać biblioteki stron trzecich w osadzonym dynamicznym systemie dla iOS z szybkim

Teraz chcę dodać widżet dzisiaj. Według niektórych samouczek, utworzyłem nowy cel "testAppKit" jako wspólną strukturę dynamiczną, a docelowy "testAppWidget" jako dzisiejsze rozszerzenie. Wspólny kod będzie w testAppKit do ponownego użycia.

Teraz potrzebuję używać bibliotek stron trzecich w testAppKit. I dodano bibliotekę i nagłówek w fazach kompilacji testAppKit. Następnie dodam #import <theLib/TheHeader.h> w testAppKit.h. Ale tam jest błąd:

Include of non-modular header inside framework module 'testAppKit' 

Tak, chcę wiedzieć, jak korzystać z bibliotekami innych firm (być może w Swift lub Objective-C) w tego rodzaju wbudowanego dynamicznej ramy.

Odpowiedz

7

Używam API Dropbox Datastore w mojej aplikacji i w końcu sprawiłem, że działa w osadzonym środowisku Cocoa Touch, aby udostępnić kod dla aplikacji zawierającej rozszerzenie aplikacji i dzisiaj.

Zorientowałem się, że w moim pliku Swift w osadzonym systemie mogę zaimportować dowolne ramy stron trzecich, które miałem w projekcie (tj. Farbic.framework, Crashlytics itp.), Ale nie Dropbox.

Jaka była różnica? Folder "Moduły"! Dropbox.framework nie udostępnia pliku mapy modułu. Tak więc utworzyłem go w oparciu o to, co znalazłem w Fabric.framework:

  1. Przejdź do folderu Dropbox.framework w swoim projekcie direcotry.
  2. Utwórz nowe "moduły" folderów i wejść do środka
  3. Utwórz plik o nazwie: "module.modulemap"

Zawartość pliku:

framework module Dropbox { 
    umbrella header "Dropbox.h" 

    export * 
    module * { export * } 
} 

Po zrobieniu, że muszę dodaj ścieżkę importu.

  1. Idź do pliku projektu
  2. Wybierz cel osadzony ramową
  3. Przejść do „Build Settings” i znaleźć „Swift Compiler - ścieżek wyszukiwania”
  4. Dodaj ścieżkę do Dropbox.framerowk i ustawić opcja "rekursywna".

chciałem umieścić zrzut ekranu tutaj, ale nie mogę tego zrobić jeszcze - z powodu mojej „reputacji”;)

Teraz jestem w stanie zrobić „import Dropbox” w moich szybkich plików:)

Mam nadzieję, że to może ci pomóc :)

Powiązane problemy