接到需求要求详情页分享到小程序,并且能够场景还原。
我们的分享用的是ShareSDK,开始查看ShareSDK分享到小程序的方法。
这里有个小坑
userName:(NSString *)userName
这个参数没有说明白,实际上是微信开发者中心有个原始AppID,应该填这个,并不是微信SDK注册的时候用的AppID。
参数配置中。。。
参数配置完成之后发现分享不了。。以前分享web页都是好用的。。
这里又是有个坑。。
case SSDKPlatformTypeWechat:
// [ShareSDKConnector connectWeChat:[WXApi class]];
[ShareSDKConnector connectWeChat:[WXApi class] delegate:self];
break;
ShareSDK注册的时候有个桥接。ShareSDK提供了两个针对微信的桥接方法
[ShareSDKConnector connectWeChat:[WXApi class]];
[ShareSDKConnector connectWeChat:[WXApi class] delegate:self];
一个带代理一个没有带代理,之前一直使用没有设置代理的这个方法,分享到小程序必须使用有设置代理的这个方法。
接下来就是场景还原,这个根据微信后台说明配置问题不大。
走这个回调跟小程序定好协议然后进行交互就可以了
- (void)onReq:(BaseReq *)req
这里有个小坑。。。App在后台的时候没有问题。但是当App杀死的时候就不走上面的回调了。
ShareSDK配置的时候注册微信SDK有个方法
case SSDKPlatformTypeWechat:
[appInfo SSDKSetupWeChatByAppId:WXAppid
appSecret:WXAppSerect];
break;
只加这个方法是不行的!!!
必须在AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
重新再注册一下微信SDK
[WXApi registerApp:WXAppid];
到这里App分享到小程序,从小程序场景还原到App整个流程就没有问题了。