Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Introducing Relax
Shin Yamamoto
January 25, 2018
Programming
0
410
Introducing Relax
Shin Yamamoto
January 25, 2018
Tweet
Share
More Decks by Shin Yamamoto
See All by Shin Yamamoto
scenee
0
190
scenee
1
730
scenee
0
310
scenee
4
1.1k
scenee
0
2.5k
Other Decks in Programming
See All in Programming
sh_akira
3
100
deepu105
1
190
dnskimo
8
1.5k
kaz29
2
120
hamakou108
4
510
hr01
0
1.9k
sysrich
0
240
marcoow
0
160
treby
0
120
seike460
7
2.2k
yusuke57
0
120
ajstarks
2
760
Featured
See All Featured
roundedbygravity
242
21k
moore
125
21k
jonyablonski
21
1.3k
scottboms
252
11k
tanoku
86
8.6k
3n
163
22k
productmarketing
6
770
sferik
613
55k
akmur
252
19k
addyosmani
495
110k
deanohume
294
28k
jnunemaker
PRO
40
4.7k
Transcript
Introducing Relax - A release tool for Xcode - SCENEE
2018.1.24 @potatotips #47 1
Overview πЀψϤϕ ͲRelaxΨ֢͵΄͡Ҙ Relaxͽ֜͢ͽͣΡ΄͡Ҙ Demo Advanced usage 2
iOS App΄Build, Release, SupportΨΘ;䮭Ѻ Relax's πЀψϤϕ 3
ͩΩͩ;΅͘ΠΔͱΩ͡Ҙ xcodebuildͽ̵Automatic Signing / Manual Signing΅Δ͵ xcodebuildͽ΅̵Ͳ͡code sign error (Xcodeͽ΅OK)
IPA̵మਧ;吖ΡProvisioning Profile͢فͼ͚Ρ̶Ωͽ❓ μ϶αίЀϕ͡Ο̵̿ίϤϷ͢αЀφϕЄϸͽ͚ͣ̀;μϹЄϭ͢ ෛ͚ͭίϤϷϤϺυδμϕͪ;̵䶅ࢧݶͮΞ͜φμϷϤϕ䨗͚ͼ͚Ρ ϠϸϖϫτЀͽ̵㳨΄Ո͢αЀφϕЄϸͭ͵CertificateͽϠϸϖ͢䃪Ρ 4
ίϤϷΨϠϸϖɾᯈͭ͵͚ Ͷͧ΄.... 5
ͳͩͽ̵Relax! 6
Relaxͽ֜͢ͽͣΡҘ CodeSignε϶Є䘁ΔͫΡͩ;̵ͥIPAϢήαϸΨ֢౮ 愢櫏ϠϸϖφμϷϤϕӧᥝ YAMLͽ̵ᥝկΨਯͯΡͶͧ IPA΄ٖΨ䭥戣ͽͣΡ My KeychainڔΠ๊͞ͼ̵厏हׁਂͱͰϠϸϖͽͣΡ 7
fastlane;΄晅͚΅Ҙ Easy: ϠϸϖϫτЀ΄厏हᓕቘ͢䮭 Go/Bashͽ䨗͡͠Π̵brewͽαЀφϕЄϸͶͧѺ Ruby΄厏ह戔ਧͽ̵ႰԤͯΡͩ;͚͢ Small: πЀϞμϕ xcodebuildͿ΄command line developer
tools΄϶ϐϞЄϑЄϸ RelfileΨزxcodebuildͽ΄PureϠϸϖ䜟Ρͩ;ɾͳ΄ᭋΘ墋㶨 Apple Developer Portal;΄ള姆ͭ Xcode Configuration/ xcconfig΄䃀ྠΨᴠͨΡ Readable: Υ͡ΠΚ͚ͯ YAMLਯϢήαϸͽก۸ͫΡ͵Η̵抑ͽΘቘᥴͽͣΡ 8
fastlane;΄晅͚΅Ҙ ;΅̵͚͞অΕ΄㺔氂 Ҋͺ΄晝䝑ᙏ;ͭͼ̵ͲΈ͠手ͥͶ͚ͫ❗ 9
Relax΄䱛ᚆ Relfile;͚͜YAML୵ୗ΄Ϡϸϖ戔ਧϢήαϸ CodeSign戔ਧ == Team ID;Provisioning Profile Build Settings΄θφόϫαχ=> Configuration͢䃀͚͞
Info.plist΄θφόϫαχ => PlistBuddyӧᥝ Export Option plistᛔ㵕ኞ౮ Relfileٖͽ̵Bash΄厏ह䄜හΨڥአݢᚆ Manual Signingᛔ㵕ͽڔ๊ ValidateπϫЀϖͽ̵IPAΨ墋㶨䭥戣 (CodeSign, Bundle IDͿ΄ෆݳ) ϮЀϓϗЀφ͢ฃ 10
Relfile version: '2' workspace: SampleApp distributions: adhoc: scheme: SampleApp configuration:
Debug # codesign team_id: ABCDEFGHIJ provisioning_profile: "Relax Adhoc" bundle_version: $BUILD_NUMBER bundle_identifier: com.scenee.SampleApp.adhoc info_plist: CFBundleName: "SmapleApp(Debug)" build_settings: OTHER_SWIFT_FLAGS: - "-DMOCK" # Export Option plist export_options: method: ad-hoc compileBitcode: false 11
Installation $ cd /path/to/your/project $ # Generate your Relfile template
$ relax init $ brew tap SCENEE/homebrew-formulae $ brew install relax 12
Getting Started $ # Generate xcarchive $ relax archive adhoc
$ # Export an ipa file $ relax export adhoc̴</path/to/xcarchive> $ # Print a IPA file path $ relax show adhoc ipa /path/to/ipa $ # Validate the ipa file $ relax validate /path/to/ipa ... Validation Successful 13
Demo 14
Advanced Universal FrameworkΘӞ咲ͽਠԧ => ͠Δ͚ͮ΄φμϷϤϕӧᥝ IPA/xcarchive΄ٚᗟݷ 䌑አKeychain΄֢౮ɾ戣ก䨗΄᭄ےɾڔ๊ Provisioning Profile΄᭄ےɾڷᴻɾ䭥ᔱ 15
Advanced $ # Generate an universal framework $ relax build
<distribution> $ # Print a list of provisioning profiles $ relax profile ls $ # Search a provisioning profile $ relax profile find "Greate App AdHoc" $ # Create a my keychain $ relax keychain create my.keychain -p <pass> $ # Add code sign identities $ relax keychain add <p12> ... $ # Use my.keychain $ relax keychain use my.keychain -p <pass> $ # Go back to login.keychain $ relax keychain reset 16
Thank you! Welcome to your Pull Request and Bug report!
Githubͽ⭐Ψ͚͵ͶͧΡ;̵ۜΕΠΔͯѺ 17