From 501f3a4eec8a1a60a35e676e5862d92437b474fd Mon Sep 17 00:00:00 2001 From: Trebor Huang <2300936257@qq.com> Date: Sat, 31 Jul 2021 16:23:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0OS=20X=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需要CCloader.dylib以及*.icns格式的图标。同时要按照love官网的教程打包游戏为*.app形态,修改Info.plist。 我暂时没有办法让游戏在*.love的形态下加载dylib。但是以文件夹形式可以直接将dylib文件放在根目录;app形式可以放在Framworks处。 我稍后会在 https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper 详细描述得到CCloader.dylib的办法。 --- Zframework/loadLib.lua | 9 +++++++++ parts/ai.lua | 1 + 2 files changed, 10 insertions(+) diff --git a/Zframework/loadLib.lua b/Zframework/loadLib.lua index 7435af69..c2a6ca93 100644 --- a/Zframework/loadLib.lua +++ b/Zframework/loadLib.lua @@ -34,6 +34,15 @@ return function(name,libName) return end return libFunc() + elseif SYSTEM=="OS X" then + local rtn = package.loadlib(libName["OS X"], libName.libFunc) + if rtn then + local a = rtn() + MES.new('check',name.." lib loaded") + return a + else + MES.new('error',"Cannot load "..name) + end else MES.new('error',"No "..name.." for "..SYSTEM) return diff --git a/parts/ai.lua b/parts/ai.lua index 56813f82..1c1519f5 100644 --- a/parts/ai.lua +++ b/parts/ai.lua @@ -11,6 +11,7 @@ local _CC=LOADLIB('CC',{ Windows="CCloader", Linux="CCloader", Android="libCCloader.so", + ["OS X"]="CCloader.dylib", libFunc="luaopen_CCloader", })cc=nil if type(_CC)=='table'then From 25f87cae53bbe3f1ec7ed4aad356b55e5bb810e1 Mon Sep 17 00:00:00 2001 From: Trebor Huang <2300936257@qq.com> Date: Sun, 1 Aug 2021 02:49:28 +0800 Subject: [PATCH 2/3] [no ci] CI for OS X MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 依赖于一个还没上传的模板,还没决定这个要放在哪,所以链接留空。 --- .github/workflows/build.yml | 27 +++++++++++ .github/workflows/updateOSXVersion.py | 66 +++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 .github/workflows/updateOSXVersion.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 106a9214..645b720d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -86,3 +86,30 @@ jobs: with: name: Android path: ${{steps.sign_app.outputs.signedReleaseFile}} + + build-macOS: + runs-on: macos-10.15 + steps: + - uses: actions/checkout@v2 + - name: Pack love + run : zip -r Techmino.love document media parts Zframework conf.lua font.ttf main.lua + + - name: Download template + run: | + curl -OL [[template-link]] + unzip Techmino.app.zip + + - name: Modify template + run: | + python3 .github/workflows/updateOSXVersion.py + mv Techmino.love Techmino.app/Contents/Resources + + - name: Pack Techmino + run: | + zip -r -y Techmino-Packed.app.zip Techmino.app + + - name: Artifact + uses: actions/upload-artifact@v1.0.0 + with: + name: macOS + path: Techmino-Packed.app.zip diff --git a/.github/workflows/updateOSXVersion.py b/.github/workflows/updateOSXVersion.py new file mode 100644 index 00000000..bcab5e94 --- /dev/null +++ b/.github/workflows/updateOSXVersion.py @@ -0,0 +1,66 @@ +import re, datetime +info = r""" + + + + BuildMachineOSBuild + 19B88 + CFBundleDevelopmentRegion + English + CFBundleExecutable + love + CFBundleIconFile + iconfile + CFBundleIdentifier + org.love2d.MrZ.Techmino + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Techmino + CFBundlePackageType + APPL + CFBundleShortVersionString + %s + CFBundleSignature + LoVe + CFBundleSupportedPlatforms + + MacOSX + + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11C504 + DTPlatformVersion + GM + DTSDKBuild + 19B90 + DTSDKName + macosx10.15 + DTXcode + 1130 + DTXcodeBuild + 11C504 + LSApplicationCategoryType + public.app-category.games + LSMinimumSystemVersion + 10.7 + NSHighResolutionCapable + + NSHumanReadableCopyright + ©2020-%d 26F Studio, GNU LGPLv3.0 + NSPrincipalClass + NSApplication + NSSupportsAutomaticGraphicsSwitching + + + +""" + +with open("conf.lua", "r") as file: + data = file.read() +versionCode = re.search("build=(\\d+)", data).group(1) +# versionName = re.search('short="([^"]+)', data).group(1) +print(versionCode) +with open("Techmino.app/Contents/info.plist", "w") as file: + file.write(info % (versionCode, datetime.datetime.today().year)) From 5d2d4eae1789b3a5a3c272be4c1483149c060b9c Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Sun, 1 Aug 2021 11:33:44 +0800 Subject: [PATCH 3/3] Update build.yml add download link, remove blank lines --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 645b720d..d0bd169e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -93,21 +93,17 @@ jobs: - uses: actions/checkout@v2 - name: Pack love run : zip -r Techmino.love document media parts Zframework conf.lua font.ttf main.lua - - name: Download template run: | - curl -OL [[template-link]] + curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.app.zip unzip Techmino.app.zip - - name: Modify template run: | python3 .github/workflows/updateOSXVersion.py mv Techmino.love Techmino.app/Contents/Resources - - name: Pack Techmino run: | zip -r -y Techmino-Packed.app.zip Techmino.app - - name: Artifact uses: actions/upload-artifact@v1.0.0 with: