2015-09-29 24 views
9

Rozwinąłem projekt AEXML i próbuję dodać obsługę Carthage. Dodałem ramowy cel i stworzyłem nowy Schemat, który jest oznaczony jako udostępniony (patrz zrzuty ekranu poniżej). Jestem w stanie uruchomić carthage build iw moim Carthage/Build/iOS widzę:Dodawanie wsparcia Kartaginy do istniejącego projektu

enter image description here

Podczas przeciągania wynikowy AEXML.framework plik do mojej przykładowej aplikacji projekt zbuduje jednak po uruchomieniu otrzymuję:

enter image description here

Czuję, że zgubiłem gdzieś drogę, ale nie jestem do końca pewien, jak to naprawić.

enter image description here

Odpowiedz

1

Należy dodać skrypt pracować na Twój przykład projektu „Budowanie Phase”, takich jak:

On «Budowa Fazy» Ustawienia zakładki swoje cele wniosku, kliknij ikonę «+» i > wybierz "New Run Script Phase". Utwórz skrypt uruchamiany z następujących treści:

/usr/local/bin/carthage copy-ram i dodawać ścieżki do ram chcesz używać pod „Pliki wejściowe”, np:

$ (SRCROOT) /Carthage/Build/iOS/Box.framework $ (SRCROOT) /Carthage/Build/iOS/Result.framework $ (SRCROOT) /Carthage/Build/iOS/ReactiveCocoa.framework

+1

Powinieneś dodać odsyłacz do linku do cytatu. –

0

błędu masz punkty, że plik binarny struktury ramowej nie został znaleziony w czasie wykonywania. Odpowiedz przez Abner Zhong będzie działać w większości przypadków, ale czasami musisz się bardziej postarać (dla mnie był to cel testów jednostkowych). Aby to działało Carthage README proponuje:

W rzadkich przypadkach może chcesz również kopiować każdą zależność do produktu budowlanej (np osadzić współzależności wewnątrz zewnętrznej ramy, albo upewnić się, że zależności są obecne w zestawie testowym). Aby to zrobić, utwórz nową fazę kompilacji "Kopiowanie plików" z miejscem docelowym "Frameworki", a następnie dodaj tam także odniesienie do struktury.

Można to zrobić tutaj: Xcode target settings

1

Próbowałem zrobić to sam, dodając do skryptu, aby sprawdzić, czy każdy ramy został znaleziony w BUILD_PRODUCTS_DIR a następnie rekurencyjnie ich kopiowanie, czy nie. Kiedy to nie zadziałało, skończyło się na tym problemie z łączeniem:

dyld: Biblioteka nie załadowana: @ rpath/XCTest.framework/XCTest Przywoływana od: .../build/Produkty/Debug-iphonesimulator/Specta .framework/Specta Powód: obraz nie został znaleziony

W końcu próbowałem utworzyć fazę kopiowania plików i zawarłem moje frameworki i dSYM-y, tworząc grupy, a następnie przeniosłem je wszystkie do grupy Frameworks w Xcode 7.2. Moje problemy z linkami zniknęły całkowicie.

Powiązane problemy