Skip to content

Export, upload and notarize Apple builds from Linux and macOS - #360

Open
hyzyla wants to merge 6 commits into
mainfrom
appstore-delivery
Open

hyzyla wants to merge 6 commits into
mainfrom
appstore-delivery

Conversation

@hyzyla

@hyzyla hyzyla commented Nov 15, 2026

Copy link
Copy Markdown
Collaborator

Export signs an archive again for its method, as Xcode does, on Linux as well as macOS: App Store Connect, ad hoc and enterprise IPAs, the Mac App Store package, and Developer ID's app and package, with installer packages written without productbuild. New 'upload' and 'notarize' commands use App Store Connect's REST API with an API key on both hosts, and notarize staples apps, packages and disk images as stapler does. The actool stand-in also compiles watchOS and Messages extension icons as Xcode does, so an app with a watch app and a sticker pack, built and exported entirely on Linux, passes App Store Connect processing.

Export signs an archive again for its method, as Xcode does, on Linux as well as macOS: App Store Connect, ad hoc and enterprise IPAs, the Mac App Store package, and Developer ID's app and package, with the installer packages written without productbuild. New 'upload' and 'notarize' commands use App Store Connect's REST API with an API key on both hosts, and notarize staples the ticket byte for byte as stapler does.
A watch app built on Linux had no icon, and App Store Connect refuses a watch app without one. The stand-in now puts single-size and legacy watch icon sets in Assets.car as Xcode 27's actool does, checked against goldens recorded from it. It also names the car's platform as Xcode does for watchOS, tvOS and visionOS.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant