ios-sharesdk-integreation — iOS-ShareSDK集成
v1.0.0面向 iOS 工程的 MobTech ShareSDK 集成 skill。默认优先使用 CocoaPods,先扫描工程,再串行确认阻塞项,最后以最小改动完成接入、隐私合规与项目内说明文档落地。 翻译后: 针对 iOS 项目的 MobTech ShareSDK 集成技能。默认优先使用 CocoaPods,先扫描项目,然后依次确认阻塞项,最后以最小的改动完成集成、隐私合规以及在项目内落实说明文档。
运行时依赖
安装命令
点击复制技能文档
iOS 分享SDK 集成 技能
当用户希望把 MobTech 分享SDK 集成到 iOS 工程,或希望把已有工程整理成可接入 分享SDK 的状态时,使用本 技能。
适用场景
当用户提到以下任一主题时,使用本 技能:
iOS 分享SDK 集成 MobTech 分享SDK iOS 接入 iOS 社交分享 SDK 配置 CocoaPods 集成 分享SDK 分享SDK 的 Podfile 配置 分享SDK 的 信息.p列出 配置 分享SDK 的 MOB应用Key / MOB应用Secret 配置 分享SDK iOS 隐私合规 上传隐私权限状态 调用时机 微信 / QQ / 微博分享或登录在 分享SDK 中的平台注册 URL Scheme、LS应用QueriesSchemes、Universal Link、Associated DomAIns 配置 iOS 项目里增加分享能力 帮我配置微信分享 / QQ 分享 / 微博分享 迁移或清理旧 分享SDK demo 残留
如果用户问题明确与 iOS 的 分享SDK 接入、工程配置、平台参数、隐私合规、社交分享或第三方授权登录有关,应优先使用本 技能。
输出语言 默认使用中文与用户沟通 代码、配置键名、类名、命令名保持原文 回答要短,先给结论,再给动作 官方资料
主文档:
https://www.mob.com/wiki/detAIled?wiki=4&id=14 https://www.mob.com/wiki/detAIled?wiki=500&id=14
执行时高频需要参考的关联官方页面:
https://www.mob.com/wiki/detAIled?wiki=499&id=14 https://www.mob.com/wiki/detAIled?wiki=747&id=14 https://policy.zztfly.com/sdk/分享/隐私 已确认的官方事实
以下信息已经可以作为本 技能 的执行依据,不需要再假设:
官方推荐的 iOS 集成方式包含 CocoaPods 与手动集成 默认开发环境要求为 Xcode 9.1.0+、iOS 8.0+ 用户未特别指定时,默认走 CocoaPods 集成 Pod 主模块是 pod 'mob_分享sdk' UI 模块是 pod 'mob_分享sdk/分享SDKUI' 常见平台模块包括: pod 'mob_分享sdk/分享SDK平台s/QQ' pod 'mob_分享sdk/分享SDK平台s/SinaWeibo' pod 'mob_分享sdk/分享SDK平台s/WeChat' pod 'mob_分享sdk/分享SDK平台s/WeChatFull' WeChat 与 WeChatFull 不能共存,只能选一个 如需分享菜单 UI,除 分享SDKUI 外还可能需要 pod 'mob_分享sdk/分享SDK扩展' 可选配置文件分享模块是 pod 'mob_分享sdk/分享SDKConfigFile' 信息.p列出 里需要配置 MOB应用Key 与 MOB应用Secret 隐私同意后、在使用 SDK 能力前,需要调用 MobSDK 上传隐私权限状态 第三方平台注册通常在 应用:didFinishLaunchingWithOptions: 中调用 [分享SDK regist平台s:^{}] 微信、QQ、微博在当前官方示例里都带有 universalLink 参数 Other Linker Flags 需要添加 -ObjC 使用 Xcode 15 编译时,官方文档额外要求在 Other Linker Flags 中添加 -ld64 微博需要补 ATS 配置 如果要强制 HTTPS,可在 信息.p列出 中配置 MOBForceHttps = YES iOS 13+ 下,微博、微信、QQ、Line 需要校验 Universal Link,并在工程中配置 Associated DomAIns show分享ActionSheet 的 on状态Changed 回调共 6 个参数:(SSDK响应状态, SSDK平台Type, [Any哈希able: Any]?, SSDKContentEntity?, (any Error)?, Bool) show分享ActionSheet 必须传 sheetConfiguration: 参数(不能省略),类型为 SSUI分享SheetConfiguration ,需先 #导入 <分享SDKUI/分享SDKUI.h> SSDKContentType 的自动判断枚举值为 .auto(不是 .typeAuto) 纯 Swift 工程须创建 ObjC 桥接头导入 <分享SDK/分享SDK.h>、 Swift 注意事项
- 纯 Swift / SwiftUI 工程需创建 ObjC 桥接头
纯 Swift 工程需要创建 {Tar获取}-Bridging-Header.h,导入 ObjC 头文件后才可调用 MobSDK / 分享SDK API:
#导入 <分享SDK/分享SDK.h> #导入 <分享SDKUI/分享SDKUI.h> #导入
并在 project.pbxproj 的目标 build 设置tings 中添加:
SWIFT_OBJC_BRIDGING_HEADER = {Tar获取}/{Tar获取}-Bridging-Header.h;
- on状态Changed 回调签名
show分享ActionSheet 的 on状态Changed 回调包含 6 个参数(不是 4 个):
on状态Changed: { 状态, 平台Type, userData, entity, error, flag in switch 状态 { case .成功: print("分享成功") case .fAIl: print("分享失败: \(error?.localizedDescription ?? "")") case .cancel: print("分享取消") default: break } }
参数含义:(SSDK响应状态, SSDK平台Type, [Any哈希able: Any]?, SSDKContentEntity?, (any Error)?, Bool)
- SSDKContentType 枚举
正确的自动类型枚举值为 .auto(不是 .typeAuto,该case不存在):
let 分享Params = NSMutableDictionary() 分享Params.ssdk设置up分享Params( byText: "分享文本", images: nil, url: URL(string: "https://example.com"), title: "标题", type: .auto // ✅ 正确 )
不编造规则
不要编造以下内容:
依赖坐标之外的版本号 平台凭证 未启用平台的 URL Scheme、白名单和回调逻辑 项目里不存在的初始化入口 用户实际业务里的分享按钮落点
如果文档没有明确说明,或者当前工程无法安全推断,必须写:
文档未明确,需向用户确认
默认执行策略 默认集成方式:CocoaPods 默认先生成覆盖 iOS 分享 支持平台的完整配置模板,不先追问“要接哪些平台” 默认以用户填写的 分享SDK_Config.xlsx 为准决定平台范围:填写则集成,未填写则默认不集成 默认不把未填写的平台写进工程 默认不运行 pod 安装 / pod 更新,先给用户看计划,再执行 默认把 SDK 初始化放在用户隐私同意之后 执行流程
严格按以下顺序推进:
先扫描工程,再给方案。 先生成配置模板,再等用户填写。 先读取并校验 Excel,再确定平台范围。 修改前先给最小改动计划。 依赖安装前先征求用户确认。 完成后生成项目内说明文档。 第一步:扫描工程
优先扫描以下内容:
.xcodeproj / .xcworkspace Podfile Package.swift 应用Delegate / SceneDelegate / SwiftUI @mAIn 信息.p列出 是否已有 分享SDK、MobSDK、MOB应用Key、LS应用QueriesSchemes、CFBundleURLTypes 是否已有 Associated DomAIns 当前 Bundle Identifier
推荐命令:
rg --files -g '.xcodeproj' -g '*.xcworkspace' -g 'Podfile' -g 'Package.swift' rg -n '分享SDK|MobSDK|MOB应用Key|MOB应用Secret|LS应用QueriesSchemes|CFBundleURLTypes|Associated DomAIns|上传隐私权限状态|regist平台s'
扫描后先给出一段简短结论,包含:
当前工程的依赖方式 当前入口结构 是否已有 分享SDK 残留 下一步是生成配置模板还是直接读取已有 分享SDK_Config.xlsx 第二步:注册社交平台信息 2-1 生成配置模板文件
扫描工程后,如未发现用户项目根目录已有 分享SDK_Config.xlsx,执行:
运行本 技能 目录下的 as设置s/生成_excel_template.py。 使用脚本生成或更新本 技能 目录下的 as设置s/分享SDK_Config_Template.xlsx。 将 as设置s/分享SDK_Config_Template.xlsx 复制到用户项目根目录。 在用户项目根目录命名为 分享SDK_Config.xlsx。
模板必须包含:
基础信息 Sheet 平台申请地址 Sheet 每个平台独立 Sheet
支持的 iOS 分享 平台至少包含以下这些,模板中都要出现:
国内平台:
抖音 新浪微博 QQ 微信 企业微信 有道云笔记 印象笔记 易信好友 明道 人人网 开心网 钉钉(DingTalk) 美拍 中国移动 中国电信(天翼) 快手 支付宝
国外平台:
Line Facebook Twitter Google+ LinkedIn Flickr Pinterest Tumblr Dropbox Instagram VKontakte Kakao YouTube Telegram Reddit TikTok SnapChat
复制完