瀏覽代碼

Sign iOS dylibs before packaging

These changes allow to open the exported project in XCode and Run it
immediately to begin debugging. Before these changes you'd have to
sign GDNative libs and change Build Configuration manually.
Ruslan Mustakov 8 年之前
父節點
當前提交
011d997840

+ 5 - 5
misc/dist/ios_xcode/godot_ios.xcodeproj/xcshareddata/xcschemes/godot_ios.xcscheme

@@ -23,7 +23,7 @@
       </BuildActionEntries>
    </BuildAction>
    <TestAction
-      buildConfiguration = "Development"
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
@@ -42,7 +42,7 @@
       </AdditionalOptions>
    </TestAction>
    <LaunchAction
-      buildConfiguration = "Development"
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       launchStyle = "0"
@@ -67,7 +67,7 @@
       </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
-      buildConfiguration = "Development"
+      buildConfiguration = "Debug"
       shouldUseLaunchSchemeArgsEnv = "YES"
       savedToolIdentifier = ""
       useCustomWorkingDirectory = "NO"
@@ -84,10 +84,10 @@
       </BuildableProductRunnable>
    </ProfileAction>
    <AnalyzeAction
-      buildConfiguration = "Development">
+      buildConfiguration = "Debug">
    </AnalyzeAction>
    <ArchiveAction
-      buildConfiguration = "Development"
+      buildConfiguration = "Debug"
       revealArchiveInOrganizer = "YES">
    </ArchiveAction>
 </Scheme>

+ 9 - 9
platform/iphone/export/export.cpp

@@ -592,7 +592,15 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p
 		return err;
 
 #ifdef OSX_ENABLED
-	ep.step("Making .xcarchive", 2);
+	ep.step("Code-signing dylibs", 2);
+	DirAccess *dylibs_dir = DirAccess::open(dest_dir + "dylibs");
+	ERR_FAIL_COND_V(!dylibs_dir, ERR_CANT_OPEN);
+	CodesignData codesign_data(p_preset, p_debug);
+	err = _walk_dir_recursive(dylibs_dir, _codesign, &codesign_data);
+	memdelete(dylibs_dir);
+	ERR_FAIL_COND_V(err, err);
+
+	ep.step("Making .xcarchive", 3);
 	String archive_path = p_path.get_basename() + ".xcarchive";
 	List<String> archive_args;
 	archive_args.push_back("-project");
@@ -611,14 +619,6 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p
 	err = OS::get_singleton()->execute("xcodebuild", archive_args, true);
 	ERR_FAIL_COND_V(err, err);
 
-	ep.step("Code-signing dylibs", 3);
-	DirAccess *dylibs_dir = DirAccess::open(archive_path + "/Products/Applications/" + binary_name + ".app/dylibs");
-	ERR_FAIL_COND_V(!dylibs_dir, ERR_CANT_OPEN);
-	CodesignData codesign_data(p_preset, p_debug);
-	err = _walk_dir_recursive(dylibs_dir, _codesign, &codesign_data);
-	memdelete(dylibs_dir);
-	ERR_FAIL_COND_V(err, err);
-
 	ep.step("Making .ipa", 4);
 	List<String> export_args;
 	export_args.push_back("-exportArchive");