1、证书相关的处理
设置 Associated Domains
注意:勾选后,需要重新生成描述文件,下载后重新安装,如果安装失败需要 将钥匙串中之前的文件删除
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):查找方法
2、配置xcode 中对应的Associated Domains
注意:Domains 的开头 必须使用:applinks: 后面跟的是下载json的 后台地址, 需要将 Https:// 去掉
3、在URL Type中添加Schemes,填写注册的appid
在 “info.plist”中的“LSApplicationQueriesSchemes“添加weixin和weixinULAPI
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) {
}];