IT评测·应用市场-qidao123.com技术社区

标题: iOS UMeng OC和Swift混编 [打印本页]

作者: 种地    时间: 2025-2-25 15:24
标题: iOS UMeng OC和Swift混编
设置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文件夹的结构


文件名功能分析如下:
                             设置切换swift的宏


引入对应的swift的头文件,并在OC中调用swift3.0的代码如下

代码如下
#ifdef UM_Swift
#import “UMengDemo-Swift.h”
#endif
//分享文本

{
//创建分享消息对象
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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4