Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
dSYMのアップロードで SPMを活用する/use_spm_with_upload_dsyms
fromkk
June 03, 2021
Programming
1
1.4k
dSYMのアップロードで SPMを活用する/use_spm_with_upload_dsyms
Bitrise User Group Japan #5 にて登壇してきた内容の資料です。
fromkk
June 03, 2021
Tweet
Share
More Decks by fromkk
See All by fromkk
note社の全員野球で品質向上活動について / note_qa_challenge #iOS_test_teatime
fromkk
1
1.1k
1年分のデータが見たいと言われてやったこと/yearly_data_with_note
fromkk
0
380
note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021
fromkk
0
1.2k
Bitrise体験会説明資料/bitrise_explore
fromkk
1
770
noteのiOSアプリで実装したアクセシビリティの全て #iosdc #a /a11y_with_iOS_App_on_note
fromkk
0
1.7k
Bitriseのリモートアクセス機能 #bitrise_meetup/remote_access_of_bitrise
fromkk
1
360
note社でのMagic Pod活用事例 #af_iosdc/magicpod_with_note
fromkk
2
7.8k
iOSには無いmacOS独自機能をCatalystで実装する #iosdc #d/make_macos_apps_with_catalyst
fromkk
9
1.6k
Catalystに対応したアプリをリリースするまでのリジェクト集 #iosdc #a #lt/iosdc_2020_lt
fromkk
2
660
Other Decks in Programming
See All in Programming
10Xの検索を10xしたい
metalunk
2
260
それ全部エラーメッセージに書いてあるよ!〜独学でPHPプログラミングが上達するたった一つの方法〜
77web
1
160
動画合成アーキテクチャを実装してみて
satorunooshie
0
570
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
1.6k
Dagger, la CI, autrement
guikingone
1
120
モデルの定義に基づくバリデーションを実現するためのpydantic入門
daikikatsuragawa
0
120
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
0
130
Pluggable Storage in PostgreSQL
sira
1
200
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
1
220
Another 40 years of Commodore 64
mehowte
0
110
リーダブルテストコード / #vstat
jnchito
48
37k
読みやすいコード クラスメソッド 2022 年度新卒研修
januswel
0
2.9k
Featured
See All Featured
Fireside Chat
paigeccino
13
1.4k
The World Runs on Bad Software
bkeepers
PRO
57
5.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
Intergalactic Javascript Robots from Outer Space
tanoku
260
25k
Debugging Ruby Performance
tmm1
65
10k
Building Applications with DynamoDB
mza
84
4.8k
Done Done
chrislema
174
14k
GraphQLとの向き合い方2022年版
quramy
16
8.5k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
Three Pipe Problems
jasonvnalue
89
8.7k
Stop Working from a Prison Cell
hatefulcrawdad
262
17k
Transcript
dSYMͷΞοϓϩʔυͰ SPMΛ׆༻͢Δ Bitrise User Group Japan #5 1
struct Profile { let name = "Kazuya Ueoka" let company
= " note inc." let twitter = " @fromkk" let github = " fromkk" let qiita = " fromkk" let note = " fromkk" } 2
ৼΓฦΓ 3
https://note.com/fromkk/n/n064299093064 4
ͪΐͬͱࡶͳ࣮͕͋Γ·ͨ͠😅 5
ࡶͳ࣮ • # TypeͰϥΠϒϥϦͷཧΛSwift Package Managerͷ Έʹ͍ͤͯͨ • Crashlyticsͷupload-symbolsίϚϯυΛୟͨ͘Ί͚ͩ ʹҰ࣌྇͗ͰCocoaPodsΛར༻
• ϥΠϒϥϦͷΩϟογϡແࢹ 6 use_frameworks! target 'Type' do pod 'FirebaseCrashlytics' end
͔ͤͬ͘ͳͷͰͪΌΜͱSPMΛ׆༻͍ͨ͠ 7
SPMΛclone͢ΔσΟϨΫτϦͷܾఆ 8
ύοέʔδΛclone͢ΔσΟϨΫτϦΛมߋ • ௨ৗXcodeͰSPMΛར༻͢Δͱclone͢Δύοέʔδ ~/Library/Developer/Xcode/DerivedData/ ${PRODUCT_NAME}-${HASH}/SourcePackages/ ҎԼʹࣗಈతʹஔ͞ΕΔ • खಈͰࢦఆ͍ͨ͠߹
xcodebuild ίϚϯυͷ -clonedSourcePackagesDirPath ΦϓγϣϯΛར༻͢Δ͜ͱͰ มߋՄೳ 9
ύοέʔδͷґଘ͚ؔͩղܾ͍ͨ͠ • xcodebuild -resolvePackageDependencies -project $BITRISE_PROJECT_PATH -scheme $BITRISE_SCHEME -configuration Debug
-clonedSourcePackagesDirPath $PACKAGES_PATH ্هΛSPMܦ༝Ͱར༻͍ͨ͠ίϚϯυΛୟ͘લʹ࣮ߦ͓ͯ͘͠ ʢxcworkspaceΛར༻͍ͯ͠Δ߹ -project Λ -workspace ʹมߋʣ 10
࠷ऴతͳεΫϦϓτ 11 bundle install export FASTLANE_USER=$APPLE_ID export FASTLANE_PASSWORD=$APPLE_PW export SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER=$APP_PHONE_NUMBER
export DOWNLOAD_DSYMS_TEAM_ID=$APPLE_TEAM_ID fastlane udpate_session DSYMS_PATH=$(pwd)/dsyms/ mkdir $DSYMS_PATH fastlane dsyms dest:$DSYMS_PATH envman add --key DSYMS_PATH --value $DSYMS_PATH xcodebuild -resolvePackageDependencies -project $BITRISE_PROJECT_PATH -scheme $BITRISE_SCHEME -configuration Debug -clonedSourcePackagesDirPath $PACKAGES_PATH +
upload-symbolsͷύεΛมߋ 12
ΩϟογϡΛ׆༻͍ͨ͠ 13
Ωϟογϡͷ׆༻ • xcodebuild -resolvePackageDependencies Λୟ͘લʹ Bitrise.io Cache:Pull εςοϓΛՃ 14
Ωϟογϡͷ׆༻ • xcodebuild -resolvePackageDependencies Λୟ͍ͨޙͰ Bitrise.io Cache:Push εςοϓΛՃ
• Cache pathsΛԼهͷΑ͏ʹมߋ $PACKAGES_PATH -> $BITRISE_PROJECT_PATH/project.xcworkspace/ xcshareddata/swiftpm/Package.resolved 15
࠷ऴ݁Ռ 16 εΫϦϓτͷલޙʹΩϟογϡΛՃ
·ͱΊ • લճΓ͍ͯͨ͠SPMͷ՝Λղܾ͢Δ͜ͱ͕Ͱ͖ͨ🎉 • SPMͰΩϟογϡΛར༻͢Δ͜ͱͰ࣮ߦ࣌ؒॖ⏰ • ͜ΕͰεοΩϦͱͨ͠ؾͰdSYMͷΞοϓϩʔυΛCIʹͤ ΒΕΔ👍 17
None