Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
push:
branches:
- main
- python
pull_request:
workflow_dispatch:

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: CodeQL
on:
push:
branches:
- main
- python
pull_request:
branches:
- main
- python
schedule:
- cron: "23 8 * * 1"
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Dependency review
on:
pull_request:
branches:
- main
- python

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/frozen-macos-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ on:
- "tests/**"
push:
branches:
- main
- python
workflow_dispatch:

permissions:
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/release-macos.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
name: Release macOS applications

# The Python app is released as 0.x from the python branch; 1.x tags belong to the Swift app on main.
on:
push:
tags:
- "v*"
- "v0.*"

permissions:
contents: read
Expand Down Expand Up @@ -87,6 +88,7 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
gh release create "$GITHUB_REF_NAME" release-assets/* \
--title "iOS Developer Toolkit $GITHUB_REF_NAME" \
--title "iOS Developer Toolkit $GITHUB_REF_NAME (Python)" \
--latest=false \
--generate-notes \
--notes "Native Apple Silicon and Intel macOS application bundles with CycloneDX SBOMs and GitHub build-provenance/SBOM attestations. Both builds are ad-hoc signed and are not Apple-notarized. Verify SHA256SUMS.txt and the GitHub attestation before opening."
--notes "Python/PySide6 app (0.x line, branch python). The native Swift app is the 1.x line. Native Apple Silicon and Intel macOS application bundles with CycloneDX SBOMs and GitHub build-provenance/SBOM attestations. Both builds are ad-hoc signed and are not Apple-notarized. Verify SHA256SUMS.txt and the GitHub attestation before opening."
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@
### iOS Developer Toolkit: a guided pymobiledevice3 GUI, Developer Disk Image mounter, and evidence workbench for macOS

[![CI](https://github.com/hideouts-io/iOS-Developer-Toolkit/actions/workflows/ci.yml/badge.svg)](https://github.com/hideouts-io/iOS-Developer-Toolkit/actions/workflows/ci.yml)
[![Latest release](https://img.shields.io/github/v/release/hideouts-io/iOS-Developer-Toolkit?display_name=tag)](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases/latest)
[![Latest Python release](https://img.shields.io/github/v/release/hideouts-io/iOS-Developer-Toolkit?display_name=tag&filter=v0.*&label=python%20release)](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases?q=v0.&expanded=true)
![Platform](https://img.shields.io/badge/platform-macOS-000000?logo=apple&logoColor=white)
![Devices](https://img.shields.io/badge/device-iPhone%20%7C%20iPad-0969da)
![Python](https://img.shields.io/badge/Python-3.10%2B-3776ab?logo=python&logoColor=white)
![GUI](https://img.shields.io/badge/GUI-PySide6-41cd52)
![pymobiledevice3](https://img.shields.io/badge/pymobiledevice3-11.15.1-8250df)
[![License](https://img.shields.io/badge/license-MIT-2da44e)](LICENSE)

> **Two apps, one repository.** This is the **Python/PySide6 app (0.x)**, developed on the
> [`python`](https://github.com/hideouts-io/iOS-Developer-Toolkit/tree/python) branch and released as
> `v0.x`. The **native Swift app (1.x)** is on
> [`main`](https://github.com/hideouts-io/iOS-Developer-Toolkit) and needs no Python or
> `pymobiledevice3`. Both are maintained; workspace profiles exported here can be imported into 1.x.

> **Scope:** iOS Developer Toolkit is a macOS front end for authorized Apple-device development, diagnostics, testing, backup, and evidence-preservation workflows. It does not jailbreak iOS, bypass a passcode, disable the sandbox, defeat code signing, decrypt protected traffic, or provide unrestricted filesystem access.

![iOS Developer Toolkit Home workspace](docs/screenshots/home.png)
Expand Down Expand Up @@ -263,7 +269,7 @@ Check the Mac architecture before downloading:
uname -m
```

Download the matching ZIP and `SHA256SUMS.txt` from the [latest release page](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases/latest) and place them in the same directory. Verify only the archive for the current Mac; the manifest contains entries for both architectures, so checking the complete manifest after downloading only one ZIP would correctly report the other archive as missing.
Download the matching ZIP and `SHA256SUMS.txt` from the [latest 0.x release](https://github.com/hideouts-io/iOS-Developer-Toolkit/releases?q=v0.&expanded=true) and place them in the same directory. Verify only the archive for the current Mac; the manifest contains entries for both architectures, so checking the complete manifest after downloading only one ZIP would correctly report the other archive as missing.

```bash
toolkit_arch="$(uname -m)"
Expand Down
Loading