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
ユーザーたった一人のアプリ開発記
Search
codelynx
September 27, 2023
Programming
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ユーザーたった一人のアプリ開発記
Swift愛好会 2023 September
codelynx
September 27, 2023
More Decks by codelynx
See All by codelynx
AI & Enginnering
codelynx
0
180
Claude codeで 創る世界と壊れる世界
codelynx
0
220
Caude codeで爆速開発
codelynx
0
190
2024-05-yumemi.pdf
codelynx
0
400
Hello New Project
codelynx
1
310
WWDC21/Xcode13
codelynx
0
270
Tailor_your_Metal_apps_for_Apple_M1.pdf
codelynx
0
140
Swizzling NSObject classes in Swift
codelynx
0
190
Delegate Chaining Workaround
codelynx
0
79
Other Decks in Programming
See All in Programming
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
140
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
さぁV100、メモリをお食べ・・・
nilpe
0
150
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
540
The NotImplementedError Problem in Ruby
koic
1
840
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
590
Featured
See All Featured
Done Done
chrislema
186
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
KATA
mclloyd
PRO
35
15k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
WCS-LA-2024
lcolladotor
0
650
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Transcript
খઆಡਓΞϓϦ։ൃه Kaz Yoshikawa 2023 September • Swift Ѫձ
Kaz Yoshikawa • Electricwoods LLC / Digital Lynx Systems Inc.
/ Yumemi Inc • e-mail:
[email protected]
• twitter: @codelynx1 • Working History • Adobe Systems (Tokyo) • Lionbridge (Tokyo) • Quark (Tokyo / Denver) • Hummingbird Communications (Mt. View, USA) • Fact International (Vancouver, Canada) • Perle Systems (Toronto, Canada), etc.
ؔΘ͖ͬͯͨ
e-Conte board
None
None
None
খઆಡਓ • ʮখઆՈʹͳΖ͏ʯઐ༻ɺԻಡΈ্͛ΞϓϦ • ಉαΠτͷখઆͷݕࡧɺࣗಈμϯϩʔυɺಡΈ্͛ɺطಡཧ • ଉࢠઐ༻ΞϓϦ
͖͔͚ͬ • 201xɺখֶੜʢ࣌ʣͷࢠڙͷҰݴ͔Β࢝·Δ • ౦ژʵτϩϯτؒͷҠಈ࣌ʹΦϑϥΠϯͰWebখઆΛಡΈ͍ͨ • ීஈiTextSpeakerͰຊจΛίϐϖͯࣖ͠ฉ͔͍ͤͯͨ • ࣌ଉࢠࣈ͋·ΓಡΊͳ͍ʢௌ͘ͷͳ͍ʣ •
100+ΤϐιʔυΛίϐϖ͢ΔͷͩΔ͍ • ͜ΕΛฉ͍ͨͷ͕ϑϥΠτલ
ΞϓϦ։ൃ • ϑϥΠτͰͲͷΣϒখઆΛಡΈ͍͔ͨώΞϦϯά • ಉখઆʢ֤ΤϐιʔυʣΛશͯखಈͰμϯϩʔυ(HTML) • ϓϨʔϯςΩετʹม • UIPageViewControllerͰ֤ΤϐιʔυΛAVSpeechSynthesizerͰ࿕ಡ •
খઆ໊ͱػೳΛݶఆ͢Εɺ̍Ͱ։ൃͰ͖Δ͔ʁ
݁Ռ • ۭߓͰϑϥΠτલʹଉࢠͷiPhoneʹΠϯετʔϧ • ۭߓͰࢦΛΫϩεͯ͠ݟૹΓ • ϑϥΠτதʹಉΣϒখઆͷ࿕ಡ͕Ͱ͖ΔࣄΛفΔ • ϑϥΠτޙͷײ •
ʮΞϓϦ͕མ͍ͪͯʹͳΒΜʯ • ΨϏʔΜʂʁ
খઆಡ্ΞϓϦ։ൃ࢝ಈʂ • ඪ • ͳΖ͏খઆAPIͰখઆΛݕࡧ • ֤ΤϐιʔυΛࣗಈμϯϩʔυ • ֤ΤϐιʔυΛࣗಈಡΈ্͛ •
طಡཧ • ϢʔβʔଉࢠͨͩҰਓʂ
NarouFetcher • খઆՈʹͳΖ͏API͔Βݕࡧ • Ωʔϫʔυ • ϒοΫϚʔΫͷଟ͍ॱɺ৽ணߋ৽ॱͳͲ • SwiftͰར༻Մೳ •
ࠓ͔Βࢥ͑ • ΤϐιʔυFetch͍ͯ͠ͳ͍ͷͰ໊લඍົ
ݕࡧػೳΛ࣮ • ҎԼͷ߲ͰݕࡧՄೳ • Ncode • λΠτϧ • ͋Β͢͡ •
࡞ऀ • APIͷ݁Ռඍົ
WebεΫϨΠϐϯά • ͳΖ͏APIຊจͷμϯϩʔυͰ͖ͳ͍ • HTMLͷεΫϨΠϐϯά • ͳΜͱɺiOSʹXMLDocument͕͑ͳ͍ʁ • KissXMLɺKanna •
XPathͰඞཁͳใΛऔಘ • ΤϐιʔυͷURLɺλΠτϧɺߋ৽ͳͲ
μϯϩʔυը໘ • ݸผ·ͨҰׅͰɺΤϐιʔυΛμϯϩʔυՄೳ • Τϐιʔυ͕ߋ৽͞Εͨ߹ݸผʹμϯϩʔυ • ߋ৽͞Ε͍ͯͳ͍Τϐιʔυͷμϯϩʔυ͠ͳ͍ • ΤϥʔॲཧݶఆతͰOK
อଘσʔλߏ • NCodeຖʹϑΥϧμ • ΤϐιʔυຖʹplistͰอଘ
ઃܭͷࣦഊ • ॳɺςΩετσʔλΛܰ͘ݟੵΓࣦ͗ͯ͢ഊ • ςΩετσʔλͰ100ΤϐιʔυΛ͑ΔσʔλͦΕͳΓʹେ͖͍ • ֤Τϐιʔυͷ෦ߋ৽Ͱɺશσʔλͷϩʔυηʔϒ͕ඞཁ • طಡΛՃͨ࣌͠ʹ࠶ઃܭΛܾஅ •
֤Τϐιʔυͷσʔλখͯͨ͘͞͠ํ͕͍͍
࿕ಡػೳ࣮ PageViewController ViewController ViewController ViewController Episode1 Episode2 Episode3
ઃܭͷࣦഊ • ΤϐιʔυຖʹAVSpeechSynthesizerΛ࣋ͭ • վϖʔδ࣌ʹޡ࡞ಈ ViewController Episode1 AVSpeechSynthesizer ViewController Episode2
AVSpeechSynthesizer վϖʔδ
վળҊ1 • PageControllerͷେݩʹSynthesizerΛஔ PageViewController ViewController ViewController ViewController Episode1 Episode2 Episode3
AVSpeechSynthesizer
վળҊ2 • ௌ͖ͳ͕Β৸ͯ͠·͏ରࡦ͕Ͱ͖ͳ͍ • ৸ͯ͠·͏ͱແݶʹΤϐιʔυ͕ਐΉ • طಡ͕ཧͰ͖ͳ͍ Singleton ViewController ViewController
ViewController Episode1 Episode2 Episode3 AVSpeechSynthesizer
AVSpeechSynthesizer • ಡΈؒҧ͍ • AppleVoiceVoxΛങऩͯ͠΄͍͠ ݾ ͭͪͷ͜ ͓ͷΕ ҟੈք ͜ͱ͔͍ͤ
͍͔͍ͤ
ͯ͞ϦϦʔεͯ͠ΈΑ͔ • HINAϓϩδΣΫτʹڋ൱͞Εͨ • ݸਓͰͷར༻ͱ͔͘εΫϨΠϐϯάΊͯཉ͍͠ • ٧Μͩ
Fin