mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 10:29:58 +02:00
Add a second macOS shipping channel alongside the App Store build: - New VniDropDirect target (Release-Direct config) sharing VniDrop's sources via an AppBase target template; links Sparkle behind the DIRECT_DISTRIBUTION flag so the App Store binary never bundles a self-updater. arm64-only (core is arm64). - Sparkle updater (SparkleUpdater.swift) + "Check for Updates" menu, compiled only under DIRECT_DISTRIBUTION; Info.plist SUFeedURL points at the GitHub Release /latest/download/appcast.xml, non-sandboxed entitlements for Developer ID. - build-dmg.sh (archive → Developer ID export → DMG → sign → notarize → staple), generate-appcast.sh, and ExportOptions-DeveloperID.plist. - apple-release.yml: on tag v*.*.*, build/notarize the DMG, publish the GitHub Release with appcast, and push the Homebrew cask to sudosylabs/homebrew-vnidrop. apple.yml gains a PR compile-check of the direct target. - CFBundleVersion is stamped at build time as a UTC YYMMDD.HHMM timestamp for both channels, replacing the hand-maintained build number. - Docs (RELEASE-MACOS.md, README), cask template + tap README, localized updates_check string, Makefile targets, gitignore for dist/ artifacts.
20 lines
867 B
Plaintext
20 lines
867 B
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||
<plist version="1.0">
|
||
<!-- Export options for the direct-download (Developer ID) macOS build consumed by
|
||
`xcodebuild -exportArchive` in build-dmg.sh. This produces a Developer
|
||
ID–signed, hardened-runtime .app suitable for notarization and distribution
|
||
outside the Mac App Store. The App Store build uses a different flow entirely. -->
|
||
<dict>
|
||
<key>method</key>
|
||
<string>developer-id</string>
|
||
<key>signingStyle</key>
|
||
<string>manual</string>
|
||
<!-- Xcode manages the Developer ID Application certificate lookup from the
|
||
keychain; the hardened runtime is enabled via ENABLE_HARDENED_RUNTIME in the
|
||
VniDropDirect target. -->
|
||
<key>teamID</key>
|
||
<string>${DEVELOPMENT_TEAM}</string>
|
||
</dict>
|
||
</plist>
|