美文网首页
iOS Universal link 适配流程 以及微信小程序分

iOS Universal link 适配流程 以及微信小程序分

作者: 枫叶知秋 | 来源:发表于2023-10-05 11:57 被阅读0次

1、证书相关的处理


设置 Associated Domains

勾选选项.png
注意:勾选后,需要重新生成描述文件,下载后重新安装,如果安装失败需要 将钥匙串中之前的文件删除

2、json 和 xcode 配置

1、创建json格式的一个文件(取名必须为apple-app-site-association,并且没有后缀)放在指定服务器根目录,(有自己的域名,且支持Https)
通过 后台的链接 https://baidu.com/apple-app-site-association 请求就下载 json文件

json 格式如下:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "团队ID(Team ID)+ . +Bundle ID",
                "paths": ["*"]
            }
        ]
    }
}

appID的格式为: “团队ID(Team ID)” + “.” + "Bundle ID"
团队ID(Team ID):查找方法

Bundle ID 和 团队ID .png

2、配置xcode 中对应的Associated Domains

image.png
注意:Domains 的开头 必须使用:applinks: 后面跟的是下载json的 后台地址, 需要将 Https:// 去掉

3、在URL Type中添加Schemes,填写注册的appid


image.png

在 “info.plist”中的“LSApplicationQueriesSchemes“添加weixin和weixinULAPI


image.png

3、集成openSDK 并进行小程序分享

1、通过 CocoaPods 集成。在工程的 Podfile 里面添加以下代码
pod 'WechatOpenSDK'

2、向微信注册

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   
    // 向微信注册
    [WXApi registerApp:@"wx3678b1b35bd6cf5d" universalLink:@"https://ywx.canginc.com/"];
    return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}

3、发起小程序分享

WXMiniProgramObject *object = [WXMiniProgramObject object];
    object.webpageUrl = @"https://ywx.canginc.com/";   // 兼容低版本的网页链接
    object.userName = userName;   // 小程序的userName
    NSString * path = [NSString stringWithFormat:@"/pages/orders/xunjia/info?id=%@",self.ID];
    object.path = path;     // 小程序的页面路径

//    NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"app_icon" ofType:@"png"]];
    object.hdImageData = data;   // 小程序新版本的预览图二进制数据,限制大小不超过128KB,自定义图片建议长宽比是 5:4
    object.withShareTicket = YES;  // 是否使用带shareTicket的分享
    object.miniProgramType = WXMiniProgramTypeRelease;  // 小程序的类型,默认正式版
    WXMediaMessage *message = [WXMediaMessage message];
    message.title = title;
    message.description = message.title;
    message.thumbData = nil;  // 兼容旧版本节点的图片,小于32KB,新版本优先
                              // 使用WXMiniProgramObject的hdImageData属性
    message.mediaObject = object;

    SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    req.scene = WXSceneSession;  //目前只支持会话
    [WXApi sendReq:req completion:^(BOOL success) {

    }];

可以参考:https://www.jianshu.com/p/c9cda8151b94

相关文章

网友评论

      本文标题:iOS Universal link 适配流程 以及微信小程序分

      本文链接:https://www.haomeiwen.com/subject/noyubdtx.html