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
Xcode6のFramework Templateについて
Search
haranicle
October 31, 2014
Technology
2.8k
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.8k
bitFlyer ウォレット リニューアルの裏側
haranicle
0
190
多次元宇宙と画面遷移
haranicle
0
450
ハッピーな開発チームを築くために iOSエンジニアがしたこと
haranicle
5
15k
Playground芸
haranicle
6
2k
I💖Xcode Plugins
haranicle
0
180
Apple WatchのGlanceについて
haranicle
3
2.8k
iOS8の Custom Keyboard について
haranicle
2
1.4k
Other Decks in Technology
See All in Technology
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
2
510
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
340
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
600
Classmethod Company Deck
satoshi7
1
820
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
150
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
220
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
330
アカウント統制の健康診断
kenichinakamura
1
140
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.5k
Let's Change Our World—Again
snoozer05
PRO
5
360
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
230
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
640
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
860
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Amusing Abliteration
ianozsvald
1
350
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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Ͱ͖Δ
✴ಛघจࣈΩʔϘʔυΑΖ͘͠ʂ