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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
720
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
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
790
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
100
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
150
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
370
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
450
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
230
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
140
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.8k
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
500
GitHub's CSS Performance
jonrohan
1033
470k
My Coaching Mixtape
mlcsv
0
310
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building AI with AI
inesmontani
PRO
1
1.2k
Designing for Performance
lara
611
70k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Accessibility Awareness
sabderemane
1
210
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