写在前面的话:小编最早使用了友盟分享组件,其中友盟sdk又包含了微信的sdk。需求要求应用唤起微信小程序,但是微信小程序有需要最新版的sdk。此时的问题就升级到,更新友盟sdk。小编打开友盟后台Down了一份,看到友盟的sdk已经包含了唤起小程序的微信sdk,网速渣渣的情况下,升级了一上午,终于完成了sdk的导入。下面就是正式的跳转问题:
具体流程:
- 登陆微信开放平台
- 管理中心-创建移动应用-等待审核通过
- 审核通过后-查看应用(拉到最下面)-关联小程序信息-查看关联-关联小程序-小程序账号持有者通过申请
- 到这一步就可以开始移动开发了
//外部调用此方法前先调用abilityCheck判断是否可以正常调起微信小程序
+ (BOOL)openWXMiniProgram:(MiniProgramPathType)path {
WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = @"原始ID";
launchMiniProgramReq.path = [WXMiniProgramTool transformPath:path];
launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease;
return [WXApi sendReq:launchMiniProgramReq];
}
//检查用户是否安装微信
//判断当前微信的版本是否支持OpenApi
+ (BOOL)abilityCheck {
if ([WXApi isWXAppInstalled]) {
if ([WXApi isWXAppSupportApi]) {
return YES;
}
return NO;
}
return NO;
}
//外部调用传入枚举值在内部转化为具体小程序path
+ (NSString *)transformPath:(MiniProgramPathType)path {
if (path == MiniProgramPathDefault) {
return @"pages/path1/path1";
}
if (path == MiniProgramPathIndex) {
return @"pages/path2/path2";
}
if (path == MiniProgramPathTeach) {
return @"pages/path3/path3";
}
return @"pages/pathDefault/pathDefault";
}
微信开放平台中username没有注明具体代表什么,其实username 就是小程序的原始ID。位置在:微信小程序平台
-设置-最下面 更多信息-原始ID