程序员

iOS使用ShareSdk分享到小程序遇到的坑

2018-12-19  本文已影响308人  Allenyao

接到需求要求详情页分享到小程序,并且能够场景还原。
我们的分享用的是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整个流程就没有问题了。

上一篇下一篇

猜你喜欢

热点阅读