科尔多瓦:1.6.0
iOS:5.1
X代码:4.3.1
我正在尝试使用一个非常基本的示例程序来利用 Phonegap 1.6.0 中的 handleOpenURL。每次发出 http/https 请求时,我都想分析一个 url。我现在所做的就是添加一条日志消息以查看 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
也许我的 Example-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 进行页面转换。