Ios 自定义URL方案

Ios 自定义URL方案,ios,objective-c,url-scheme,Ios,Objective C,Url Scheme,我想使用打开应用程序myapp://something?id=123 当安装了应用程序的用户访问时,若用户并没有应用程序,则在浏览器中打开url 另外,捆绑URL方案是否可以以数字开头 我当前的info.plist文件 编辑: 下面是我的场景 我在电子邮件中收到了一个URL,例如。当我在iPhone上点击该URL时,我想打开我的应用程序(如果已安装),否则打开浏览器您在电子邮件中的初始链接需要将它们发送到一个页面,该页面可以将它们重定向到应用程序或网站。只需在页面上包含以下javascript:

我想使用打开应用程序myapp://something?id=123 当安装了应用程序的用户访问时,若用户并没有应用程序,则在浏览器中打开url

另外,捆绑URL方案是否可以以数字开头

我当前的info.plist文件

编辑:

下面是我的场景


我在电子邮件中收到了一个URL,例如。当我在iPhone上点击该URL时,我想打开我的应用程序(如果已安装),否则打开浏览器

您在电子邮件中的初始链接需要将它们发送到一个页面,该页面可以将它们重定向到应用程序或网站。只需在页面上包含以下javascript:

setTimeout(function() {
    if (!document.webkitHidden)
        window.location = "http://www.myotherurl.com";
}, 250);
window.location = "myapp://something?id=123";

首先,你应该在你的页面上包括这样一个声明:

setTimeout(function() {
    if (!document.webkitHidden)
        window.location = "http://myapp.com/download";
}, 200);
window.location = "myapp://something?id=123";
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    ...

    NSString *outSideUrl = launchOptions[UIApplicationLaunchOptionsSourceApplicationKey];
    if (outSideUrl) {
        // ...
    } else {
        // ...
    }
    return YES;
}
除了确保应用程序能够正确执行之外,您还应该在应用程序中添加一些语句,如下所示:

setTimeout(function() {
    if (!document.webkitHidden)
        window.location = "http://myapp.com/download";
}, 200);
window.location = "myapp://something?id=123";
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    ...

    NSString *outSideUrl = launchOptions[UIApplicationLaunchOptionsSourceApplicationKey];
    if (outSideUrl) {
        // ...
    } else {
        // ...
    }
    return YES;
}

什么你的问题很不清楚,请提供更多信息。先在网上搜索一下。方案不能以数字开头。您可以在URL/URI规范中找到这一点。Javascript可以检测是否安装了应用程序,并根据结果重定向到不同的链接。