2017-11-30 3 views
-1

Ich bearbeite ein Projekt, das mir übergeben wurde. Ich versuche Crashlytics zu installieren, um Abstürze zu sehen. Bei der Installation muss ich jedoch die AppDelegate.swift-Datei bearbeiten ... Das Projekt enthält keine App-Delegatendatei!Xcode App Delegierter

Ich habe versucht, eine appDelegate.swift Datei manuell hinzufügen, aber wenn ich versuchte zu drucken ("Hallo"), wurde es nie aufgerufen.

1) Gibt es eine Möglichkeit für eine App delegate.swift

2) zu überprüfen Wie wieder ich einen AppDelegate?

+0

Sicher zu wissen, was ein App-Delegierter ist, wäre eine Voraussetzung für die iOS-Programmierung? – matt

+0

Meine Frage fragt nicht, was ein App-Delegierter ist .. Ich frage nach möglichen Lösungen, wie es ersetzt werden kann – HelpinCodingpls

+0

Geben Sie der App einen Delegierten, wenn es nicht bereits einen hat. Aber ich sehe kaum, wie es einem fehlen kann. Wo ist '@ UIApplicationMain'? – matt

Antwort

0

Es klingt wie der Autor des Codes verwendet einige Drittanbieter-Bibliothek, die die AppDelegate-Funktionen behandelt. In diesem Fall verfügen sie möglicherweise über eine API oder einen Rückruf, mit denen Sie während bestimmter Methoden der appDelegate-Klasse aufgerufen werden können. Überprüfen Sie die Dokumentation für die bestimmte verwendete Bibliothek. Einige der häufigsten sind PhoneGap, Cordova, etc.

+0

Es gibt einen Verweis auf eine AppDelegate in Alamofire. Wenn ich jedoch die AppDelegate im Alamofire-Speicherort bearbeite, wird nichts geändert. Ist es möglich, dass die Third-Party-Bibliothek den App-Delegaten außerhalb des Projekts behandelt (von seiner eigenen Bibliothek, die nicht zugänglich ist?) Gibt es eine mögliche Lösung, um dies zu bearbeiten? – HelpinCodingpls

+0

alamofire ist eine Netzwerkbibliothek. Sie haben wahrscheinlich eine andere Bibliothek oder ein anderes Framework, das die AppDelegate umgebrochen hat. Es sollte Ihnen eine Methode zur Verfügung stellen, um aus verschiedenen Aufrufen im appDelegate-Code aufgerufen zu werden, wobei die wichtigste Methode beim Start ist. Sie müssen herausfinden, welche Bibliothek Sie verwenden, und sich die Dokumentation durchlesen. –

1

Führen Sie eine globale Suche auf @UIApplicationMain. Die mit diesem Attribut markierte Klasse ist der App-Delegat.

Entweder das oder suchen Sie nach einem Anruf in C zu UIApplicationMain; Dieser Aufruf enthält den Namen der App-Delegate-Klasse.

Ein anderer Ansatz: Führen Sie die App mit dieser Linie irgendwo, dass Sie wissen, wird tatsächlich ausgeführt werden sollen:

print(type(of: UIApplication.shared.delegate!)) 

Jetzt werden Sie den Namen der AppDelegate Klasse kennen.

+0

Ich habe das getan. Es gibt kein @ UIApplicationMain-Attribut für eine Klasse. – HelpinCodingpls

+0

Wie startet die App? Eine App ohne '@ UIApplicationMain'-Attribut oder' 'UIApplicationMain''-Funktionsaufruf (in _main_-Datei) kann nicht gestartet werden! Wenn Sie keines dieser Dinge haben, erklärt das das ganze Problem: Was auch immer Sie den Code haben _ ist keine App_. – matt

+0

Ich glaube, ich habe die App Delegat gefunden .. in meinem Alamofire -> Beispiel -> Quelle .. Aber Druckfunktionen werden nicht aufgerufen. Sollten die Druckfunktionen ausgeführt werden? – HelpinCodingpls