Added a pull request to fastlane to support new screen sizes
I have an app that hadn’t been updated for five years, but in September I received a kind review from a user, which asks for deleting feature of search results.
Appreciating the review, I decided to make a small update and release it. However, when I tried to upload screenshots through fastlane, it failed with errors.
1
[18:11:51]: 🚫 Error: ./fastlane/screenshots/en-US/iPad Pro 13-inch (M4)-1-FillingPAOFieldsOfProductViewController.png - Invalid screen size (Actual size is 2064x2752. See the specifications to fix https://help.apple.com/app-store-connect/#/devd274dd925)
But according to Apple’s documentation, the sizes in errors were valid. I found that fastlane hadn’t been updated with new devices for about four years, and there were already a few open pull requests related to this. Referring to those, I wrote some code myself and tried again.
1
2
3
[22:38:33]: fastlane finished with errors
bundler: failed to load command: fastlane (/Users/[...]/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/bin/fastlane)
Spaceship::AppStoreScreenshotError: [!] en-US
Then even stranger errors appeared. The cause turned out to be that the App Store Connect API still does not support 6.9’’ and 6.3’’ device sizes.
I was shocked for two reasons:
- How could App Store Connect API not support these devices for years?
- How could people submit pull requests without actually running the code and verifying that previews upload correctly?
For the first one, I realized that not many developers automate screenshot uploads, and using 6.5’’ screenshots works fine anyway. I submitted feedback to Apple. For second, I’m still not sure—maybe I’m missing something.
Anyway, adding new sizes to the existing device types worked fine. So I submitted a pull request
Through this, I learned that fastlane isn’t really a black box. A Gemfile is just like a Podfile or SPM—it’s all code! You can even point it to your local repository like this:
1
gem "fastlane", path: '/Users/[...]/Documents/fastlane'
Opening black boxes is always fun ❤️🔥
