플러터 앱 - 자동배포 iOS 쪽도 해보자 (feat. xcrun altool)
알아둘일
2024. 7. 2. 14:47
플러터 앱 - 안드로이드 쪽 자동배포를 해봤는데, 이번에는 iOS 쪽도 해본다.
testFlight 로 업로드 하는 코드.
# IPA 파일 생성
flutter build ipa --release --export-options-plist=ios/exportOptions.plist
# TestFlight에 업로드
xcrun altool --upload-app --type ios \
--file build/ios/ipa/*.ipa \
--username "{your-apple-develper-id}" \
--password "{your-app-password}" \
--primary-bundle-id "{your-app-bundle-id}"
코드 자체는 심플하다. 관련 인증 부분이 좀 어려울 수 있다.
일단 앱 암호는 https://appleid.apple.com/account/manage 애플 계정쪽에서 설정한다.
그외 다른 인증 방식으로 몇가지 시도해봤는데, 유일하게 위 방법만 동작하였다.
( --apiKey --apiIssuer 방법 , --upload-package 방법 , xcrun notarytool 방법 => 모두 실패 )
위 다른 방식들이 좀더 안전(?)한 방법인 듯 해서 시도해봤었는데, 실패.
다음 부분에서도 좀 헤맸다.
# cat ios/exportOptions.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>destination</key>
<string>export</string>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>{your-developer-team-ID}</string>
<key>teamName</key>
<string>{your-developer-team-Name}</string>
<key>provisioningProfiles</key>
<dict>
<key>{your-app-bundle-id}</key>
<string>{your-project-provisioning-profile}</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>uploadBitcode</key>
<false/>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
위 입력사항 중 2개 teamName / bundle id 는 금방 찾았고 , 그외 2가지 항목을 찾아야 한다.
teamID / provisioning profile 은 어디?
open ios/Runner.xcworkspace
# 플러터 프로젝트를 Xcode 를 열어본다.
Runner 쪽을 보면 Signing 부분에 있다. ( 지금 살펴보니, 모든 항목이 다 여기에 있다. )
내 경우는 계정소유자가 아니라 (앱 관리자? )권한으로 참여하는 것이라 Signing Certificate 쪽 설정하는데 고생을 좀 했다.
위 설정까지 문제없이 했다면, 맨 위 코드로 빌드 => 배포 가 정상적으로 될 것이다.
반응형
'알아둘일' 카테고리의 다른 글
리액트 네이티브 (react-native) 설정 - 플러터개발환경에 추가할 부분 (0) | 2024.07.15 |
---|---|
안드로이드 앱 출시는 힘겹구나! (feat. 비공개테스트) (0) | 2024.07.14 |
플러터 앱을 만들었으니, 배포 / 출시 를 자동화 해보자. (feat. androidpublisher) (0) | 2024.07.01 |
플러터 - 앱로빈 광고 연동시 iOS native 광고 노출 이상 현상 (feat. bundle id) (0) | 2024.06.11 |
우분투 <=> 윈도우 - smb 연결 시 캐시가 문제가 되나? (feat. ubuntu 22.04) (0) | 2024.06.05 |
WRITTEN BY
- 1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.
,