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
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
430
ハッピーな開発チームを築くために iOSエンジニアがしたこと
haranicle
5
15k
Playground芸
haranicle
6
2k
I💖Xcode Plugins
haranicle
0
170
Apple WatchのGlanceについて
haranicle
3
2.8k
iOS8の Custom Keyboard について
haranicle
2
1.4k
Other Decks in Technology
See All in Technology
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
6
1.1k
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
2
200
システム監視入門
grimoh
5
750
reFACToring
moznion
1
890
AIQAのナレッジ構築について
qatonchan
1
130
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
150
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
300
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
560
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
830
害獣害虫を自動判別! ペストコントロール支援ビジネス成功のヒント【SORACOM Discovery 2026】
soracom
PRO
0
120
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
200
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
180
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Agile that works and the tools we love
rasmusluckow
331
22k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Crafting Experiences
bethany
1
230
A Tale of Four Properties
chriscoyier
163
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Making Projects Easy
brettharned
120
6.7k
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Ͱ͖Δ
✴ಛघจࣈΩʔϘʔυΑΖ͘͠ʂ