2014-11-12 7 views
9

Swift REPL jest świetny, ale byłoby jeszcze lepiej, gdybym mógł zaimportować klasy z projektu Xcode. Próbowałem przełączania do mojego katalogu projektu i działaCzy mogę zaimportować mój kod projektu do SWPL REPL?

$ swift 
> import ProjectName 

ale mam:

error: no such module 'ProjectName' 

Czy to możliwe, aby to zrobić?

Odpowiedz

13

Swift REPL zawiera wiele różnych opcji. Użyj swift -help, aby je zobaczyć. W Twoim przypadku, jeśli już zdefiniowane ProjectName jako cel ramowej oraz w celu masz ogłoszony Definiuje Module ", a następnie można go otworzyć:

$ swift -F <install path with subdirectory ProjectName.framework> 
> import ProjectName 

Oto przykład:

$ swift -F /Users/.../Library/Developer/Xcode/DerivedData/Opus-bsjennhdtvmqrhejuabovdyxlqte/Build/Products/Debug/ 
Welcome to Swift! Type :help for assistance. 
    1> import OpusOSX 
    2> version     // var from framework 
$R0: String = "Opus 1.0" 
    3> any([1,3]) { 0 == $0 % 2 } // 'any()' in framework 
$R1: Bool = false 
    4> any([1,2,3]) { 0 == $0 % 2 } 
$R2: Bool = true 
    4> any([1,2,3,4], conjoin ({ 0 == $0 % 2 }, { $0 >= 3 })) 
$R3: Bool = true 
+0

Czy to działa w przypadku projektu aplikacji na system iOS, a nie w strukturze? – Bill

+1

Prawdopodobnie nie, z dwóch powodów. Po pierwsze, program 'swift' nie ma żadnych opcji wiersza poleceń do importowania projektów, a po drugie, program' swift' nie jest cross-kompilatorem i działa tylko dla MacOSX. Uwaga: otrzymujesz "cross-kompilator" z IOS Playground w Xcode, a nie z wiersza poleceń przez 'Swift'. – GoZoner

+1

używać REPL na iOS zobacz: http://stackoverflow.com/questions/24385734/starting-swift-repl-for-ios-vs-osx/24388630#24388630 – Ultrasaurus