Slide 1

Slide 1 text

Introducing Relax - A release tool for Xcode - SCENEE 2018.1.24 @potatotips #47 1

Slide 2

Slide 2 text

Overview πЀψϤϕ ΀ͲRelaxΨ֢͹͵΄͡Ҙ​ Relaxͽ֜͢ͽͣΡ΄͡Ҙ Demo Advanced usage 2

Slide 3

Slide 3 text

iOS App΄Build, Release, SupportΨΘ͹;䮭΁Ѻ Relax's πЀψϤϕ 3

Slide 4

Slide 4 text

ͩΩ΀ͩ;΅͘ΠΔͱΩ͡Ҙ xcodebuildͽ̵Automatic Signing / Manual Signing΁΅Δ͹͵ xcodebuildͽ΅̵΀Ͳ͡code sign error (Xcodeͽ΅OK) IPA΁̵మਧ;吖΀ΡProvisioning Profile͢ف͹ͼ͚Ρ̶΀Ωͽ❓ μ϶αίЀϕ͡Ο̵̿ίϤϷ͢αЀφϕЄϸͽͣ΀͚̀;μϹЄϭ͢ ෛ͚ͭίϤϷϤϺυδμϕͪ;΁̵䶅ࢧݶͮΞ͜΀φμϷϤϕ䨗͚ͼ͚Ρ ϠϸϖϫτЀͽ̵㳨΄Ո͢αЀφϕЄϸͭ͵CertificateͽϠϸϖ͢䃪΢Ρ 4

Slide 5

Slide 5 text

ίϤϷΨϠϸϖɾᯈ૲ͭ͵͚ Ͷͧ΀΄΁.... 5

Slide 6

Slide 6 text

ͳͩͽ̵Relax! 6

Slide 7

Slide 7 text

Relaxͽ֜͢ͽͣΡҘ CodeSignε϶Є΁䘁Δͫ΢Ρͩ;΀̵ͥIPAϢήαϸΨ֢౮ 愢櫏΀ϠϸϖφμϷϤϕӧᥝ YAMLͽ̵ᥝկΨਯ᥺ͯΡͶͧ IPA΄ٖ਻Ψ䭥戣ͽͣΡ My Keychain΁ڔΠ๊͞ͼ̵厏ह΁ׁਂͱͰ΁ϠϸϖͽͣΡ 7

Slide 8

Slide 8 text

fastlane;΄晅͚΅Ҙ Easy: ϠϸϖϫτЀ΄厏हᓕቘ͢䮭 Go/Bashͽ䨗͡΢͠Π̵brewͽαЀφϕЄϸͶͧѺ Ruby΄厏ह戔ਧͽ̵ႰԤͯΡͩ;͢΀͚ Small: πЀϞμϕ xcodebuild΀Ϳ΄command line developer tools΄϶ϐϞЄϑЄϸ RelfileΨز΁xcodebuildͽ΄PureϠϸϖ΁䜟Ρͩ;ɾͳ΄ᭋΘ墋㶨 Apple Developer Portal;΄ള姆΀ͭ Xcode Configuration/ xcconfig΄䃀ྠΨᴠͨΡ Readable: Υ͡ΠΚ͚ͯ YAMLਯ᥺Ϣήαϸͽก෈۸ͫ΢Ρ͵Η̵抑ͽΘቘᥴͽͣΡ 8

Slide 9

Slide 9 text

fastlane;΄晅͚΅Ҙ ;΅̵͚͞অΕ΄㺔氂 Ҋͺ΄晝䝑ᙏ;ͭͼ̵ͲΈ͠手ͥͶ͚ͫ❗ 9

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Installation $ cd /path/to/your/project $ # Generate your Relfile template $ relax init $ brew tap SCENEE/homebrew-formulae $ brew install relax 12

Slide 13

Slide 13 text

Getting Started $ # Generate xcarchive $ relax archive adhoc $ # Export an ipa file $ relax export adhoc̴ $ # Print a IPA file path $ relax show adhoc ipa /path/to/ipa $ # Validate the ipa file $ relax validate /path/to/ipa ... Validation Successful 13

Slide 14

Slide 14 text

Demo 14

Slide 15

Slide 15 text

Advanced Universal FrameworkΘӞ咲ͽਠԧ => ͠Δͮ΀͚΄φμϷϤϕӧᥝ IPA/xcarchive΄ٚᗟݷ 䌑አKeychain΄֢౮ɾ戣ก䨗΄᭄ےɾڔ๊ Provisioning Profile΄᭄ےɾڷᴻɾ䭥ᔱ 15

Slide 16

Slide 16 text

Advanced $ # Generate an universal framework $ relax build $ # 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 $ # Add code sign identities $ relax keychain add ... $ # Use my.keychain $ relax keychain use my.keychain -p $ # Go back to login.keychain $ relax keychain reset 16

Slide 17

Slide 17 text

Thank you! Welcome to your Pull Request and Bug report! Githubͽ⭐Ψ͚͵ͶͧΡ;̵ۜΕ΁΀ΠΔͯѺ 17