科爾多瓦:1.6.0的iOS handleOpenURL與PhoneGap的1.6.0
的iOS:5.1
的XCode:4.3.1
我試圖進軍handleOpenURL中的PhoneGap 1.6.0與一個非常基本的示例程序。我想在每次發出http/https請求時分析一個url。我現在所做的只是添加日誌消息來查看網址的主機。
- (BOOL) application:(UIApplication*)application handleOpenURL:
(NSURL*)url
{
NSLog(@"Hi");
NSLog(@"Host: %@", [url host]);
if (!url) {
return NO;
}
...
}
但是,日誌消息從不向控制檯寫入任何內容。
我也注意到了評論:
// only valid if Example-Info.plist specifies a protocol to handle
也許我的例子中,Info.plist文件是錯誤的?我已經添加了CFBundleURLTypes,假設這是「指定要處理的協議」的含義。我需要在別處添加其他東西嗎?以下是我的Example-Info.plist文件的示例部分。模擬器可能無法識別我的.plist修改嗎?
...
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>http</string>
<string>https</string>
</array>
</dict>
</array>
我也暗示,因爲handleOpenURL已被棄用。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication (NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"Hi");
...
}
因爲我在我的應用程序中打開URL,所以都沒有被調用。我已經嘗試了所有堆棧溢出解決方案,沒有這樣的運氣。如果有任何幫助,我使用jQuery mobile 1.1.0進行頁面轉換。
這當然沒有幫助,感謝@koregan。主要問題在於自Cordova 1.5.0以來,它們改變了我們應該重寫這些方法的地方。 爲了將來的參考,從Cordova 1.6.0開始......你應該修改** MainViewController.m **中的方法而不是** AppDelegate.m ** – user1236971 2012-04-17 15:25:58