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
Xcode6のFramework Templateについて
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
haranicle
October 31, 2014
Technology
2.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Xcode6のFramework Templateについて
haranicle
October 31, 2014
More Decks by haranicle
See All by haranicle
戦略的手抜きをするためのデザインシステム運用
haranicle
1
3.7k
bitFlyer ウォレット リニューアルの裏側
haranicle
0
190
多次元宇宙と画面遷移
haranicle
0
420
ハッピーな開発チームを築くために iOSエンジニアがしたこと
haranicle
5
15k
Playground芸
haranicle
6
2k
I💖Xcode Plugins
haranicle
0
170
Apple WatchのGlanceについて
haranicle
3
2.7k
iOS8の Custom Keyboard について
haranicle
2
1.3k
Other Decks in Technology
See All in Technology
いまさら聞けない人のためのAIコーディング入門
devops_vtj
0
130
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
140
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
220
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.7k
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
3
350
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
370
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
320
Dynamic Workersについて
yusukebe
2
630
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
520
React、まだ楽しくて草
uhyo
7
4.2k
ブロックチェーン / Blockchain
ks91
PRO
0
110
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
The browser strikes back
jonoalderson
0
1.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
560
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
How to Ace a Technical Interview
jacobian
281
24k
Building the Perfect Custom Keyboard
takai
2
790
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
320
We Have a Design System, Now What?
morganepeng
55
8.2k
Transcript
9DPEFͷ 'SBNFXPSL 5FNQMBUF ʹ͍ͭͯ !IBSBOJDMF
αϯϓϧίʔυ w IUUQTHJUIVCDPNIBSBOJDMF 4VTIJ,JU4BNQMF w IUUQTHJUIVCDPNIBSBOJDMF 4VTIJ.BOJBY
ࣗݾհ w !IBSBOJDMF w J04ΞϓϦ։ൃ ٕज़ࢧԉ w ͨ·ʹαʔόαΠυ (SBJMT
w ͱ͖Ͳ͖"OESPJE ಛघจࣈ ແྉҐ ϕετ৽ண"QQ 23ίʔυ Ϧʔμʔ ͑ελϯϓ ͨΧϝϥ
એ ಛघจࣈΩʔϘʔυ J04ͷػछґଘจࣈΛ ऩͨ͠ ΩʔϘʔυΞϓϦ ͥΜͥΜചΕͳ͍͔Β ࠓ͚ͩແྉʹͨ͠Αʂ "QQ4UPSFͰ ʮIBSBOJDMFʯͰݕࡧ
એ w IUUQZIJPTDPOOQBTTDPNFWFOU
ΞδΣϯμ ✴'SBNFXPSLͱ ✴'SBNFXPSL5FNQMBUFͱ ✴'SBNFXPSL5FNQMBUF1SPKFDU ✴6OJWFSTBM'SBNFXPSLͷ࡞Γํ ✴&NCFEEFE'SBNFXPSL ✴ ͓·͚ -JWF3FOEFSJOH
'SBNFXPSLͱ w ҎԼΛύοέʔδϯά͠ɺͭʹ·ͱΊͨ ✴ϥΠϒϥϦ ✴TUPSZCPBSEϑΝΠϧ ✴OJCϑΝΠϧ ✴ը૾ϑΝΠϧ ✴ϩʔΧϥΠζϑΝΠϧ ✴ϔομϑΝΠϧ ✴υΩϡϝϯτ
w IPHFGSBNFXPSLϑΝΠϧʹͳΔ
'SBNFXPSL5FNQMBUFͱ w 9DPEF͔ΒՃ͞ΕͨJ04༻ͷ w ϓϩδΣΫτςϯϓϨʔτ w ͜ΕΛ͑؆୯ʹJ04༻ͷ'SBNFXPSL͕ ࡞ΕΔͣ
'SBNFXPSL5FNQMBUF1SPKFDU w ίʔσΟϯά͢Δલʹʜ ͜͜Λ/Pʹ͢Δ
'SBNFXPSL5FNQMBUF1SPKFDU w ίʔσΟϯάͨ͠ޙͰʜ ެ։͍ͨ͠ϔομΛ 1VCMJDʹೖΕΔ w 'SBNFXPSL໊Iʹ w JNQPSU'SBNFXPSL໊ެ։͍ͨ͠Ϋϥε໊I w
Λه ͋ͱϏϧυ͢Δ͚ͩͰ'SBNFXPSL ࡞ͬͨͭ
'SBNFXPSL5FNQMBUF1SPKFDU w ҎԼʹ'SBNFXPSLϑΝΠϧ͕ग़ྗ͞ΕΔ w 6TFSTϢʔβ໊-JCSBSZ%FWFMPQFS9DPEF %FSJWFE%BUBϓϩδΣΫτݻ༗ͷϥϯμϜͳจ ࣈྻ#VJME1SPEVDUT w ͷԼʹʜ w
%FCVHJQIPOFPT4VTIJ,JUGSBNFXPSL w %FCVHJQIPOFTJNVMBUPS4VTIJ,JUGSBNFXPSL w γϛϡ༻ͱ࣮ػ༻ͷGSBNFXPSLϑΝΠϧ͕ w ผʑʹͰ͖ͪΌ͏ʂ ࣮ػ༻ʹϏϧυͨ࣌͠ γϛϡ༻ʹϏϧυͨ࣌͠
6OJWFSTBM'SBNFXPSL w γϛϡͱ࣮ػͰ$16ͷΞʔΩςΫνϟ͕ ҟͳΔͷͰɺͦΕͧΕʹରԠͨ͠ 'SBNFXPSLϑΝΠϧ͕Ͱ͖ͨ w Ͱɺͭͷ'SBNFXPSLϑΝΠϧͰͲͬͪ Ͱ͑ΔΑ͏ʹ͍ͨ͠ w MJQPίϚϯυͰγϛϡ༻ͱ࣮ػ༻ͷ
'SBNFXPSLΛͭʹ·ͱΊΒΕΔΑʂ ͲͬͪͰ͑Δ'SBNFXPSL 6OJWFSTBM'SBNFXPSLͱݺΕΔ
w ࣮ػ༻ͱγϛϡ༻ͦΕͧΕʹ9DPEFͰϏϧ υͨ͠ޙʹ w 6TFSTϢʔβ໊-JCSBSZ%FWFMPQFS 9DPEF%FSJWFE%BUBϓϩδΣΫτݻ༗ͷ ϥϯμϜͳจࣈྻ#VJME1SPEVDUT w ԼͰԼهεΫϦϓτΛ࣮ߦ͢Δͱ 6OJWFSTBM'SBNFXPSLΛ࡞Ͱ͖Δ
#!/bin/sh FrameworkName="SushiKit" rm -rf ./Debug mkdir ./Debug cp -r ./Debug-iphoneos/${FrameworkName}.framework ./Debug/${FrameworkName}.framework lipo -create ./Debug-iphoneos/${FrameworkName}.framework/${FrameworkName} ./Debug- iphonesimulator/${FrameworkName}.framework/${FrameworkName} -output ./Debug/$ {FrameworkName}.framework/${FrameworkName} MJQPίϚϯυ IUUQTHJTUHJUIVCDPNIBSBOJDMF FEFBFEBF
'SBNFXPSLͷΈࠐΈํ w ͍͍ͨΫϥεͷϔομͰJNQPSU w ྫ !JNQPSU4VTIJ,JU w ࣮ϑΝΠϧͰී௨ʹ͑Δ w ྫ
<4VTIJ#VUUPOOFX> ࡞ͬͨ6OJWFSTBM 'SBNFXPSLͷϑΝΠϧΛ 'JOEFS͔Β͜͜ʹ%%
&NCFEEFE'SBNFXPSL w ϓϩδΣΫτʹλʔήοτͱͯ͠ w 'SBNFXPSLΛՃ͢Δ͜ͱͰ͖Δ w Ϗϧυ࣌ʹΞϓϦʹόϯυϧ͞ΕΔ w ΞϓϦͱҰॹʹ'SBNFXPSLಈ࡞ڥ w
γϛϡPS࣮ػ ʹ߹ͬͨܗͰϏϧυͯ͠ ͘ΕΔ w
&NCFEEFE'SBNFXPSL w ΞϓϦͰ ෳϓϩδΣΫτͰڞ༗Ͱ͖ͳ͍ 'SBNFXPSL࡞ͬͯخ͍͠ͷ w ಉ͡ϓϩδΣΫτʹෳݸͷϓϩμΫτ ͷλʔήοτ͕͋Δͱ͖ʹ༗༻
w ͭ·Γʜ"QQ&YUFOTJPO $POUBJOJOH"QQͷλʔήοτ "QQ&YUFOTJPOͷλʔήοτ &NCFEEFE'SBNFXPSLͷλʔήοτ YDPEFQSPK ༻
&NCFEEFE'SBNFXPSLͷ࡞Γํ w ϓϩδΣΫτΛ࡞ͨ͠ޙʹ w 'JMF/FX5BSHFUʜ w $PDPB5PVDI'SBNFXPSL5FNQMBUF w "QQ&YUFOTJPOͰϥΠϒϥϦΛ࡞Γ͍ͨ ߹-JOLFE'SBNFXPSLTBOE-JCSBSJFT
ʹՃ
&NCFEEFE'SBNFXPSLͷ࡞Γํ w ίʔσΟϯάͨ͠ޙͰʜ ެ։͍ͨ͠ϔομΛ 1VCMJDʹೖΕΔ w 'SBNFXPSL໊Iʹ w JNQPSU'SBNFXPSL໊ެ։͍ͨ͠Ϋϥε໊I w
Λه ͋ͱϏϧυ͢Δ͚ͩͰ͍͍ײ͡ʹಈ͘
͓·͚
-JWF3FOEFSJOH w ΧελϜͳ7JFXΛ4UPSZCPBSEͰ w -JWF3FOEFSJOHͰ͖ΔΑ͏ʹͳͬͨʂʂ w ΧελϜͳ7JFXͷίʔυΛ'SBNFXPSL ʹؚΊͳ͍ͱͰ͖ͳ͍ͱࢥ͚ͬͯͨͲɺ ผʹ'SBNFXPSLʹؚΊͳͯ͘ಈ͘Αʂ w
ؚΊͯಈ͘Αʂ
-JWF3FOEFSJOH %FNP
4VTIJ#VUUPOI #import <UIKit/UIKit.h> IB_DESIGNABLE @interface SushiButton : UIButton @property(nonatomic) IBInspectable
CGFloat borderWidth; @property(nonatomic) IBInspectable UIColor* borderColor; @property(nonatomic) IBInspectable CGFloat cornerRadius; @property(nonatomic) IBInspectable UIColor* ellipseColor; @end -JWF3FOEFSJOH͍ͨ͠ Ϋϥεʹ͚ͭΔ -JWF3FOEFSJOH͍ͨ͠ ϓϩύςΟʹ͚ͭΔ
4VTIJ#VUUPON - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } // தུ
- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); // ӨΛඳը CGContextSetFillColor(context,CGColorGetComponents(self.ellips eColor.CGColor)); NSInteger padding = 20; CGRect frame = self.bounds; frame.origin = CGPointMake(padding, frame.size.height * 0.7); frame.size = CGSizeMake(frame.size.width - padding * 2, frame.size.height * 0.2); CGContextFillEllipseInRect(context, frame); }
࣮ߦ݁Ռ -JWF3FOEFSJOHͷ ݁Ռͷͱ͓Γ࣮ߦ͞ΕΔ 'SBNFXPSLʹؚΊΔͱ $POUBJOJOH"QQͱ "QQ&YUFOTJPOͰಉ͡ ίʔυΛ͍ճͤΔ 'SBNFXPSLʹؚΊΔͱ $POUBJOJOH"QQͱ "QQ&YUFOTJPOͰಉ͡
ίʔυΛ͍ճͤΔ
·ͱΊ
✴9DPEF͔ΒJ04༻ͷ'SBNFXPSL 5FNQMBUF͕Ճ͞Εͯ؆୯ʹ'SBNFXPSL ͕࡞Ͱ͖ΔΑ͏ʹͳͬͨ ✴'SBNFXPSL5FNQMBUF1SPKFDUͰ 6OJWFSTBM'SBNFXPSLΛͭ͘Δͷେม ͚ͩͲͰ͖ͳ͘ͳ͍ ✴&NCFEEFE'SBNFXPSLΛ͑ɺ ҟͳΔλʔήοτؒͰίʔυΛڞ༗Ͱ͖Δ ✴ΧελϜͳ7JFXΛ4UPSZCPBSEͰ -JWF3FOEFSJOHͰ͖Δ
✴ಛघจࣈΩʔϘʔυΑΖ͘͠ʂ