您的位置:首页 > 移动开发 > Swift

shareSDK配置以及遇到的问题

2016-07-06 16:13 567 查看
首先需要从cocoa pods导入

pod 'ShareSDK3'

pod 'MOBFoundation'

pod 'ShareSDK3/ShareSDKUI'

pod 'ShareSDK3/ShareSDKPlatforms/WeChat'


这个类用来初始化shareSDK,

class ShareHelperInfo:NSObject{

    

    classfunc registerApp(){

        ShareSDK.registerApp("你的APPkey",

                             

                             activePlatforms: [

                                SSDKPlatformType.TypeWechat.rawValue,

                                SSDKPlatformType.TypeSMS.rawValue,

                                SSDKPlatformType.TypeMail.rawValue,

                                SSDKPlatformType.TypeCopy.rawValue,

                                

                              ],

                             onImport: {(platform : SSDKPlatformType) ->Voidin

                                

                                switch platform{

                                    

                                case SSDKPlatformType.TypeWechat:

                                    ShareSDKConnector .connectWeChat(WXApi
.classForCoder())

                                    

                                    break

                                case SSDKPlatformType.TypeSMS:

                                    

                                    break

                                case SSDKPlatformType.TypeMail:

                                    break

                                    

                               case SSDKPlatformType.TypeCopy:

                                    

                                    break

                                    

                                default:

                                    break

                                }

                              },

                             onConfiguration: {(platform :
SSDKPlatformType,appInfo :
NSMutableDictionary!) ->
Void in

                                switch platform {

                                    

                                case SSDKPlatformType.TypeWechat:

                                    //设置微信应用信息

                              appInfo.SSDKSetupWeChatByAppId("你的微信id", appSecret:"你的
            Appsecret"              

break

                                

                                default:

                                    break

                                    

                                }

        })

        

   

     

    }

    

这个类方法需要写在这个方法里面(初始化Sharesdk)

然后就是分享的视图(oc方法,这是oc的.m文件,.h文件只需要写入哪个方法就行),需要先导入这几个头文件,我是swift,和oc混合编译,需要用桥接文件,这里不多说,
然后把这个方法写在你需要让分享列表显示的地方就行了,

#import <ShareSDK/ShareSDK.h>

#import <ShareSDKUI/ShareSDK+SSUI.h>

// 自定义分享菜单栏需要导入的头文件

#import <ShareSDKUI/SSUIShareActionSheetStyle.h>

@implementation ShareHelper

-(void)share:(NSString *)shareText shareUrl:(NSString *)shareUrl shareTitle:(NSString
*)shareTitle {

    

    NSArray* imageArray = @[[UIImageimageNamed:@"LaunchImage.png"]];

    

    if (imageArray) {

        

        NSMutableDictionary *shareParams = [NSMutableDictionarydictionary];

        [shareParams SSDKSetupShareParamsByText:shareText

                                         images:imageArray

                                            url:[NSURLURLWithString:shareUrl]

                                          title:shareTitle

                                           type:SSDKContentTypeAuto];

       
//2、分享(可以弹出我们的分享菜单和编辑界面)

        

        

        [ShareSDKshowShareActionSheet:nil

                                 items:nil

                           shareParams:shareParams

                   onShareStateChanged:^(SSDKResponseState state,SSDKPlatformType
platformType,NSDictionary *userData,SSDKContentEntity *contentEntity,NSError *error,BOOL
end) {

                       

                       switch (state) {

                           caseSSDKResponseStateSuccess:

                           {

                               UIAlertView *alertView = [[UIAlertViewalloc]initWithTitle:@"分享成功"

                                                                                  message:nil

                                                                                 delegate:nil

                                                                        cancelButtonTitle:@"确定"

                                                                        otherButtonTitles:nil];

                               [alertView show];

                               break;

                           }

                           caseSSDKResponseStateFail:

                           {

                               UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"分享失败"

                                                                              message:[NSStringstringWithFormat:@"%@",error]

                                                                             delegate:nil

                                                                    cancelButtonTitle:@"OK"

                                                                    otherButtonTitles:nil,nil];

                               [alert show];

                               break;

                           }

                           default:

                               break;

                               

                       }}];

       

        

    }

}



配置info.plist 按照自己的APP如果出现 这个app不允许访问微信数据那是自己的白名单没有配置好,即分享列表中没有微信这个APP只有系统的或者不需要白名单的应用

出现不能打开微信分享失败时候,这个ID没有授权是因为urltype没有配置好,只需手动添加urltype,在手动添加urlschemes,就可以成功打开微信了

ps:折腾了一天,发现这个还是超级简单的就是配置plist文件什么的麻烦点,不过其他还好,以后陆续会出环信,个推等APP 的集成使用

2016年07月06日16:39:30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 分享sdk ios