Ich bin ein neuer Entwickler und mache gerade meine erste App. Manchmal, wenn ich versuche, die App zu öffnen, wird das Symbol abgeblendet, aber nichts passiert, und das ganze Telefon reagiert nicht mehr. Meine Vermutung ist, dass dies im App-Delegaten passiert. Ich bin nicht sicher, was passiert, aber ich denke, ich sollte große zentrale Versand verwenden.App friert mein ganzes Telefon ein, indem ich einfach auf das Start-Icon klicke
dies zur Zeit in AppDelegate meinen Code,
import UIKit
import Firebase
import FirebaseMessaging
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//Facebook SharedInstance FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
//Firebase Database
FIRApp.configure()
FIRDatabase.database().persistenceEnabled = true
//Onesignal PushNotifications
_ = OneSignal(launchOptions: launchOptions, appId: "3b2b4845-0b6a-4e92-892f-254c2cf51da8", handleNotification: nil)
_ = OneSignal(launchOptions: launchOptions, appId: "3b2b4845-0b6a-4e92-892f-254c2cf51da8", handleNotification: { (message, additionalData, isActive) in
NSLog("OneSignal Notification opened:\nMessage: %@", message)
if additionalData != nil {
NSLog("additionalData: %@", additionalData)
// Check for and read any custom values you added to the notification
// This done with the "Additonal Data" section the dashbaord.
// OR setting the 'data' field on our REST API.
if let customKey = additionalData["customKey"] as! String? {
NSLog("customKey: %@", customKey)
}
}
}, autoRegister: true)
print("didFinishLaunchingWithOptions launchOptions")
return true
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
print("application")
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
Ist es möglich, dass dies nichts mit AppDelegate zu tun hat?
wenn es in AppDelegate ist, wie GCD nutzen können diese Arbeit
Was tut 'FIRApp.configure()' tun? Oder ist eine von Firebases eigenen Methoden? – paulvs
Legen Sie einen Haltepunkt fest und gehen Sie jeweils eine Zeile durch den Code. Sehen Sie, welche Zeile das Problem verursacht. Alternativ, wenn die App einfriert, klicken Sie auf die Pause-Schaltfläche, um in den Debugger zu gelangen und zu sehen, was im Hauptthread passiert. –
Vielen Dank, ich werde versuchen, die Haltepunkte setzen, – slimboy