Không giống với các actions khác của Fastlane, action snapshot và frameit hoạt động khác 1 chút với nhiều thao tác manual hơn, tuy nhiên với lợi ích nó mang lại thì việc setup này chấp nhận được.
Mục đích: Tạo ảnh screenshots trên Store
Demo với iOS project: Swift, XCUITest framework
Source code có thể tải về tại Github
snapshot: Take Screenshots on many different devices and languages#
Cài đặt#
1 | fastlane snapshot init |
Bước 1: Setup UI Test#
- Tạo UI Testing Bundle với tên:
fastlaneScreenshots
- New Scheme… với target là
fastlaneScreenshots
- Edit Scheme… fastlaneScreenshots
Tab Build: Chọn Run
Tab Run: Excutable =fastlaneGadev.app
- Kéo file SnapshotHelper.swift vào Project tại folder
fastlaneScreenshots
- Code cho file fastlaneScreenshots.swift như sau:
1 | class fastlaneScreenshots: XCTestCase { |
Bước 2: Viết code UI Test#
- Đặt con trỏ chuột vào giữa hàm
testSnapshot
, sau đó nhấn nút Record UI Test (Hoặc tự viết code ko cần Record cũng được). - Gọi hàm snapshot(“Tên màn hình”) để chụp ảnh.
1 | func testSnapshot () { |
Bước 3: fastlane: Thiết lập ngôn ngữ, thiết bị sẽ chụp#
Tạo file ./fastlane/Snapfile
1 | devices([ |
Simulator devices phải avaiable trong Xcode trước.
Chú ý khai báo scheme
Bước 4: Chụp màn hình#
1 | fastlane snapshot |
Thành quả nằm trong thư mục ./fastlane/screenshots/
frameit - Make screenshots look better#
Ảnh chụp màn hình sẽ được đóng khung trông như trên thiết bị thật 😲
Cài đặt
Yêu cầu imagemagick
Tạo lane
1 | lane :frame do |
Chạy lane:
fastlane frame
Ngon, trông như chụp hình app đang chạy trên điện thoại thật 👏
frameit - Advanced#
Screenshots với caption theo ngôn ngữ, background
Chuẩn bị:
- File ảnh nền:
./fastlane/screenshots/background.jpg
- Font chữ:
./fastlane/screenshots/fonts/Chalkduster.ttf
- File caption
- Tiếng Việt:
./fastlane/screenshots/vi/titles.strings
- Tiếng Anh:
./fastlane/screenshots/en-US/titles.strings
- Tiếng Việt:
- File cấu hình:
./fastlane/screenshots/Framefile.json
Nội dung file titles.strings
Tiếng việt
1 | "1-home" = "Với nguyên liệu nấu ăn đơn giản"; |
Nội dung file titles.strings
Tiếng Anh
1 | "1-home" = "With ingredients easy to find"; |
Nội dung file Framefile.json
1 | { |
🙌 Chạy lại lane frame và enjoy 🐣🐣