From fa4cc12cfdca5df9d65dd03b0c1c8caa3f220762 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期六, 11 五月 2024 16:32:05 +0800 Subject: [PATCH] 0312 utf写文件 --- Assets/Editor/XCodeProjectMod.cs | 214 ++++++++++++++++++++++++++--------------------------- 1 files changed, 106 insertions(+), 108 deletions(-) diff --git a/Assets/Editor/XCodeProjectMod.cs b/Assets/Editor/XCodeProjectMod.cs index ccb301f..6bd53f7 100644 --- a/Assets/Editor/XCodeProjectMod.cs +++ b/Assets/Editor/XCodeProjectMod.cs @@ -1,4 +1,6 @@ -锘縰sing System.Collections.Generic; +锘縰sing DG.Tweening.Plugins.Core.PathCore; +using System; +using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEditor.iOS.Xcode.Custom; @@ -10,7 +12,7 @@ private const string CODE_SIGN_DISTRIBUTION = ""; private const string PROVISIONING_DEVELOPER = ""; private const string PROVISIONING_DISTRIBUTION = ""; - private const string TEAM = "5X26T385YZ"; + private const string TEAM = ""; [UnityEditor.Callbacks.PostProcessBuild(999)] public static void OnPostprocessBuild(BuildTarget buildTarget, string path) @@ -20,6 +22,18 @@ return; } + + DoPBXProject(path); + BuildPlist(path); + ModifyFile(path); + + + + } + + //瓒婂崡 + static void DoPBXProject(string path) + { string _projectPath = PBXProject.GetPBXProjectPath(path); PBXProject project = new PBXProject(); @@ -28,9 +42,6 @@ string targetGUID = project.TargetGuidByName(PBXProject.GetUnityTargetName()); string fwTargetGUID = project.TargetGuidByName("UnityFramework"); - //var _codeSign = Debug.isDebugBuild ? CODE_SIGN_DEVELOPER : CODE_SIGN_DISTRIBUTION; - //var _provision = Debug.isDebugBuild ? PROVISIONING_DEVELOPER : PROVISIONING_DISTRIBUTION; - // BuildSetting閲岀殑鐩稿叧璁剧疆 project.SetBuildProperty(project.ProjectGuid(), "ENABLE_BITCODE", "NO"); project.SetBuildProperty(targetGUID, "ENABLE_BITCODE", "NO"); @@ -38,34 +49,13 @@ project.AddBuildProperty(targetGUID, "OTHER_LDFLAGS", "-ObjC"); project.AddBuildProperty(targetGUID, "GCC_GENERATE_DEBUGGING_SYMBOLS", "NO"); - //webkit - project.AddFrameworkToProject(fwTargetGUID, "WebKit.framework", true); - //GameKit - project.AddFrameworkToProject(fwTargetGUID, "GameKit.framework", true); - //bugly + //wkwebview + project.AddFrameworkToProject(fwTargetGUID, "WebKit.framework", true); + project.AddFrameworkToProject(fwTargetGUID, "SystemConfiguration.framework", true); project.AddFrameworkToProject(fwTargetGUID, "Security.framework", true); project.AddFrameworkToProject(fwTargetGUID, "JavaScriptCore.framework", true); - - //涓夊场sdk - project.AddFrameworkToProject(fwTargetGUID, "StoreKit.framework", true); - //project.AddFrameworkToProject(fwTargetGUID, "SystemConfiguration.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "CFNetwork.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "CoreTelephony.framework", true); - //project.AddFrameworkToProject(fwTargetGUID, "Security.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "CoreMotion.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "UIKit.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "CoreGraphics.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "Foundation.framework", true); - //project.AddFrameworkToProject(fwTargetGUID, "JavaScriptCore.frameWork", true); project.AddFrameworkToProject(fwTargetGUID, "Accelerate.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "SafariServices.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "AuthenticationServices.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "LocalAuthentication.framework", true); - - //appsflyer - project.AddFrameworkToProject(fwTargetGUID, "AdSupport.framework", true); - project.AddFrameworkToProject(fwTargetGUID, "iAd.framework", true); // 澶勭悊 搴撴枃浠� project.AddFileToBuild(fwTargetGUID, project.AddFile("/usr/lib/libz.tbd", "Frameworks/libz.tbd", PBXSourceTree.Sdk)); @@ -77,110 +67,118 @@ //UnityFramework project.AddBuildProperty(fwTargetGUID, "OTHER_LDFLAGS", "-ObjC"); - File.WriteAllText(_projectPath, project.WriteToString()); + } + - //鍔犳帹閫� - //var _capabilityMgr = new ProjectCapabilityManager(_projectPath, "game003.entitlements", PBXProject.GetUnityTargetName()); - //_capabilityMgr.AddInAppPurchase(); - //_capabilityMgr.AddPushNotifications(true); - //_capabilityMgr.WriteToFile(); - - BuildPlist(path); - - if (!s_IsAppend) - { - ModifyFile(path); - } - } private static void BuildPlist(string path) { - string plistPath = path + "/Info.plist"; + string _plistPath = path + "/Info.plist"; - PlistDocument plist = new PlistDocument(); - plist.ReadFromString(File.ReadAllText(plistPath)); + PlistDocument _plist = new PlistDocument(); + _plist.ReadFromString(File.ReadAllText(_plistPath)); - PlistElementDict rootDict = plist.root; - PlistElementDict nsAppTransportSecurity = rootDict.CreateDict("NSAppTransportSecurity"); - PlistElementArray nsURLTypes = rootDict.CreateArray("CFBundleURLTypes"); - nsAppTransportSecurity.SetBoolean("NSAllowsArbitraryLoads", true); - PlistElementDict dict = nsAppTransportSecurity.CreateDict("Exception Domains"); - dict = dict.CreateDict("jpush.cn"); - dict.SetBoolean("NSIncludesSubdomains", true); - dict.SetBoolean("NSExceptionAllowsInsecureHTTPLoads", true); - rootDict.SetString("UIUserInterfaceStyle", "Light"); - rootDict.SetString("FacebookClientToken", "ce69a4858cd3482d9abfa464d19da22e"); - rootDict.SetString("NSPhotoLibraryAddUsageDescription", "璇锋偍鍏佽璁块棶鐩稿唽鏉冮檺"); - rootDict.SetString("NSMicrophoneUsageDescription", "浣跨敤楹﹀厠椋庢潈闄�"); - rootDict.SetString("NSPhotoLibraryAddUsageDescription", "浣跨敤鐩稿唽鏉冮檺,鐢ㄤ互瀛樺偍鎴睆鐨勮处鍙蜂俊鎭�,浠ラ槻蹇樿璐﹀彿瀵嗙爜"); - rootDict.SetString("NSUserTrackingUsageDescription", "璇锋斁蹇冿紝寮�鍚潈闄愪笉浼氳幏鍙栨偍鍦ㄥ叾浠栫珯鐐圭殑闅愮淇℃伅锛岃鏉冮檺浠呯敤浜庢爣璇嗚澶囧苟淇濋殰鏈嶅姟瀹夊叏锛屼互浼樺寲鎴戜滑鐨勬妧鏈湇鍔″拰浣撻獙銆�"); - //google login - var urlTypes = rootDict.CreateArray("CFBundleURLTypes"); - var dic0 = urlTypes.AddDict(); - dic0.SetString("CFBundleTypeRole", "Editor"); - dic0.SetString("CFBundleURLName", ""); - var cfArray0 = dic0.CreateArray("CFBundleURLSchemes"); - cfArray0.AddString("com.sanxiagame.zmjas"); + PlistElementDict _rootDict = _plist.root; + PlistElementDict _nsAppTransportSecurity = _rootDict.CreateDict("NSAppTransportSecurity"); + _nsAppTransportSecurity.SetBoolean("NSAllowsArbitraryLoads", true); + //PlistElementDict _dict = _nsAppTransportSecurity.CreateDict("Exception Domains"); + //_dict = _dict.CreateDict("jpush.cn"); + //_dict.SetBoolean("NSIncludesSubdomains", true); + //_dict.SetBoolean("NSExceptionAllowsInsecureHTTPLoads", true); - var dic1 = urlTypes.AddDict(); - dic1.SetString("CFBundleTypeRole", "Editor"); - dic1.SetString("CFBundleURLName", ""); - var cfArray1 = dic1.CreateArray("CFBundleURLSchemes"); - cfArray1.AddString("com.googleusercontent.apps.468442318367-ocoqrm0kei0gpkrnnq1ql628v4g4dbqd"); + //_rootDict.SetString("NSMicrophoneUsageDescription", "浣跨敤楹ュ厠棰ㄦ瑠闄�"); + //閬婃埐闇�瑕佹偍鐨勭浉鍐婃瑠闄愪締鎴湒淇濆瓨鍓靛缓鐨勭敤鎴惰超铏熸暩鎿� + _rootDict.SetString("NSPhotoLibraryAddUsageDescription", "B岷 ph岷 c岷 quy峄乶 cho album 岷h, 膽峄� ch峄 岷h m脿n h矛nh v脿 l瓢u d峄� cho ng瓢峄漣 d霉ng"); + _rootDict.SetString("NSCameraUsageDescription", "H茫y cho ph茅p quy峄乶 峄﹏g d霉ng 膽峄� truy c岷璸,n岷縰 kh么ng th矛 ch峄ヽ n膬ng s岷� kh么ng kh峄焛 膽峄檔g 膽瓢峄"); + //姝ゆ爣璇嗙灏嗙敤浜庡悜鎮ㄦ帹鑽愪釜鎬у寲骞垮憡 + _rootDict.SetString("NSUserTrackingUsageDescription", "H瓢峄沶g d岷玭 n脿y s岷� xu岷 hi峄噉 qu岷g c谩o c贸 c谩 t铆nh c峄 ri锚ng b岷"); - var dic2 = urlTypes.AddDict(); - dic2.SetString("CFBundleTypeRole", "Editor"); - dic2.SetString("CFBundleURLName", ""); - var cfArray2 = dic2.CreateArray("CFBundleURLSchemes"); - cfArray2.AddString("fb1749518565212194"); + //AF + _rootDict.SetString("AFAppleId", "6496429484"); + _rootDict.SetString("AFKey", "HPHQrNf7mMTa8fzGBBAMFP"); + + _rootDict.SetString("GIDClientID", "314531283387-rnrumgog6859kcqe7tghae1pqf9v7ube.apps.googleusercontent.com"); //facebook - rootDict.SetString("FacebookAppID", "1749518565212194"); - rootDict.SetString("FacebookDisplayName", "閹瓟瑷�"); - var array = rootDict.CreateArray("LSApplicationQueriesSchemes"); - array.AddString("fbapi"); - array.AddString("fbauth2"); + _rootDict.SetString("FacebookAppID", "1579387699444562"); + _rootDict.SetString("FacebookClientToken", "db769297080bb297b56871339b9e88ef"); + _rootDict.SetString("FacebookDisplayName", "Tuy峄噒 Th岷� Ti锚n Gi峄沬"); - File.WriteAllText(plistPath, plist.WriteToString()); + _rootDict.SetBoolean("FacebookAutoLogAppEventsEnabled", true); + _rootDict.SetBoolean("FacebookAdvertiserIDCollectionEnabled", true); + + PlistElementArray nsURLTypes = _rootDict.CreateArray("CFBundleURLTypes"); + var dict0 = nsURLTypes.AddDict(); + dict0.SetString("CFBundleTypeRole", "Editor"); + dict0.SetString("CFBundleURLName", "fb"); + var schemesArray = dict0.CreateArray("CFBundleURLSchemes"); + schemesArray.AddString("fb1579387699444562"); + + + dict0 = nsURLTypes.AddDict(); + dict0.SetString("CFBundleTypeRole", "Editor"); + dict0.SetString("CFBundleURLName", "Google"); + schemesArray = dict0.CreateArray("CFBundleURLSchemes"); + schemesArray.AddString("com.googleusercontent.apps.314531283387-rnrumgog6859kcqe7tghae1pqf9v7ube"); + + var array1 = _rootDict.CreateArray("LSApplicationQueriesSchemes"); + array1.AddString("fbapi"); + array1.AddString("fbapi20130214"); + array1.AddString("fbapi20130410"); + array1.AddString("fbapi20130702"); + array1.AddString("fbapi20131010"); + array1.AddString("fbapi20131219"); + array1.AddString("fbapi20140410"); + array1.AddString("fbapi20140116"); + array1.AddString("fbapi20150313"); + array1.AddString("fbapi20150629"); + array1.AddString("fbapi20160328"); + array1.AddString("fbauth"); + array1.AddString("fb-messenger-share-api"); + array1.AddString("fbauth2"); + array1.AddString("fbshareextension"); + + File.WriteAllText(_plistPath, _plist.WriteToString()); } + + private static void ModifyFile(string projectPath) { - /**淇敼UnityAppController.mm 鏂囦欢**/ - var xclass = new XClass(projectPath + "/Classes/UnityAppController.mm"); - //寮曞叆UniversalSDK - xclass.WriteBelow("#include \"PluginBase/AppDelegateListener.h\"", "#include \"UniversalSDK.h\""); + //淇敼UnityAppController.mm 鏂囦欢 + var _xclass = new XClass(projectPath + "/Classes/UnityAppController.mm"); + //寮曞叆YnmbxxjSDK + _xclass.WriteBelow("#include \"PluginBase/AppDelegateListener.h\"", "#include \"YnmbxxjSDK.h\"" + "\n#import <TUYEFramework/TUYESDK.h>"); //unity浜や簰璋冪敤鐨勬柟娉� string newCode = "\n" + - "extern \"C\" void IOSMessageHandle(const char* jsonString) {\n" + - " [GetAppController().universalSDK HandleUnityMessage:[NSString stringWithUTF8String:jsonString]];\n" + + "extern \"C\" void IOSUniyMessageHandle(const char* jsonString) {\n" + + " [GetAppController().ynmbxxjSDK HandleGameMessage:[NSString stringWithUTF8String:jsonString]];\n" + "}"; - xclass.WriteBelow("extern \"C\" ScreenOrientation UnityCurrentOrientation() { return GetAppController().unityView.contentOrientation; }", newCode); - //鍒濆鍖朥niversalSDK + _xclass.WriteBelow("extern \"C\" ScreenOrientation UnityCurrentOrientation() { return GetAppController().unityView.contentOrientation; }", newCode); + //鍒濆鍖朰nmbxxjSDK newCode = "\n" + - " _universalSDK = [[UniversalSDK alloc] init];\n [_universalSDK QuickSDKInit:application didFinishLaunchingWithOptions:launchOptions];"; - xclass.WriteBelow("[KeyboardDelegate Initialize];", newCode); - - //AF 鐢熷懡鍛ㄦ湡 - xclass.WriteBelow("#import <AVFoundation/AVFoundation.h>", "#import <GMSDK/GMSDK.h>"); - xclass.WriteBelow("[self removeSnapshotViewController];", "[[SXGMSDK shareSDK] applicationDidBecomeActive:application];"); - xclass.WriteBelow("- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options\n{", - "[[SXGMSDK shareSDK] application:app openURL:url options:options];"); - xclass.WriteBelow("NSURL* url = userActivity.webpageURL;", "[[SXGMSDK shareSDK] application:application continueUserActivity:userActivity restorationHandler:restorationHandler];"); - xclass.WriteBelow("- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler\n{", - "[[SXGMSDK shareSDK] application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:handler];"); + " _ynmbxxjSDK = [[YnmbxxjSDK alloc] init];\n [_ynmbxxjSDK YngameSDKInit:application didFinishLaunchingWithOptions:launchOptions];"; + _xclass.WriteBelow("[KeyboardDelegate Initialize];", newCode); + //quick sdk 鐢熷懡鍛ㄦ湡 + _xclass.WriteBelow("- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options\n{", "\n [[TUYESDK sharedGameSDK] application:app openURL:url options:options];"); + _xclass.WriteBelow("::printf(\"-> applicationDidBecomeActive()\\n\");", "[[TUYESDK sharedGameSDK] applicationDidBecomeActive:application];"); + _xclass.WriteBelow("NSURL* url = userActivity.webpageURL;", "\n [[TUYESDK sharedGameSDK] application:application continueUserActivity:userActivity restorationHandler:restorationHandler];\n"); + _xclass.WriteBelow("- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler\n{", "\n [[TUYESDK sharedGameSDK] application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];\n"); - /**淇敼UnityAppController.h 鏂囦欢**/ - xclass = new XClass(projectPath + "/Classes/UnityAppController.h"); - xclass.WriteBelow("@class DisplayConnection;", "@class UniversalSDK;"); - xclass.WriteBelow("DisplayConnection* _mainDisplay;", "UniversalSDK* _universalSDK;"); - xclass.WriteBelow("@property (readonly, copy, nonatomic) DisplayConnection* mainDisplay;", - "@property (readonly, copy, nonatomic) UniversalSDK* universalSDK;"); + + //淇敼UnityAppController.h 鏂囦欢 + _xclass = new XClass(projectPath + "/Classes/UnityAppController.h"); + _xclass.WriteBelow("@class DisplayConnection;", "@class YnmbxxjSDK;"); + _xclass.WriteBelow("DisplayConnection* _mainDisplay;", "YnmbxxjSDK* _ynmbxxjSDK;"); + _xclass.WriteBelow("@property (readonly, copy, nonatomic) DisplayConnection* mainDisplay;", + "@property (readonly, copy, nonatomic) YnmbxxjSDK* ynmbxxjSDK;"); } + + private static string GetBuildPath() { string _buildPath = Application.dataPath + "/../IOS_BUILD"; -- Gitblit v1.8.0