1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
- *
- * You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
- * copy, modify, and distribute this software in source code or binary form for use
- * in connection with the web services and APIs provided by Facebook.
- *
- * As with any software that integrates with the Facebook platform, your use of
- * this software is subject to the Facebook Developer Principles and Policies
- * [http://developers.facebook.com/policy/]. This copyright notice shall be
- * included in all copies or substantial portions of the software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
- using System.IO;
- using UnityEngine;
- using UnityEditor;
- #if UNITY_IOS
- using UnityEditor.Build.Reporting;
- using UnityEditor.iOS.Xcode;
- #endif
- using UnityEditor.Callbacks;
- namespace Facebook.Unity.PostProcess
- {
- /// <summary>
- /// Automatically disables Bitcode on iOS builds
- /// </summary>
- public static class DisableBitcode
- {
- [PostProcessBuildAttribute(999)]
- public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuildProject)
- {
- #if UNITY_IOS
- if (buildTarget != BuildTarget.iOS) return;
- string projectPath = pathToBuildProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
- PBXProject pbxProject = new PBXProject();
- pbxProject.ReadFromFile(projectPath);
- //Disabling Bitcode on all targets
- //Main
- string target = pbxProject.GetUnityMainTargetGuid();
- pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
- //Unity Tests
- target = pbxProject.TargetGuidByName(PBXProject.GetUnityTestTargetName());
- pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
- //Unity Framework
- target = pbxProject.GetUnityFrameworkTargetGuid();
- pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
- pbxProject.WriteToFile(projectPath);
- #endif
- }
- }
- }
|