欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-26 14:29:55
...

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