Bitrise User Group Japan #5 にて登壇してきた内容の資料です。
dSYMͷΞοϓϩʔυͰ SPMΛ׆༻͢ΔBitrise User Group Japan #51
View Slide
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/n0642990930644
ͪΐͬͱࡶͳ࣮͕͋Γ·ͨ͠😅5
ࡶͳ࣮• # TypeͰϥΠϒϥϦͷཧΛSwift Package ManagerͷΈʹ͍ͤͯͨ• Crashlyticsͷupload-symbolsίϚϯυΛୟͨ͘Ί͚ͩʹҰ࣌྇͗ͰCocoaPodsΛར༻ • ϥΠϒϥϦͷΩϟογϡແࢹ6use_frameworks!target 'Type' dopod '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
࠷ऴతͳεΫϦϓτ11bundle installexport FASTLANE_USER=$APPLE_IDexport FASTLANE_PASSWORD=$APPLE_PWexport SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER=$APP_PHONE_NUMBERexport DOWNLOAD_DSYMS_TEAM_ID=$APPLE_TEAM_IDfastlane udpate_sessionDSYMS_PATH=$(pwd)/dsyms/mkdir $DSYMS_PATHfastlane dsyms dest:$DSYMS_PATHenvman add --key DSYMS_PATH --value $DSYMS_PATHxcodebuild -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.resolved15
࠷ऴ݁Ռ16εΫϦϓτͷલޙʹΩϟογϡΛՃ
·ͱΊ• લճΓ͍ͯͨ͠SPMͷ՝Λղܾ͢Δ͜ͱ͕Ͱ͖ͨ🎉• SPMͰΩϟογϡΛར༻͢Δ͜ͱͰ࣮ߦ࣌ؒॖ⏰• ͜ΕͰεοΩϦͱͨ͠ؾͰdSYMͷΞοϓϩʔυΛCIʹͤΒΕΔ👍17