chore(screenshots): use iPhone 18 Pro Max and iOS 27.1
This commit is contained in:
1 parent
6a84ab04b4
commit
bb1a15ed0d
3 files changed
+12
-12
No files matched your search
@@ -71,7 +71,7 @@ matrix without building or opening windows:
|
||||
```sh
|
||||
bundle exec fastlane mac screenshots scenes:agent locales:zh-Hant
|
||||
bundle exec fastlane ios screenshots scenes:ssh,sftp devices:ipad locales:zh-Hans,zh-Hant
|
||||
bundle exec fastlane ios screenshots devices:ipad runtime:com.apple.CoreSimulator.SimRuntime.iOS-27-0
|
||||
bundle exec fastlane ios screenshots devices:ipad runtime:com.apple.CoreSimulator.SimRuntime.iOS-27-1
|
||||
bundle exec fastlane ios screenshots plan:true
|
||||
```
|
||||
|
||||
@@ -95,19 +95,19 @@ the downstream workflow described below.
|
||||
produces Command Generator, and `agent` produces Assistant. Metrics detail is a
|
||||
development demo only; do not retain its captures as marketing assets.
|
||||
|
||||
The mobile lane requires iOS/iPadOS 27 and defaults to the 27.0 runtime.
|
||||
The mobile lane requires iOS/iPadOS 27 and defaults to the 27.1 runtime.
|
||||
It checks both the simulator model identifier and the raw pixel dimensions:
|
||||
|
||||
| Selector | Capture device | Native capture size |
|
||||
| --- | --- | --- |
|
||||
| `iphone` | iPhone 17 Pro Max (6.9-inch), portrait | 1320×2868 |
|
||||
| `iphone` | iPhone 18 Pro Max (6.9-inch), portrait | 1320×2868 |
|
||||
| `ipad` | iPad Pro 13-inch (M5), landscape | 2752×2064 |
|
||||
|
||||
Create the exact simulators once if they are missing:
|
||||
|
||||
```sh
|
||||
xcrun simctl create "iPhone 17 Pro Max" com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max com.apple.CoreSimulator.SimRuntime.iOS-27-0
|
||||
xcrun simctl create "iPad Pro 13-inch (M5)" com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M5-12GB com.apple.CoreSimulator.SimRuntime.iOS-27-0
|
||||
xcrun simctl create "iPhone 18 Pro Max" com.apple.CoreSimulator.SimDeviceType.iPhone-18-Pro-Max com.apple.CoreSimulator.SimRuntime.iOS-27-1
|
||||
xcrun simctl create "iPad Pro 13-inch (M5)" com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M5-12GB com.apple.CoreSimulator.SimRuntime.iOS-27-1
|
||||
```
|
||||
|
||||
The lane does not resize iPhone captures or substitute another device. Existing
|
||||
@@ -159,7 +159,7 @@ iPhone Assistant/SSH/Vault, iPad Metrics/SFTP/Vault, and Mac Workspace, in all t
|
||||
locales. Use `scenes:` explicitly when another composition is needed.
|
||||
The lane stages source copies and publishes
|
||||
`<locale>/<device>/<feature>.png` only after every selected output succeeds. Old Pro captures
|
||||
must be recaptured on iPhone 17 Pro Max before framing; they are rejected by size.
|
||||
must be recaptured on iPhone 18 Pro Max before framing; they are rejected by size.
|
||||
|
||||
- iPhone uses frameit's iPhone 17 Pro Max Silver frame at native screenshot size.
|
||||
- iPad uses Apple's official iPad Pro (M5) 13-inch Space Black PNG as a custom
|
||||
|
||||
@@ -39,7 +39,7 @@ class ScreenshotsTests < Minitest::Test
|
||||
capture = runner(:ios, { devices: "ipad", locales: "zh-Hant", scenes: "ssh,sftp" },
|
||||
{ "TERMIND_SCREENSHOT_DEVICES" => "iphone", "TERMIND_SCREENSHOT_LOCALES" => "en" })
|
||||
capture.define_singleton_method(:command) do |*args|
|
||||
JSON.generate("devices" => { "com.apple.CoreSimulator.SimRuntime.iOS-27-0" => [
|
||||
JSON.generate("devices" => { "com.apple.CoreSimulator.SimRuntime.iOS-27-1" => [
|
||||
{ "name" => "iPad Pro 13-inch (M5)", "udid" => "ipad-id",
|
||||
"deviceTypeIdentifier" => "com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M5-12GB" }
|
||||
] })
|
||||
@@ -52,9 +52,9 @@ class ScreenshotsTests < Minitest::Test
|
||||
def test_a_renamed_pro_cannot_be_used_as_the_pro_max_capture_device
|
||||
capture = runner(:ios, devices: "iphone")
|
||||
capture.define_singleton_method(:command) do |*args|
|
||||
JSON.generate("devices" => { "com.apple.CoreSimulator.SimRuntime.iOS-27-0" => [
|
||||
{ "name" => "iPhone 17 Pro Max", "udid" => "wrong-model",
|
||||
"deviceTypeIdentifier" => "com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro" }
|
||||
JSON.generate("devices" => { "com.apple.CoreSimulator.SimRuntime.iOS-27-1" => [
|
||||
{ "name" => "iPhone 18 Pro Max", "udid" => "wrong-model",
|
||||
"deviceTypeIdentifier" => "com.apple.CoreSimulator.SimDeviceType.iPhone-18-Pro" }
|
||||
] })
|
||||
end
|
||||
assert_raises(RuntimeError) { capture.find_devices }
|
||||
|
||||
@@ -27,7 +27,7 @@ class Screenshots
|
||||
}.freeze
|
||||
MOBILE_SCENES = %w[vault sftp ssh metrics assistant].freeze
|
||||
DEVICES = {
|
||||
"iphone" => { name: "iPhone 17 Pro Max", type: "com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max",
|
||||
"iphone" => { name: "iPhone 18 Pro Max", type: "com.apple.CoreSimulator.SimDeviceType.iPhone-18-Pro-Max",
|
||||
dimensions: [1320, 2868] },
|
||||
"ipad" => { name: "iPad Pro 13-inch (M5)", type: "com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M5-12GB",
|
||||
dimensions: [2752, 2064] }
|
||||
@@ -47,7 +47,7 @@ class Screenshots
|
||||
@devices = platform == :mac ? ["mac"] : selection(
|
||||
options[:devices] || environment["TERMIND_SCREENSHOT_DEVICES"], DEVICES.keys, DEVICES.keys, "devices"
|
||||
)
|
||||
@runtime = options[:runtime] || environment["TERMIND_SCREENSHOT_RUNTIME"] || "com.apple.CoreSimulator.SimRuntime.iOS-27-0"
|
||||
@runtime = options[:runtime] || environment["TERMIND_SCREENSHOT_RUNTIME"] || "com.apple.CoreSimulator.SimRuntime.iOS-27-1"
|
||||
if platform == :ios && !@runtime.match?(/\Acom\.apple\.CoreSimulator\.SimRuntime\.iOS-27-\d+(?:-\d+)?\z/)
|
||||
raise ArgumentError, "Screenshots require an iOS/iPadOS 27 runtime: #{@runtime}"
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user