2016-08-02 13 views
0

Ich bin Neuling in iOS-Entwicklung. Ich möchte tiefe Verknüpfung auf meiner App hinzufügen, also bevorzuge ich URL-Schema dafür, so jetzt möchte ich meine App von einer anderen App öffnen, dann App geöffnet ist und sofort abgestürzt nicht eine Methode aufgerufen wird.didFinishLaunchingWithOptions nicht beim Start der App von URL-Schema

wie wie hier hinzugefügt i Alarm auf didFinishLaunchingWithOptions Methode

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Info" message:@"Finish Called" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil]; 
    [alert show]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

Und auch diese Methode aufrufen, wird nicht, wenn meine app ist offen

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Info" message:[NSString stringWithFormat:@"%@",url] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil]; 
    [alert show]; 
    return YES; 
} 

Es ist einfach offen Splash-Screen und abgestürzt können jede Hilfe mich dafür?

Vielen Dank im Voraus.

Antwort

0

Es gibt zwei Situationen
1. app in ist suspendierten Zustand - wenn u auf URL klicken, dann wird applicationdidFinishLaunchingWithOptions aufgerufen und u wird url bekommen in Optionen Wörterbuch und die Openurl Methode

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    return YES; 
} 
bekommen übersprungen

2. Wenn App im Hintergrund ist, wird die OpenUrl-Methode nur aufgerufen.

+0

aus dem Hintergrund 'openUrl' wird aufgerufen, aber wenn die App angehalten ist, passiert nichts. –

+0

Dann wird didFinishLaunchingWithOptions aufgerufen und Sie erhalten diese URL im Optionsverzeichnis dieser Methode. –

+0

Warnung wird angezeigt, wie in Ihnen Code –