AppBox is rewritten in Swift and SwiftUI, and now ships a command-line tool alongside the app. Requires macOS 15 Sequoia or later.
Changed
- Rewritten in Swift and SwiftUI. No Objective-C left. Business logic moved into a UI-free
AppBoxCorepackage shared by the app and the CLI. - Redesigned dashboard. Every build in one place with bundle ID, version, build type, team and short URL, plus one-click Open, Copy Link, QR Code, Show in Finder and Show in Dropbox.
- Reworked preferences: Upload, email, webhook and CLI settings.
- Third-party dependencies cut to two (SwiftyDropbox and ZIPFoundation), both via Swift Package Manager. AFNetworking, SAMKeychain, ZXingObjC, CocoaLumberjack, SSZipArchive, Sparkle and CocoaPods are all gone, replaced by URLSession, the Security framework, Core Image,
os.Loggerand Network.framework. - IPA file size is now read from file attributes instead of loading the whole build into memory.
- Set AppBox as the default app for
.ipafiles, so double-clicking a build opens it ready to upload (Preferences › General). - Update notifications that match how you installed AppBox.
brew upgrade --cask appboxfor Homebrew, or the install script otherwise. - A DMG is now published with every release, so a direct download is the usual drag-to-Applications install.
CLI
appboxcli, a command-line tool. Upload and manage builds from your terminal or CI. Install it in one click from Preferences › General.appboxcli upload --ipa <path>: upload a build and print its install link (the default subcommand, so the oldappboxcli --ipa …form still works)--emails,--message,--keepsamelink,--dbfoldersame options as the applogin,logout,whoami,space: manage the Dropbox account without leaving the terminallist: your upload history, newest firstdelete [--dashboard-only]: remove a build from Dropbox and the dashboard- The CLI and the app share one Dropbox session and one history store.
Fixed
- QR codes render correctly in both light and dark appearance.
appboxcliexits with the app's real exit code instead of always reporting success.- Several memory leaks, including notification observers that were never removed.
- Crashes and hangs from unsafe threading: shared state is accessed atomically, the Dropbox manager is no longer a thread-unsafe singleton, and UI updates always happen on the main thread.
Security
- HTTPS is enforced. The legacy App Transport Security exception that allowed arbitrary loads has been removed.
- Webhook URLs and email addresses are validated before use, in both the app and the CLI.
- Sensitive CLI argument values are no longer written to logs.
- Keychain items are properly deleted when you sign out.
Full Changelog: 3.6.0...4.0.0