设置Objective-C桥接文件
导入SDK头文件
在UMengDemo-Bridging-Header.h中加入U-Share SDK头文件:
//导入UMCommon的OC的头文件
#import <UMCommon/UMCommon.h>
//导入UShare的OC的头文件
#import <UMSocialCore/UMSocialCore.h>
#import <UShareUI/UShareUI.h>
//导入UMAnalytics的OC的头文件
#import <UMAnalytics/DplusMobClick.h>
#import <UMAnalytics/MobClick.h>
#import <UMAnalytics/MobClickGameAnalytics.h>
//导入UMPush的OC的头文件
#import <UMPush/UMessage.h>
UMengDemo的OC和Swift的切换
UMengDemo是用OC的代码编写的,同时也兼容了swift3.0的调用示例(UMengDemo不再对swift2.0做示例兼容).
swift文件夹的结构
文件名功能分析如下:
- UMSocialSDK-Bridging-Header.h 为swift3.0的桥接文件,主要是在swift3.0中,调用oc的代码。
- UMShareSwiftInterface.swift 为社会化分享Swift3.0的接口文件,主要是为了展示用户让oc调用swift3.0的代码的示例(用户可以在swift3.0的工程中直接调用对应的swift接口)。 备注:UMSocialSwiftInterface.swift这个文件是单独分享工程Demo用的swift文件,现在只是换了一个类名而已,请用户知晓。
- UMAnalyticsSwiftInterface.swift 为统计SDK的Swift3.0的接口文件和OC的API一一对应。
- UMGameAnalyticsSwiftInterface.swift 为游戏统计SDK的Swift3.0的接口文件和OC的API一一对应。
- UMDplusMobClickSwiftInterface.swift 为Dplus的统计SDK的Swift3.0的接口文件和OC的API一一对应。
- UMessageSwiftInterface.swift 为PushSdk的Swift3.0的接口文件和OC的API一一对应。
- UMCommonSwiftInterface.swift 为Common组件的Swift3.0的接口文件和OC的API一一对应。
设置切换swift的宏
引入对应的swift的头文件,并在OC中调用swift3.0的代码如下
代码如下
#ifdef UM_Swift
#import “UMengDemo-Swift.h”
#endif
//分享文本
- (void)shareTextToPlatformType
UMSocialPlatformType)platformType
{
//创建分享消息对象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//设置文本
messageObject.text = UMS_Text;
#ifdef UM_Swift
[UMSocialSwiftInterface shareWithPlattype:platformType messageObject:messageObject viewController:self completion:^(UMSocialShareResponse * data, NSError * error) {
#else
//调用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
#endif
if (error) {
UMSocialLogInfo(@“***Share fail with error %@”,error);
}else{
if ([data isKindOfClass:[UMSocialShareResponse class]]) {
UMSocialShareResponse *resp = data;
//分享结果消息
UMSocialLogInfo(@“response message is %@”,resp.message);
//第三方原始返回的数据
UMSocialLogInfo(@“response originalResponse data is %@”,resp.originalResponse);
resp = data;
//分享结果消息
UMSocialLogInfo(@“response message is %@”,resp.message);
//第三方原始返回的数据
UMSocialLogInfo(@“response originalResponse data is %@”,resp.originalResponse);
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |