app打开 ios
2017-06-24 16:51:00 weixin_34009794 阅读数 60

以前没注意到,打开第三方app有个坑,现在有个需求是跳转到微信去,一开始傻乎乎的在url schemes 里面添加微信

3090071-4ad6e0b7df9c4dd2.jpeg
WechatIMG47.jpeg

这样添加是做支付和分享的时候添加的白名单,如果这样添加iOS10以后的手机是没问题的,但是iOS 10以前的手机就打不开微信,正确的添加方式是这样的


3090071-cfbdb47df8f86e98.png
image.png

然后代码如下

// 联系客服            
            UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"请关注微信公众号\nmmmmm" message:@"与客服进行沟通" preferredStyle:UIAlertControllerStyleAlert];
            UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"知道了"style:UIAlertActionStyleDestructive handler:nil];
            UIAlertAction *ok = [UIAlertAction actionWithTitle:@"去微信" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                NSURL *url = [NSURL URLWithString:@"weixin://"];
                if ([APPLICATION canOpenURL:url]) {
                    [APPLICATION openURL:url];
                }else{
                    [UIAlertView showWithTitle:@"警告" message:@"您还未安装微信" cancelButtonTitle:@"知道了"];
                }
            }];
            
            [alertController addAction:cancel];
            [alertController addAction:ok];
            [self presentViewController:alertController animated:YES completion:^{
            
            }];

效果如下


3090071-abda3a3bb535fe89.png
image.png

如果用户未安装微信,给个提示


3090071-9c3caec58f313f08.png
image.png
2016-04-19 14:10:00 weixin_34391445 阅读数 40

在程序里打开另一个APP

1、首先,要在被打开的 APPinfo.plist 文件里添加 URL types 并设置 URL Schemes,如下图所示:

226201-44b23e470e225ed8.png
1.png

2、在项目的 info.plist 文件里添加 LSApplicationQueriesSchemes 属性,并添加子 item 为被打开的 APPURL Schemes,如下图所示:

226201-7d0a5400d0f82106.png
2.png

3、在项目里使用如下代码打开另一个 APP

UIApplication *application = [UIApplication sharedApplication];
if ([application canOpenURL:[NSURL URLWithString:@"ABC://"]]) {
    [application openURL:[NSURL URLWithString:@"ABC://"]];
}
2016-05-03 23:19:43 u013892686 阅读数 4667

环境:Xcode7.2.1,iOS Simulator 9.2, iPhone6s(9.3)
语言:Objective-C 和 Swift 通用

假定现在有两个APP:TestA和TestB,点击TestA中的Button跳转到TestB,主要利用UIApplication的openURL方法,步骤如下:

1.TestB工程 -> Targets -> Info -> URL Types,添加一项,填写Identifier和URL Schemes两项,Identifier 填写本项目的 Bundle Identifier,URL Schemes 的内容可以自定义(建议填写项目的名称,简单明了)。这两项就是TestB的URL地址,通过这个URL能打开TestB。填写完后回车保存,编译运行一下TestB项目,在iOS模拟器中生成App应用。
这里写图片描述

TestB中的工作做完了,接下来是TestA的工作。

2.TestA中,创建一个Button,在Button的点击事件中写入代码

首先生成TestB的URL,此处用到了第一步中填写的内容

Objective-C版

NSURL *url = [NSURL URLWithString:@"TestB://com.dali.TestB"];
[[UIApplication sharedApplication] openURL:url];

Swift版

let url = NSURL(string: "TestB://com.dali.TestB")!
UIApplication.sharedApplication().openURL(url)

3.运行TestA,点击按钮,出现要跳转的弹窗。点击确定,跳到TestB
这里写图片描述这里写图片描述

2019-01-25 15:39:00 weixin_34390105 阅读数 99

1.Targets --> Info --> URL Types --> URL Schemes(填写自定义协议,如:watson),如图:


3306578-17f1f2512161dfcc.png
步骤1.png

2.Html代码

<!DOCTYPE html>
<html>
<head>
    <title>IOS 通过浏览器打开App</title>
    <meta charset="utf-8">
    <style type="text/css">
        .back{
            position:absolute; top:50px;left:360px;float:left;
        }
    </style>
</head>
<body>
    <div class="back">
    <p>
        <font size="20px">
        <a href="watson://" >打开APP</a><br> // 关键代码 调起app 协议头需要与URL Schemes一致
        </font>
    </p>
    </div>
</body>
</html>

在手机上打开html时效果,选择“打开”即调起app


3306578-abb5e28711880928.png
步骤2.png

3.调起app后可以进行业务处理,如页面跳转

// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    if ([[url.absoluteString substringToIndex:6] isEqualToString:@"watson"]) {
        NSLog(@"url===%@",url.absoluteString);
        // 自己的业务处理
    }    
    return YES;
}

// 支持所有iOS系统(8.0)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if ([[url.absoluteString substringToIndex:6] isEqualToString:@"watson"]) {
        NSLog(@"url===%@",url.absoluteString);
        // 自己的业务处理
    }
    return YES;
}
2017-05-16 14:35:00 weixin_34250434 阅读数 7

app开发过程中,往往需要这么一个功能,到appStore上对app进行评分,本文在此简单介绍这一功能的实现,代码如下:

//评论地址
static  NSString * const markURL = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&id=app在iTunes上的id";
//markURL - 评论地址 - 复制代码更换id即可
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:markURL]];//调用 - 去评分

没有更多推荐了,返回首页