MobClub / New-Unity-For-ShareSDK

New sample of ShareSDK for Unity, including ios and android.
219 stars 154 forks source link

iOS 下构建时默认全部拷贝用不到的平台开发包到 XCode 工程 #45

Open xoox opened 4 years ago

xoox commented 4 years ago

问题描述

ShareSDK 中只选中支持 QQ、微信、微博三个平台,但默认所有的平台连接器和SDK都会被拷贝,分别被拷贝到 SDK/ShareSDK/Support/PlatformConnector, SDK/ShareSDK/Support/PlatformSDK 下面。合计大小有 250MB 以上。

解决方案

ShareSDK/Plugins/iOS/MOBTool/iOS/MOBAutoPackage/Editor/MOBPostProcessBuild.cs 89 行改为 bool hasMobFramework = true; Windows 下导出 XCode 工程后,SDK/ShareSDK/Support/PlatformConnector, SDK/ShareSDK/Support/PlatformSDK 就分别只剩下 QQ, 微信, 微博的 SDK 框架了。总大小约 16MB。 这些平台框架所共同依赖的 MOBFoundation.framework 也被正确拷贝到 SDK/Required 下面了。

尚存问题

上述解决方案,在 MacOS 和 Linux 下不能正确输出 XCode 工程,SDK/Required/MOBFoundation.framework 会缺失。猜测是 MacOS/Linux 下文件系统路径分隔符为 / 与 Windows 路径分隔符 \\ 不同导致的,或者是因为文件系统区分大小写的问题。 这问题比较严重,导致无法在 MacOS 正常开发,且使得 CI 流程失败。 请检查 ShareSDK/Plugins/iOS/MOBTool/iOS/MOBAutoPackage/Editor/MOBPostProcessBuild.cs 文件中的 framework 拷贝逻辑尽快修正该问题。