Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing Relax
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shin Yamamoto
January 25, 2018
Programming
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introducing Relax
Shin Yamamoto
January 25, 2018
More Decks by Shin Yamamoto
See All by Shin Yamamoto
Meet CoreDevice and devicectl
scenee
0
630
DocCのドキュメントをGithub Pagesで公開する
scenee
2
720
SwiftライブラリのObjC対応における落とし穴と回避策
scenee
0
340
Testing a constraint-based layout of UIView
scenee
1
1.3k
Playing Sheet presentation style on iOS 13
scenee
0
690
Fluid Interfacesの実践
scenee
4
1.7k
Potatotips#7: Box C String Tip
scenee
0
2.8k
Other Decks in Programming
See All in Programming
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
OSもどきOS
arkw
0
590
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
170
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
750
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
New "Type" system on PicoRuby
pocke
1
1k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
act1-costs.pdf
sumedhbala
0
110
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
210
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Bash Introduction
62gerente
615
220k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Deep Space Network (abreviated)
tonyrice
0
210
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
A Tale of Four Properties
chriscoyier
163
24k
The Curse of the Amulet
leimatthew05
2
13k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
The browser strikes back
jonoalderson
0
1.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
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