Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introducing Relax
Search
Shin Yamamoto
January 25, 2018
Programming
640
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
650
DocCのドキュメントをGithub Pagesで公開する
scenee
2
730
SwiftライブラリのObjC対応における落とし穴と回避策
scenee
0
340
Testing a constraint-based layout of UIView
scenee
1
1.4k
Playing Sheet presentation style on iOS 13
scenee
0
710
Fluid Interfacesの実践
scenee
4
1.7k
Potatotips#7: Box C String Tip
scenee
0
2.9k
Other Decks in Programming
See All in Programming
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
500
アクセシビリティから考える情報設計
high_g_engineer
0
390
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.4k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.2k
Workers Cache を知る
syumai
0
210
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
650
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
560
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
130
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
170
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.8k
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
760
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Tell your own story through comics
letsgokoyo
1
1.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
480
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
30 Presentation Tips
portentint
PRO
1
400
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Balancing Empowerment & Direction
lara
6
1.3k
First, design no harm
axbom
PRO
2
1.3k
Leo the Paperboy
mayatellez
10
2.3k
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