티스토리 뷰
안녕하세요 :) Zedd입니다.
오늘은~~fastlane을 이용해 스크린샷을 찍는 법을 공부해볼게요!!
갑자기 왠 스크린샷?이라고 생각하실 수 있는데,
앱스토어에 앱을 올리려면 앱의 스크린샷이 꼭!! 필요하답니다.
사실 저같은 경우에는, 처음으로..! 개인 앱을 앱스토어에 올릴 때, 이 스크린샷에 고생을 했었어요.
뭐 사이즈도 안맞다는다 이러고..ㅎㅎ;; 좀 헤맷던 기억이 있네요.
아무튼 fastlane을 사용하면 이 스크린샷 프로세스를 자동화하여 빠르고 일관된 결과를 얻을 수 있다고 해요~~
그럼 시작해봅시다!
그 전에 fastlane글들을 읽고오시면 좀 도움이 될지도 ~.~
https://zeddios.tistory.com/837
https://zeddios.tistory.com/839
Fastlane(3) - Screenshots
그럼..일단 스크린샷을..찍기전에, 제 앱을..조금 수정해볼게요 :D
스크린샷 찍을 화면은 좀 있어야 할거 아냐...
암튼 이렇게 만들어줬씁니다.
첫번째, 두번째 Viewcontroller의 button을 누르면 다음 Viewcontroller로 가도록 해주었씁니다.
그럼 이제 진짜 해봅시다!
ㅎ
ㅡ
ㅁ
..........그렇군..해봅시다...
fastlane정말 쉬운거 맞니?..자꾸 의문이....
차근차근 해봅시다!!
1. Create a new UI Test target in your Xcode project (See the top part of this article)
Xcode 프로젝트에 UI Test Target을 만들래요!
저는 저번에 만들었다는 사실...
만드는 방법은
저기서 + 버튼을 누르고
UI Testing Bundle을 눌러 추가해줍니다.
자 암튼 1단계 끝@@
2. Run fastlane snapshot init in your project folder
프로젝트 폴더에 가서 fastlane snapshot init을 하래요?
해봅시다.
띠용
여기서도 단계가 나오ㅡㄴ데
fastlane독스에서 나오는 단계랑 중복되니까 계속 해볼게요.
3. Add the ./fastlane/SnapshotHelper.swift to your UI Test target
You can move the file anywhere you want
자 fastlane/SnapshotHelper.swift를 우리의 UI Test Target에 추가해라~~ 뭐 그런말 같아요? 해봅시다
fastlane init을 해서 생겼던 fastlane디렉토리에 들어가보면
SnapshotHelper.swift파일이 있죠? 이걸 우리의 UI Test Target으로 옮겨줘볼게요.
뭐 이렇게 넣어줄게요? 그 다음 단계로 넘어가봅시다.
4. Call `setupSnapshot(app)` when launching your app
하고 밑에 코드들이 있죠? 복사해서
우리가 만든 UI Test Target에 ~~UITests클래스 안의 setup()에 넣어줍니다. 그다음에!
5. Add 'sanpshot("0Launch")' to wherever you want to trigger screenshots
내가 스크린샷을 찍고 싶은 곳에 sanpshot("0Launch")이런걸 하라는것 가틍ㄴ데....어디서해?
ㅇ ㅏ~~
얘도 테스트클래스였지..테스트 메소드에 넣어주면 되나봅니다.
이름을 좀 바꿔볼게요.
제 ViewController들인데요..음..첫번째 ViewController를 찍으면 되는건가..?
저도 지금 어케하는지 잘 모르겠어서;;;
뭐 이런식으로 해줍시다. 아니 근데 이런거야? 이렇게 하는거 아닌거같은데..아무튼 다음 단계로 가줍니다.
6. Add a new Xcode scheme for the newly created UITest target
Xcode scheme을 추가하라네요?
자 New Scheme누르면
이런 프롬프트가 뜰텐데요.
여기서 Target을
UITests꺼로 변경해줍니다 꼭!!!!! 아 진짜 제가 그냥 Target에 했다가 계속 안돼서.....글 계:속 길어지다가 드디어 발견...
암튼 꼭 Target을 UI Test꺼로 변경해주세요. 그리고 뭐 이름 알아서 짓고 추가 ㄱ
7. Add a Check to enable the `Shared` box of the newly created scheme
빨간박스에 Shared체크 해라..입니다! 이미 저는 체크 되어있군요
그럼 끝난건가?
그럼 대망의...
fastlane snapshot
을 치기전에!!!!!!!!!!!!!
fastlane snapshot init했을 때 SnapshotHelper.swift와 함께 생성된
Snapfile.
들어가볼게요.
뭐 이런 것들이 있는데.. 딱 보면 devices는 내가 찍을(?) 그러니까 스크린샷을 찍을 디바이스 같고
languages는 언어설정 같네요.
지금 devices랑 languages전부 주석처리 되어있는데..
암튼 하나씩만 풀어줄게요.
languages는 한국..하고싶은데...한국 코드 뭐지...
https://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html
ㅇㅋ
자 그럼 이렇게 하고 저장해주고..
스킴과 스크린샷이 저장될 디렉토리도 주석 풀어줄게요. 저 스킴에는 아까 새로 만들어준 그 스킴 이름 입력하면됨
이제 진짜 돌려보겠삼
fastlane snapshot
오옹
어쩌구 저쩌구 하더니 성공
그러고 갑자기 사파리 탭 하나가 뜨더니
ㅇ0ㅇ....!!!
대박이군..
여기에 스크린샷 ㅈㅓ장해줘!! 라고 지정했어서..생겼네요. 들어가봅시다. 지정안해주면 fastlane디렉토리 안에 생기는듯
언어별로 폴더가 만들어지고 그 안에 스크린샷이 만들어지나봐요.
오 대단하군..
https://academy.realm.io/kr/posts/automate-ios-screenshots-with-fastlane-snapshot/
여기를 보니까
아 이런식으로.......그럼 저도 해보겠슴니다.
이런거구나..음 그러니까 일단 app을 정의해주고,
여기서 ㅇㅣ 버튼을 눌러야 다음 ViewController로 가잖아요? 암튼 찍을 ViewController로 이동을 해야할거 아님??
이 버튼을 찾아서 tab해주는 작업을 한겁니다.
첫번째 파라미터의 타입이 뭐 ElementType인데. 정말 다 이씅ㅁ...
엄청 많아요!!!
버튼두 엄청 많다. 암튼 전 걍 버튼이니까...버튼으로 지정해주고,
identifier를 넣어줘야하는데
여기에 넣어주면 되는 것 같아요!!
암튼 이렇게 button을 찾으면
tap을 해야 다음으로 넘어가니까..명시적으로 tab을 불렀죠?
암튼 이렇게 하시면 됩니다!!!
이렇게 하구
fastlane snapshot
고고
그러면..!!
이렇게 스크린샷들이 생겼습니다!!!!
개꿀이자나.....!!!!!!!!!!
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
아무튼 삽질은 좀 있었지만....이렇게 스크린샷을 잘 찍어내니까 기분이 좋네요 XD
그럼 오늘 fastlane공부는 여기서 끝!!
'공부' 카테고리의 다른 글
SonarQube 삽질기 (2) | 2019.12.04 |
---|---|
Fastlane (4) - Upload Screenshots to the App Store (0) | 2019.11.08 |
Fastlane 재설치 (2) | 2019.11.06 |
Fastlane (2) - Test결과를 Slack으로 보내기 (0) | 2019.11.02 |
Fastlane (1) - Setup 및 Test (2) | 2019.11.01 |
- WKWebView
- UIBezierPath
- WWDC
- 스위프트
- 스위프트 문법
- actor
- SwiftUI
- swift tutorial
- Accessibility
- iOS delegate
- swift array
- Xcode
- np-complete
- 회고
- Git
- IOS
- ios 13
- Combine
- np-hard
- 제이슨 파싱
- swift sort
- swift3
- Swift
- fastlane
- swift 공부
- WidgetKit
- FLUTTER
- github
- swift delegate
- 피아노
- Total
- Today
- Yesterday