using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.Collections; using cn.sharesdk.unity3d.sdkporter; using cn.sharesdk.unity3d; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System; public static class ShareSDKPostProcessBuild { //[PostProcessBuild] [PostProcessBuildAttribute(88)] public static void onPostProcessBuild(BuildTarget target,string targetPath) { string unityEditorAssetPath = Application.dataPath; if (target != BuildTarget.iOS) { Debug.LogWarning ("Target is not iPhone. XCodePostProcess will not run"); return; } XCProject project = new XCProject (targetPath); //var files = System.IO.Directory.GetFiles( unityEditorAssetPath, "*.projmods", System.IO.SearchOption.AllDirectories ); var files = System.IO.Directory.GetFiles( unityEditorAssetPath + "/ShareSDKiOSAutoPackage/Editor/SDKPorter", "*.projmods", System.IO.SearchOption.AllDirectories); foreach( var file in files ) { project.ApplyMod( file ); } //如需要预配置Xocode中的URLScheme 和 白名单,请打开下两行代码,并自行配置相关键值 string projPath = Path.GetFullPath (targetPath); EditInfoPlist (projPath); //Finally save the xcode project project.Save(); } private static void EditInfoPlist(string projPath) { XCPlist plist = new XCPlist (projPath); //URL Scheme 添加 string PlistAdd = @" CFBundleURLTypes CFBundleURLName meipai CFBundleURLSchemes mp1089867596 CFBundleURLSchemes dingoanxyrpiscaovl4qlw CFBundleURLName dingtalk CFBundleURLSchemes ap2015072400185895 CFBundleURLName alipayShare CFBundleURLSchemes vk5312801 yx0d9a9f9088ea44d78680f3274da1765f pin4797078908495202393 kakao48d3f524e4a636b08d81b3ceb50f1003 pdk4797078908495202393 tb2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM com.mob.demoShareSDK rm226427com.mob.demoShareSDK pocketapp1234 QQ05FB8B52 wx4868b35061f87885 tencent100371282 fb107704292745179 wb568898243 "; //白名单添加 string LSAdd = @" LSApplicationQueriesSchemes dingtalk-open dingtalk mqqopensdkapiV4 weibosdk sinaweibohd sinaweibo vkauthorize fb-messenger yixinfav yixinoauth yixinopenapi yixin pinit kakaolink kakao48d3f524e4a636b08d81b3ceb50f1003 alipay storykompassauth pinterestsdk.v1 kakaokompassauth alipayshare pinit line whatsapp mqqwpa instagram fbauth2 renren renrenios renrenapi rm226427com.mob.demoShareSDK mqq mqqopensdkapiV2 mqqopensdkapiV3 wtloginmqq2 mqqapi mqqOpensdkSSoLogin sinaweibohdsso sinaweibosso wechat weixin "; //在plist里面增加一行 plist.AddKey(PlistAdd); plist.AddKey (LSAdd); ShareSDKConfig theConfig; try { string filePath = Application.dataPath + "/Plugins/ShareSDK/Editor/ShareSDKConfig.bin"; BinaryFormatter formatter = new BinaryFormatter(); Stream destream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); ShareSDKConfig config = (ShareSDKConfig)formatter.Deserialize(destream); destream.Flush(); destream.Close(); theConfig = config; } catch(Exception) { theConfig = new ShareSDKConfig (); } string AppKey = @"MOBAppkey " + theConfig.appKey + ""; string AppSecret = @"MOBAppSecret " + theConfig.appSecret + ""; //在plist里面增加一行 plist.AddKey(AppKey); plist.AddKey(AppSecret); plist.Save(); } }