2016-12-12 3 views
1

ist, sehe ich eine Funktion func applicationWillResignActive(_ application: UIApplication) in meinem AppDelegate.swift, aber wenn ich -print-ast, ich sehe untenwas <<error type>> in schnellen

internal func applicationWillResignActive(_ application: UIApplication) -> <<error type>>

Was ist <<error type>>

+0

Können Sie eine einfache Swift-Quelldatei und den genauen 'swiftc -print-ast'-Aufruf angeben? –

+0

Es ist nur die Standarddatei 'AppDelegate.swift' und der genaue Terminal-Aufruf ist' swiftc AppDelegate.swift -print-ast | grep 'func' ' – prabodhprakash

Antwort

1

Sie einen SDK zur Verfügung stellen müssen, und ein Ziel so dass der Compiler die Swift-Standardbibliothek, die erforderlichen Frameworks (wie "UIKit") findet und weiß, wie die Typen Methoden usw. definiert sind.

Beispiel:

 
$ xcrun --sdk iphoneos swiftc -target arm64-apple-ios10.1 -print-ast AppDelegate.swift 2>/dev/null 

Ausgang:

 
import UIKit 

@UIApplicationMain @objc internal class AppDelegate : UIResponder, UIApplicationDelegate { 
    @objc internal var window: UIWindow? 
    @objc internal func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool 
    @objc internal func applicationWillResignActive(_ application: UIApplication) 
    @objc internal func applicationDidEnterBackground(_ application: UIApplication) 
    @objc internal func applicationWillEnterForeground(_ application: UIApplication) 
    @objc internal func applicationDidBecomeActive(_ application: UIApplication) 
    @objc internal func applicationWillTerminate(_ application: UIApplication) 
    @objc deinit 
    @objc override internal init() 
} 

(I 2>/dev/null in die Befehlszeile hinzugefügt, da einige Warnungen über 'UIApplicationMain' zur Standard Fehler gedruckt werden, habe ich noch nicht in der Lage gewesen, um diese richtig zu unterdrücken.)

+0

Also, im Wesentlichen - '<>' ist Compiler Unfähigkeit, erforderliche Frameworks zu verstehen? – prabodhprakash

+0

Ist es irgendwo dokumentiert? – prabodhprakash

+0

@prabodhprakash: Ich denke, die '<>' wird gedruckt, weil swiftc, ohne UIKIT zu finden, nicht einmal den Typ 'UIApplication' kennt. - Die Parameter "sdk" und "target" werden angezeigt, wenn Sie "xcrun -help" und "swiftc -help" eingeben. Ich weiß nicht, ob es eine gute Dokumentation mit allen möglichen Werten gibt. Ich habe ein Build-Protokoll in Xcode und ein paar "Versuch und Irrtum" inspiziert :) –

-1

<<errortype>> ist Ausgabe des Compilers oder bug können wir sagen, dass compiler das aktuelle Objekt nicht kompilieren kann. Dies tritt häufig auf, wenn Sie ein Objekt vom Typ AnyObject verwenden.

Reinigen Sie Ihr Projekt Ihr Problem lösen wird, Selbst wenn Reinigung nicht den Job dann schließen XCode einmal tut (I neeed nie XCode für den noch schließen)

+0

Ich bekomme keinen Kompilierfehler. Ich habe nur print-ast Dump überprüft und war interessiert an diesem '<>' – prabodhprakash

+0

Ja, ich sage nicht, dass das Problem in Ihrem Code ist, ich meine zu sagen, es ist Complier Problem –

+0

es war Jus 2 Jahre schnell. Swift Compiler entwickelt sich mit jeder Version für uns. Cheers to swift –

Verwandte Themen