-
Notifications
You must be signed in to change notification settings - Fork 2
Managing airgapped ios devices #377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe documentation for device lab management was updated to clarify and expand instructions for managing iOS devices in air-gapped environments. This includes a new page detailing the process for handling iOS devices offline, updates to navigation to reference this page, and enhanced guidance on Developer Disk Image (DDI) handling and Xcode compatibility. Changes
Sequence Diagram(s)sequenceDiagram
participant Admin as System Administrator
participant InternetMac as Internet-Connected Mac
participant Apple as Apple Servers
participant AirGappedMac as Air-Gapped Mac mini
participant Kobiton as Kobiton DeviceConnect
Admin->>InternetMac: Connect iOS device, enable Developer Mode
InternetMac->>Apple: Verify provisioning profiles & certificates
InternetMac->>Apple: Request personalized DDI (iOS 17+)
Apple-->>InternetMac: Return personalized DDI
Admin->>InternetMac: Copy DDI files
Admin->>AirGappedMac: Transfer DDI files
AirGappedMac->>Kobiton: Mount and load DDI offline
Admin->>AirGappedMac: Manage device in air-gapped environment
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Reopened PR of #369 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
docs/modules/device-lab-management/pages/ios-devices/add-ios-device.adoc (1)
174-178
: Conflicting guidance on Xcode version parityLine 174 says the Internet Mac must use the same Xcode version, while the IMPORTANT note immediately below relaxes this to same or greater. Pick one rule to avoid operator confusion.
-Ensure *Xcode* is installed on the Internet Mac. Make sure the Xcode version on the Internet Mac is the same as the air-gapped Mac. +Ensure *Xcode* is installed on the Internet Mac. The Xcode version must be **the same or newer** than the version installed on the air-gapped Mac mini host.
🧹 Nitpick comments (2)
docs/modules/device-lab-management/pages/standalone/managing-airgapped-ios-devices.adoc (2)
19-20
: Use a proper AsciiDoc link for the TSS URLBare URLs do not get auto-linked in Antora/AsciiDoc. Convert it to a link macro to avoid rendering issues.
-For iOS 17+, each device requires a unique, Apple-personalized DDI via a TSS request to Apple servers (https://gs.apple.com/TSS). +For iOS 17 +, each device requires a unique, Apple-personalized DDI obtained via a TSS request to Apple servers (https://gs.apple.com/TSS[TSS]).
25-26
: Avoid hard-coding speculative macOS versions
macOS 15.5
andXcode 16.4
are forward-looking and may date the doc quickly. Consider a generic phrasing or verify the actual minimum versions supported before shipping.-* Prepare a **dedicated, internet-connected macOS host** with supported Xcode (e.g., Xcode 16.4 on macOS 15.5). +* Prepare a **dedicated, internet-connected macOS host** running a version of Xcode that supports the target iOS devices.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/modules/device-lab-management/nav.adoc
(1 hunks)docs/modules/device-lab-management/pages/ios-devices/add-ios-device.adoc
(3 hunks)docs/modules/device-lab-management/pages/standalone/managing-airgapped-ios-devices.adoc
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Test Build
- GitHub Check: publish-docs-test
🔇 Additional comments (1)
docs/modules/device-lab-management/nav.adoc (1)
18-19
: Nav entry looks good – just confirm placementThe new cross-reference renders correctly and the relative path resolves to the new page. No structural or syntax issues detected.
If there is a desired alphabetical or chronological ordering within this section, double-check that adding the new link below
collect-standalone-logs.adoc
matches that convention.
* `/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` or `~/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg`, depending on where Xcode is installed (Xcode 16.3 and later) | ||
|
||
* `/Library/Developer/DeveloperDiskImages` (Xcode 16 and above) | ||
|
||
* `~/Library/Developer/DeveloperDiskImages` (Xcode below 16) | ||
|
||
Copy the 2 files `iOS_DDI-version.plist` and `iOS_DDI.dmg` to the *air-gapped Mac mini* that will host the iOS/iPadOS 17 and later devices. Put the copied file into the following folder on the air-gapped Mac mini: | ||
|
||
* `/Library/Developer/DeveloperDiskImages` if the current Xcode version is 16 or above. | ||
Copy the 2 files `iOS_DDI-version.plist` and `iOS_DDI.dmg` to the same location on the *air-gapped Mac mini* that will host the iOS/iPadOS 17 and later devices. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Disambiguate DDI paths for Xcode 16.x
The current bullet list overlaps (16.3 +
vs 16 +
) and can confuse readers about which path to use.
-* `/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` or `~/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg`, depending on where Xcode is installed (Xcode 16.3 and later)
-* `/Library/Developer/DeveloperDiskImages` (Xcode 16 and above)
+* `/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` or `~/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` – **Xcode 16.3 and newer**
+* `/Library/Developer/DeveloperDiskImages` – **Xcode 16.0 – 16.2**
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* `/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` or `~/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg`, depending on where Xcode is installed (Xcode 16.3 and later) | |
* `/Library/Developer/DeveloperDiskImages` (Xcode 16 and above) | |
* `~/Library/Developer/DeveloperDiskImages` (Xcode below 16) | |
Copy the 2 files `iOS_DDI-version.plist` and `iOS_DDI.dmg` to the *air-gapped Mac mini* that will host the iOS/iPadOS 17 and later devices. Put the copied file into the following folder on the air-gapped Mac mini: | |
* `/Library/Developer/DeveloperDiskImages` if the current Xcode version is 16 or above. | |
Copy the 2 files `iOS_DDI-version.plist` and `iOS_DDI.dmg` to the same location on the *air-gapped Mac mini* that will host the iOS/iPadOS 17 and later devices. | |
* `/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` or `~/Library/Developer/CoreDevice/CandidateDDIs/iOS_DDI.dmg` – **Xcode 16.3 and newer** | |
* `/Library/Developer/DeveloperDiskImages` – **Xcode 16.0 – 16.2** | |
* `~/Library/Developer/DeveloperDiskImages` (Xcode below 16) | |
Copy the 2 files `iOS_DDI-version.plist` and `iOS_DDI.dmg` to the same location on the *air-gapped Mac mini* that will host the iOS/iPadOS 17 and later devices. |
🤖 Prompt for AI Agents
In docs/modules/device-lab-management/pages/ios-devices/add-ios-device.adoc
around lines 199 to 206, the bullet list describing DDI paths for Xcode versions
overlaps between "16.3 and later" and "16 and above," causing confusion. Clarify
the version ranges by explicitly separating paths for Xcode versions below 16,
exactly 16, and 16.3 or later, ensuring each path is uniquely associated with a
specific version range to avoid ambiguity.
Summary
Related PRs, issues, or features (optional)
Metadata
PR contributor checklist
My PR follows the Kobiton Docs contributor guidelines, meaning:
nav.adoc
file.en-us
) from my URLs.Summary by CodeRabbit
New Features
Documentation