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();
}
}