diff --git a/README.md b/README.md index d199df52..67e2ecc8 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ right from it. [Support](https://meowdisplay.app/support.html) ยท [Privacy](https://meowdisplay.app/privacy.html) -Download on the App Store +**[Download for Mac](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg)** ยท Download on the App Store
@@ -34,11 +34,10 @@ you control, with devices paired and every session encrypted. No MeowDisplay account is required, and there is no MeowDisplay-hosted relay or server in the middle. -**MeowDisplay for iPhone and iPad is free on the [App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864)** -(iOS/iPadOS 16.4 or later). It works with the MeowDisplay Mac app (macOS 14 -or later), which is currently available only by -[building it from source](#build-from-source): there is no signed, notarized -Mac download yet. +**Get MeowDisplay:** the [Mac app](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg) (macOS 14 or later; signed and +notarized, from [GitHub Releases](https://github.com/raiseCatError/meowdisplay/releases/tag/v1.20.0)) and +[MeowDisplay for iPhone and iPad on the App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864) (iOS/iPadOS 16.4 or +later). Both are free. ## At a glance @@ -345,7 +344,8 @@ More in [SECURITY.md](SECURITY.md) and the ## Getting started -1. Build and run MeowDisplay on your Mac ([Build from source](#build-from-source)). +1. [Download MeowDisplay for Mac](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg), open the DMG, drag MeowDisplay to + Applications and open it. 2. Install [MeowDisplay from the App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864) on your iPhone or iPad and open it. 3. Connect over USB or Wi-Fi, and pair the devices by confirming the matching @@ -368,10 +368,9 @@ echo "DEVELOPMENT_TEAM=YOURTEAMID" > .env ``` Open `MeowDisplay.xcodeproj` and run the `OpenSidecarMac` scheme for the Mac -app. The [`release/app-store-rc`](https://github.com/raiseCatError/meowdisplay/tree/release/app-store-rc) branch matches the App Store -version (1.20.0). The iPhone/iPad receiver is on the -[App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864); to build it yourself instead, run the `OpenSidecariOS` -scheme. Signing, permissions and +app, or `OpenSidecariOS` for the iPhone/iPad receiver. The released 1.20.0 +apps (Mac download and App Store) were built from +[`release/app-store-rc`](https://github.com/raiseCatError/meowdisplay/tree/release/app-store-rc). Signing, permissions and troubleshooting are in [SETUP.md](SETUP.md); release process in [RELEASE.md](RELEASE.md). diff --git a/RELEASE.md b/RELEASE.md index 96b26256..9309b575 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -86,11 +86,14 @@ a higher build number). ## Required secrets -None are currently configured on this fork. Exact inventory (see the -release-audit issue for the full table): `DEVELOPMENT_TEAM`, -`MATCH_GIT_URL`, `MATCH_DEPLOY_KEY`, `MATCH_PASSWORD`, -`APP_STORE_CONNECT_KEY_ID`, `APP_STORE_CONNECT_ISSUER_ID`, -`APP_STORE_CONNECT_KEY_CONTENT`, and optionally `SPARKLE_PRIVATE_KEY`. +Required: `DEVELOPMENT_TEAM`, `MATCH_GIT_URL`, `MATCH_DEPLOY_KEY`, +`MATCH_PASSWORD`, `APP_STORE_CONNECT_KEY_ID`, `APP_STORE_CONNECT_ISSUER_ID`, +`APP_STORE_CONNECT_KEY_CONTENT`, and `SPARKLE_PRIVATE_KEY`. + +As of 2026-10-25 the fork has `DEVELOPMENT_TEAM`, `MATCH_GIT_URL`, +`MATCH_DEPLOY_KEY` and `SPARKLE_PRIVATE_KEY`. `MATCH_PASSWORD` and the three +`APP_STORE_CONNECT_*` secrets are missing, and the match repository holds no +Developer ID certificate yet, so `build-mac` cannot sign or notarize in CI. ## Verification @@ -106,6 +109,35 @@ Once a release build exists: does not accept a build that uses a required-reason API no manifest declares. +## 1.20.0 Mac release (built locally) + +The first MeowDisplay Mac release, `v1.20.0`, was not built by CI (see +[Required secrets](#required-secrets)). It was produced on a Mac signed in to +the team's Apple account, from `release/app-store-rc` @ `cbbad7f` (the source +of App Store 1.20.0), with the same pieces CI uses: + +1. `DEVELOPMENT_TEAM= xcodegen generate` from the tracked `project.yml`. +2. `xcodebuild archive` (Release) for `OpenSidecarMac` and + `OpenSidecarMacReceiver`, with `MARKETING_VERSION=1.20.0` and + `CURRENT_PROJECT_VERSION=1`. +3. `xcodebuild -exportArchive` with `method` `developer-id`, `destination` + `upload` and automatic signing: Xcode signs with the team's cloud-managed + Developer ID Application certificate and submits to Apple's notary + service; `xcodebuild -exportNotarizedApp` returns the stapled app. +4. The DMG step from the Fastfile (`hdiutil`, UDZO, Applications link). The + DMG container itself is not code-signed or notarized: the cloud-managed + certificate cannot `codesign` arbitrary files and there were no + `notarytool` credentials. Gatekeeper accepts the stapled app inside + (`spctl`: Notarized Developer ID), and a quarantined copy of the DMG + mounts normally. +5. Appcasts from `generate_appcast`/`sign_update` with the Sparkle key in the + login keychain (account `meowdisplay`), uploaded to the release. + +To return to the documented CI path, create an App Store Connect API key +and a Developer ID Application certificate whose private key can be +exported into match, then add `MATCH_PASSWORD` and the +`APP_STORE_CONNECT_*` secrets. + ## Rollback / recovery - A GitHub Release is just tagged, uploaded artifacts โ€” a bad release can be diff --git a/SETUP.md b/SETUP.md index 5113fd39..3a80fdc4 100644 --- a/SETUP.md +++ b/SETUP.md @@ -12,8 +12,9 @@ current capabilities. - [`xcodegen`](https://github.com/yonaskolb/XcodeGen) โ€” `brew install xcodegen`. - A free or paid Apple Developer account, to sign the Mac build and, if you build it yourself, the iOS build for your device (a free account is enough - for local sideloading). The iPhone/iPad receiver is also available from the - [App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864), which needs no signing. + for local sideloading). To just use MeowDisplay, skip building: download the + [Mac app](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg) and get the iPhone/iPad receiver from the + [App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864). ## Clone diff --git a/launch/APP_STORE_LAUNCH.md b/launch/APP_STORE_LAUNCH.md index b603137e..b9d31606 100644 --- a/launch/APP_STORE_LAUNCH.md +++ b/launch/APP_STORE_LAUNCH.md @@ -1,11 +1,15 @@ -# MeowDisplay is now on the App Store +# MeowDisplay is now available *October 25, 2026* **Your Mac. Another screen. Anywhere.** -MeowDisplay for iPhone and iPad is now available, free, on the App Store: - +MeowDisplay is out: the iPhone and iPad app is free on the App Store, and the +Mac app is a free, signed and notarized download. + +- **Mac:** [Download MeowDisplay for Mac](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg) + ([release notes and checksums](https://github.com/raiseCatError/meowdisplay/releases/tag/v1.20.0)) +- **iPhone and iPad:** [MeowDisplay on the App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864) MeowDisplay turns your iPhone or iPad into a mirrored or extended display for your Mac, and lets you control the Mac from it: Direct Touch, a trackpad-style @@ -21,16 +25,16 @@ Free and open source. No MeowDisplay account required. | | | |---|---| +| **Mac** | macOS 14 or later, Apple silicon or Intel. [MeowDisplay.dmg](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg), free | | **iPhone or iPad** | iOS or iPadOS 16.4 or later. [MeowDisplay on the App Store](https://apps.apple.com/us/app/meowdisplay/id6817552864), free | -| **Mac** | macOS 14 or later, running the MeowDisplay Mac app | -**The Mac app is not on the App Store and has no signed download yet.** For now -you build it from source with Xcode (a free Apple account is enough to sign -it). The [`release/app-store-rc`](https://github.com/raiseCatError/meowdisplay/tree/release/app-store-rc) -branch matches App Store version 1.20.0. Setup: -. A signed, notarized Mac download will -follow through the project's release workflow; this note will be updated when -it exists. +Open the DMG, drag MeowDisplay to Applications, and open it. Then open +MeowDisplay on your iPhone or iPad, connect, and confirm the pairing code. +Setup guide: + +Want to use a spare Mac as a display instead? The optional +[MeowDisplay Receiver](https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplayReceiver.dmg) +(macOS 12 or later) is on the same release. ## Good to know @@ -41,7 +45,7 @@ it exists. - Controlling the Mac needs Accessibility permission, **Allow Input** turned on, and a control request from the device each session. Connecting alone never grants control. -- The app is in English for now. +- The apps are in English for now. ## Thank you, OpenDisplay @@ -52,9 +56,9 @@ open source under GPL-3.0. ## Links +- Mac download: - App Store: - Website: - Setup: -- Features: - Support: - Source: diff --git a/launch/SOCIAL_POSTS.md b/launch/SOCIAL_POSTS.md index 352d46ff..7cd62724 100644 --- a/launch/SOCIAL_POSTS.md +++ b/launch/SOCIAL_POSTS.md @@ -1,35 +1,36 @@ # Launch posts: drafts, not posted -Ready-to-publish copy for the App Store launch of MeowDisplay for iPhone and -iPad (October 25, 2026). Nothing here has been posted. - -Every post must keep the Mac caveat: the iPhone/iPad app is on the App Store, -but the Mac app currently has to be built from source. Once a signed Mac -download exists, update the posts (and swap "build it from source" for the -download link) before reusing them. +Ready-to-publish copy for the MeowDisplay launch (October 25, 2026): the +iPhone/iPad app on the App Store and the Mac app as a signed, notarized +download. Nothing here has been posted. Verified links: +- Website (download buttons for both apps): https://meowdisplay.app/ +- Mac download: https://github.com/raiseCatError/meowdisplay/releases/latest/download/MeowDisplay.dmg - App Store: https://apps.apple.com/us/app/meowdisplay/id6817552864 -- Website: https://meowdisplay.app/ - Setup: https://meowdisplay.app/docs - Source: https://github.com/raiseCatError/meowdisplay +Prefer linking https://meowdisplay.app/ in posts: it has both downloads, and a +bare DMG link starts a download without context. + --- ## X / Twitter -> MeowDisplay is on the App Store ๐Ÿˆ +> MeowDisplay is out ๐Ÿˆ > -> It turns your iPhone or iPad into a second display for your Mac: mirror or extend, then control it with touch, trackpad gestures and a keyboard. USB or Wi-Fi. Free, open source, no account. +> Turn your iPhone or iPad into a second display for your Mac: mirror or extend, then control it with touch, trackpad gestures and a keyboard. USB or Wi-Fi. Free, open source, no account. > -> https://apps.apple.com/us/app/meowdisplay/id6817552864 +> Mac app + App Store: https://meowdisplay.app Reply to the first post: -> Heads up: the Mac side isn't a one-click download yet, you build it from source for now (signed build coming). Setup: https://meowdisplay.app/docs +> iPhone/iPad: https://apps.apple.com/us/app/meowdisplay/id6817552864 +> Code: https://github.com/raiseCatError/meowdisplay > -> Built on the great OpenDisplay project. Code: https://github.com/raiseCatError/meowdisplay +> Built on the great OpenDisplay project. --- @@ -39,11 +40,11 @@ Check each subreddit's self-promotion rules first (r/macapps, r/iOSProgramming Saturday showcase, r/opensource). Post to one or two communities, not all at once, and stay in the thread to answer questions. -**Title:** I made MeowDisplay, a free and open-source app that turns your iPhone or iPad into a display for your Mac. The iPhone/iPad app just landed on the App Store +**Title:** I made MeowDisplay, a free and open-source app that turns your iPhone or iPad into a display for your Mac **Body:** -> Hi! MeowDisplay turns an iPhone or iPad into a mirrored or extended display for a Mac, and lets you control the Mac from it. +> Hi! MeowDisplay turns an iPhone or iPad into a mirrored or extended display for a Mac, and lets you control the Mac from it. The iPhone/iPad app is on the App Store and the Mac app is a signed, notarized download. > > **What it does** > @@ -55,15 +56,14 @@ once, and stay in the thread to answer questions. > > **Limitations, honestly** > -> - The iPhone/iPad app is on the App Store, but **the Mac app has no signed download yet**. Right now you build it from source with Xcode (a free Apple account works). A notarized build is next. > - Mac-to-iPhone is the most-tested setup; iPad and using another Mac as a receiver need more real-hardware testing. > - Controlling the Mac needs Accessibility permission, and every session starts with input off until you allow it. -> - English only for now. +> - macOS 14+ for the Mac app, iOS/iPadOS 16.4+ for the receiver. English only for now. > > **Credit:** MeowDisplay started as a fork of OpenDisplay by Philip Poloczek (https://github.com/peetzweg/opendisplay), which provided the capture/virtual display/encoding foundation. Most of my work since has been on input, gestures, trays, pairing/security, Remote Access and polish. GPL-3.0. > +> - Website and Mac download: https://meowdisplay.app/ > - App Store (free): https://apps.apple.com/us/app/meowdisplay/id6817552864 -> - Setup: https://meowdisplay.app/docs > - Source: https://github.com/raiseCatError/meowdisplay > > Feedback and bug reports are very welcome, especially from iPad and multi-display setups. @@ -72,16 +72,16 @@ once, and stay in the thread to answer questions. ## LinkedIn -> MeowDisplay is now on the App Store. +> MeowDisplay is out. > > It's a free, open-source app I've been building that turns an iPhone or iPad into a mirrored or extended display for a Mac, and lets you control the Mac from it with touch, trackpad gestures, a keyboard and Apple Pencil, over USB or Wi-Fi. > > A few things I cared about along the way: no account, no server in the middle, devices paired with a matching code and every session encrypted. And keeping it open source, building on the excellent OpenDisplay project by Philip Poloczek. > -> The iPhone and iPad app is available today. The Mac companion is built from source for now, with a signed download on the way. +> The iPhone and iPad app is on the App Store, and the Mac app is a free download. > -> App Store: https://apps.apple.com/us/app/meowdisplay/id6817552864 -> Website and setup: https://meowdisplay.app/ ๐Ÿพ +> Website and Mac download: https://meowdisplay.app/ +> App Store: https://apps.apple.com/us/app/meowdisplay/id6817552864 ๐Ÿพ --- @@ -91,16 +91,16 @@ once, and stay in the thread to answer questions. > Your Mac. Another screen. Anywhere. ๐Ÿˆ > -> MeowDisplay is now on the App Store: turn your iPhone or iPad into a display for your Mac, and control it with touch, gestures and a keyboard. +> MeowDisplay is out: turn your iPhone or iPad into a display for your Mac, and control it with touch, gestures and a keyboard. > > Free and open source. No account. -> iPhone/iPad app on the App Store; the Mac app is built from source for now. Link in bio โ†’ meowdisplay.app +> Get the Mac app and the iPhone/iPad app: link in bio โ†’ meowdisplay.app > > #MeowDisplay #Mac #iPad #iPhone #OpenSource #IndieDev **Story text (one frame each):** -1. MeowDisplay is on the App Store ๐Ÿพ +1. MeowDisplay is out ๐Ÿพ 2. Your iPhone or iPad โ†’ a display for your Mac 3. Free ยท open source ยท no account -4. Link: meowdisplay.app (sticker โ†’ https://apps.apple.com/us/app/meowdisplay/id6817552864) +4. Link: meowdisplay.app (sticker โ†’ https://meowdisplay.app/)