diff --git a/.github/workflows/mas.yml b/.github/workflows/mas.yml index d6f4832..cb000a1 100644 --- a/.github/workflows/mas.yml +++ b/.github/workflows/mas.yml @@ -26,7 +26,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-11] + os: [ macos-11 ] # create steps steps: @@ -52,6 +52,7 @@ jobs: run: | yarn yarn global add xvfb-maybe + npm rebuild --platform=darwin --arch=arm64 sharp - name: Build & release app run: | diff --git a/.gitignore b/.gitignore index 1660afc..6171b6d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ dist/web/* build/* !build/icons !build/installer.nsh +!build/*.plist coverage node_modules/ npm-debug.log diff --git a/build/entitlements.mas.inherit.plist b/build/entitlements.mas.inherit.plist new file mode 100644 index 0000000..ab867b6 --- /dev/null +++ b/build/entitlements.mas.inherit.plist @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.inherit + + + \ No newline at end of file diff --git a/build/entitlements.mas.loginhelper.plist b/build/entitlements.mas.loginhelper.plist new file mode 100644 index 0000000..d2d6dec --- /dev/null +++ b/build/entitlements.mas.loginhelper.plist @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + \ No newline at end of file diff --git a/build/entitlements.mas.plist b/build/entitlements.mas.plist new file mode 100644 index 0000000..2479d4e --- /dev/null +++ b/build/entitlements.mas.plist @@ -0,0 +1,28 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.application-groups + + GDW4YTJP22.com.kuingsmile.piclist + + com.apple.security.files.user-selected.read-write + + com.apple.security.files.bookmarks.app-scope + + com.apple.security.network.client + + com.apple.security.print + + com.apple.security.device.camera + + com.apple.security.device.microphone + + com.apple.security.device.usb + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 8546882..efd0325 100644 --- a/vue.config.js +++ b/vue.config.js @@ -67,18 +67,30 @@ const config = { }, mac: { icon: 'build/icons/icon.icns', + hardenedRuntime: true, + entitlements: 'build/entitlements.mas.plist', + entitlementsInherit: 'build/entitlements.mas.inherit.plist', + provisioningProfile: 'build/piclistmass.provisionprofile', extendInfo: { LSUIElement: 1 }, target: [{ - target: 'dmg', + target: 'mas', arch: [ - 'x64', - 'arm64' + 'universal' ] }], // eslint-disable-next-line no-template-curly-in-string - artifactName: 'PicList-${version}-${arch}.dmg' + artifactName: 'PicList-${version}-${arch}.${ext}' + }, + mas: { + type: 'distribution', + icon: 'build/icons/icon.icns', + hardenedRuntime: true, + entitlements: 'build/entitlements.mas.plist', + entitlementsInherit: 'build/entitlements.mas.inherit.plist', + provisioningProfile: 'build/piclistmass.provisionprofile', + entitlementsLoginHelper: "build/entitlements.mas.loginhelper.plist" }, win: { icon: 'build/icons/icon.ico',