From 15b9dd9f84507d7f1007dbefb5600be9f1db5e51 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Thu, 31 Dec 2020 20:50:17 +0700 Subject: [PATCH] Fix compile, fix path, auto sign entitlements --- .github/workflows/ios.yml | 18 +++++++----------- .../java/net/kdt/pojavlaunch/PLaunchApp.java | 1 + Natives/JavaLauncher.c | 3 ++- entitlements.xml | 19 +++++++++++++++++++ 4 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 entitlements.xml diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index dcf5d331..b36349cb 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -33,13 +33,8 @@ jobs: cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=ios.toolchain.cmake -DPLATFORM=OS64 -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED="NO" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="" cmake --build . --config Release --target pojavexec PojavLauncher cd ../.. - cp Natives/build/Release-iphoneos/libpojavexec.dylib PojavLauncher.app/Frameworks/ - - - name: Upload built natives - uses: actions/upload-artifact@v2 - with: - name: app - path: Natives/build/Release-iphoneos + mkdir -p Natives/build/Release-iphoneos/PojavLauncher.app/Frameworks + cp Natives/build/Release-iphoneos/libpojavexec.dylib Natives/build/Release-iphoneos/PojavLauncher.app/Frameworks/ - name: Java Build run: | @@ -47,13 +42,14 @@ jobs: chmod +x gradlew ./gradlew clean build cd .. - mkdir PojavLauncher.app/libs - cp JavaApp/build/libs/*.jar PojavLauncher.app/libs + mkdir Natives/build/Release-iphoneos/PojavLauncher.app/libs + cp JavaApp/build/libs/pojavlauncher-1.0.jar Natives/build/Release-iphoneos/PojavLauncher.app/launcher.jar - - name: Package IPA + - name: Sign and Package IPA run: | mkdir Payload - mv PojavLauncher.app Payload/ + mv Natives/build/Release-iphoneos/PojavLauncher.app Payload/ + codesign -fs "PojavLauncher" --entitlements entitlements.xml Payload/PojavLauncher.app/PojavLauncher zip -r PojavLauncher.ipa Payload - name: Upload IPA diff --git a/JavaApp/src/main/java/net/kdt/pojavlaunch/PLaunchApp.java b/JavaApp/src/main/java/net/kdt/pojavlaunch/PLaunchApp.java index 38fa67e8..4ab32da3 100644 --- a/JavaApp/src/main/java/net/kdt/pojavlaunch/PLaunchApp.java +++ b/JavaApp/src/main/java/net/kdt/pojavlaunch/PLaunchApp.java @@ -11,6 +11,7 @@ import org.robovm.apple.uikit.*; import org.robovm.pods.dialog.*; */ import net.kdt.pojavlaunch.prefs.*; +import net.kdt.pojavlaunch.utils.*; import net.kdt.pojavlaunch.value.*; public class PLaunchApp /* extends UIApplicationDelegateAdapter */ { diff --git a/Natives/JavaLauncher.c b/Natives/JavaLauncher.c index 8edf4f9c..0fa387fd 100644 --- a/Natives/JavaLauncher.c +++ b/Natives/JavaLauncher.c @@ -81,8 +81,9 @@ int launchJVM() { fclose(argsFile); } - margc[margv++] = "-jar"; + margc[margv++] = "-cp"; margc[margv++] = main_jar; + margc[margv++] = "net.kdt.pojavlaunch.PLaunchApp"; // Load java void* libjli = dlopen("/usr/lib/jvm/java-16-openjdk/lib/libjli.dylib", RTLD_LAZY | RTLD_GLOBAL); diff --git a/entitlements.xml b/entitlements.xml new file mode 100644 index 00000000..3bb1b980 --- /dev/null +++ b/entitlements.xml @@ -0,0 +1,19 @@ + + + + com.apple.private.security.container-required + + com.apple.security.exception.files.absolute-path.read-write + + / + + platform-application + + com.apple.private.skip-library-validation + + get-task-allow + + dynamic-codesigning + + +