2014-01-31 82 views
0

Inside AppDelegate.m我試圖從我從傳入的URL中獲取的字符串中獲取內容。我不知道爲什麼的NSLog不打印任何東西了...NSLog來自appDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions openURL:(NSURL *)url 
{ 
    // incoming URL... 
    // i.e. palsvid://blabla.com/foo.php?request=laa&id=1004 


    NSString *q = [url query]; 

    NSLog(@"%@",q); // Does not log anything! Even with a hard coded string! 

    NSArray *pairs = [q componentsSeparatedByString:@"&"]; 
    // ... 

難道我做錯了什麼?我更新plist接受url,現在我想解析它。

最終我會將這些數據用在我的ViewController中。 NSLog的作品在視圖控制器方法...

感謝

+0

如果它沒有記錄任何內容,即使是硬編碼的字符串,要麼它沒有被調用,要麼運行的應用程序的版本與您想象的不同。 (今天發生在我身上!)您能否以其他方式顯示字符串到屏幕上,例如設置標籤的文本或其他內容? – user1118321

回答

1

你有錯誤的方法簽名,以便您的方法不會被調用。沒有openURL:參數。您想要:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // your code here 
} 

當您的應用程序從頭開始時調用。

要處理來自其他應用程序調用或正在發送的網址你的應用程序,您需要執行以下操作:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 
    // process URL here 
} 

請閱讀UIApplicationDelegate的文檔,以及相關的應用程序生命週期的文檔。