csharp Unity XcodeAPI设置示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp Unity XcodeAPI设置示例相关的知识,希望对你有一定的参考价值。
using System.IO;
using UnityEngine;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using UnityEditor.Callbacks;
using System.Collections;
public class XcodeSettingsPostProcesser
{
[PostProcessBuildAttribute (0)]
public static void OnPostprocessBuild (BuildTarget buildTarget, string pathToBuiltProject)
{
// Stop processing if targe is NOT iOS
if (buildTarget != BuildTarget.iOS)
return;
// Initialize PbxProject
var projectPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject pbxProject = new PBXProject ();
pbxProject.ReadFromFile (projectPath);
string targetGuid = pbxProject.TargetGuidByName ("Unity-iPhone");
// Sample of adding build property
pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-all_load");
// Sample of setting build property
pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
// Sample of update build property
pbxProject.UpdateBuildProperty(targetGuid, "OTHER_LDFLAGS", new string[]{"-ObjC"}, new string[]{"-weak_framework"});
// Sample of adding REQUIRED framwrok
pbxProject.AddFrameworkToProject(targetGuid, "Security.framework", false);
// Sample of adding OPTIONAL framework
pbxProject.AddFrameworkToProject(targetGuid, "SafariServices.framework", true);
// Sample of setting compile flags
var guid = pbxProject.FindFileGuidByProjectPath("Classes/UI/Keyboard.mm");
var flags = pbxProject.GetCompileFlagsForFile(targetGuid, guid);
flags.Add("-fno-objc-arc");
pbxProject.SetCompileFlagsForFile(targetGuid, guid, flags);
// Apply settings
File.WriteAllText (projectPath, pbxProject.WriteToString ());
// Samlpe of editing Info.plist
var plistPath = Path.Combine (pathToBuiltProject, "Info.plist");
var plist = new PlistDocument ();
plist.ReadFromFile (plistPath);
// Add string setting
plist.root.SetString ("hogehogeId", "dummyid");
// Add URL Scheme
var array = plist.root.CreateArray ("CFBundleURLTypes");
var urlDict = array.AddDict ();
urlDict.SetString ("CFBundleURLName", "hogehogeName");
var urlInnerArray = urlDict.CreateArray ("CFBundleURLSchemes");
urlInnerArray.AddString ("hogehogeValue");
// Apply editing settings to Info.plist
plist.WriteToFile (plistPath);
}
}
以上是关于csharp Unity XcodeAPI设置示例的主要内容,如果未能解决你的问题,请参考以下文章
csharp Unity ExposedReference示例
csharp EditorWindow示例来自Unity Asia Bootcamp 12演讲“简化您的Unity编辑器”。基于节点的简单编辑器。
csharp 从Unity生成的.sln文件中剥离设置
csharp Unity3d的简单相机抖动效果,用C#编写。附加到您的相机GameObject。要摇动相机,请将shakeDuration设置为numbe
游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)
游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)