/// <summary> /// Adds a system framework dependency. /// /// The function assumes system frameworks are located in System/Library/Frameworks folder /// in the SDK source tree. The framework is added to Frameworks logical folder in the project. /// </summary> /// <param name="framework">framework configuration object</param> public static void AddFramework(XCodeFramework framework) { foreach (var item in XCodeProjectSettings.Instance.Frameworks) { if (item.FrameworkName == framework.FrameworkName) { XCodeProjectSettings.Instance.Frameworks.Remove(item); break; } } XCodeProjectSettings.Instance.Frameworks.Add(framework); }
static bool IsAvailableOnPlatform(XCodeFramework framework, BuildTarget target) { if (target == BuildTarget.tvOS) { switch (framework.FrameworkName) { case XCodeFrameworkName.MessageUI: case XCodeFrameworkName.Contacts: case XCodeFrameworkName.ContactsUI: case XCodeFrameworkName.Social: case XCodeFrameworkName.Accounts: return(false); } } return(true); }
public void Frameworks() { var framework_icon = EditorAssetDatabase.GetTextureAtPath(XCodeWindowSkin.IconsPath + "frameworks.png"); using (new IMGUIWindowBlockWithIndent(new GUIContent("Frameworks", framework_icon))) { m_IsDefFrameworksOpen = EditorGUILayout.Foldout(m_IsDefFrameworksOpen, "Show Default Unity Frameworks (" + FrameworkHandler.DefaultFrameworks.Count + "Enabled)"); if (m_IsDefFrameworksOpen) { var indentLevel = EditorGUI.indentLevel; EditorGUI.indentLevel = 0; using (new IMGUIBeginHorizontal()) { GUILayout.Space(30); using (new IMGUIBeginVertical(GUI.skin.box)) { foreach (var framework in FrameworkHandler.DefaultFrameworks) { IMGUILayout.SelectableLabel(framework.FrameworkName.ToString() + ".framework", ""); } } } EditorGUI.indentLevel = indentLevel; EditorGUILayout.Space(); } m_IsDefLibrariesOpen = EditorGUILayout.Foldout(m_IsDefLibrariesOpen, "Default Unity Libraries (2 Enabled)"); if (m_IsDefLibrariesOpen) { var indentLevel = EditorGUI.indentLevel; EditorGUI.indentLevel = 0; using (new IMGUIBeginHorizontal()) { GUILayout.Space(30); using (new IMGUIBeginVertical(GUI.skin.box)) { IMGUILayout.SelectableLabel("libiPhone-lib.a", ""); IMGUILayout.SelectableLabel("libiconv.2.dylib", ""); } } EditorGUI.indentLevel = indentLevel; EditorGUILayout.Space(); } //Frameworks List IMGUILayout.ReorderablList(XCodeProjectSettings.Instance.Frameworks, (XCodeFramework framework) => { if (framework.IsOptional && framework.IsEmbeded) { return(framework.FullName + " (Optional & Embeded)"); } else if (framework.IsOptional) { return(framework.FullName + " (Optional)"); } else if (framework.IsEmbeded) { return(framework.FullName + " (Embeded)"); } else { return(framework.FullName); } }, (XCodeFramework framework) => { framework.IsOptional = IMGUILayout.ToggleFiled("Optional", framework.IsOptional, IMGUIToggleStyle.ToggleType.YesNo); framework.IsEmbeded = IMGUILayout.ToggleFiled("Embeded", framework.IsEmbeded, IMGUIToggleStyle.ToggleType.YesNo); } ); //Libraries List IMGUILayout.ReorderablList(XCodeProjectSettings.Instance.Libraries, (XCodeLibrary lib) => { if (lib.IsOptional) { return(lib.FullName + " (Optional)"); } else { return(lib.FullName); } }, (XCodeLibrary lib) => { lib.IsOptional = IMGUILayout.ToggleFiled("Optional", lib.IsOptional, IMGUIToggleStyle.ToggleType.YesNo); } ); //Add New Framework EditorGUILayout.BeginHorizontal(); NewBaseFrameworkIndex = EditorGUILayout.Popup(NewBaseFrameworkIndex, FrameworkHandler.BaseFrameworksArray()); if (GUILayout.Button("Add Framework", EditorStyles.miniButton, GUILayout.Width(100))) { var type = FrameworkHandler.BaseFrameworksArray()[NewBaseFrameworkIndex]; NewBaseFrameworkIndex = 0; var f = new XCodeFramework(type); XCodeProject.AddFramework(f); } EditorGUILayout.EndHorizontal(); //Add New Library EditorGUILayout.BeginHorizontal(); NewLibraryIndex = EditorGUILayout.Popup(NewLibraryIndex, LibraryHandler.BaseLibrariesArray()); if (GUILayout.Button("Add Library", EditorStyles.miniButton, GUILayout.Width(100))) { var type = (XCodeLibraryName)LibraryHandler.EnumValueOf(LibraryHandler.BaseLibrariesArray()[NewLibraryIndex]); NewLibraryIndex = 0; XCodeProject.AddLibrary(type); } EditorGUILayout.EndHorizontal(); } }