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
業務アプリの切札 Programable KIOSK mode 大全
Search
r-plus
September 17, 2017
Technology
4.3k
0
Share
業務アプリの切札 Programable KIOSK mode 大全
iOSDC 2017資料
r-plus
September 17, 2017
More Decks by r-plus
See All by r-plus
Swizzling Swizzling Swizzling
r_plus
0
430
Image optimization for mobile on CDN
r_plus
0
690
Advanced guard of DeallocationChecker
r_plus
2
3.2k
東急ハンズの P2Pレジ間通信2018
r_plus
4
2.2k
enum as Option.
r_plus
0
2.3k
Enterprise cert management.
r_plus
0
400
CircleCI 2.0 for macOS
r_plus
1
1.3k
carthage verify
r_plus
2
6k
PropertyObserverとinoutでやらかした話
r_plus
1
1.3k
Other Decks in Technology
See All in Technology
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
300
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
240
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
190
Embeddings : Symfony AI en pratique
lyrixx
0
440
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
260
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
520
スクラムを支える内部品質の話
iij_pr
0
170
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
410
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
Making Projects Easy
brettharned
120
6.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Bash Introduction
62gerente
615
210k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
RailsConf 2023
tenderlove
30
1.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
180
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
470
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Code Reviewing Like a Champion
maltzj
528
40k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Transcript
ۀΞϓϦͷࡳ Programable KIOSK mode େશ 9/17 iOSDC 2017 taiki komaba(@r_plus)
UBJLJLPNBCB !S@QMVT )"/%4-"#*/$
,*04, BLB4JOHMF"QQ.PEF
Programable Require Supervision Require MDM Guided Access No No No
SingleApp Mode No Yes No ࣗత SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
Guided Access
SS͓͘
GUIDED ACCESS ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸ ΩʔϘʔυ
▸ λον ▸ ը໘ճస
GUIDED ACCESS ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸ ΩʔϘʔυ
▸ λον ▸ ը໘ճస ⚠ଟͷσόΠε੍ޚʹ͔ͳ͍
SingleAppMode
Apple Configurator
MDM
SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸
ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭స ▸ VoiceOver
SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸
ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭స ▸ VoiceOver ଟͷσόΠεʹEFQMPZՄೳ
SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸
ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭స ▸ VoiceOver ଟͷσόΠεʹEFQMPZՄೳ ͔͠͠"1*͕͑ͳ͍
ࣗత SingleAppMode
ࣗతSINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ Multitasking ΞϓϦͷΈར༻Մʹ͢Δత
ແޮԽͰ͖Δ߲͕গͳ͘ઃఆෆՄ
ࣗಈධՁઃఆ (Automatic Assessment Configuration)
ࣗಈධՁઃఆ ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ Multitasking ▸ ࣗಈิ/εϖϧνΣοΫ/༧ଌม/ΩʔϘʔυγϣʔτΧοτ/ ΫϦοϓϘʔυ/Իೖྗ
ࢼݧར༻ͷͨΊͷ,JPTL ΞϓϦͷΈར༻ՄʹՃ͑ͯ ճิॿʹͳΔΑ͏ͳػೳͷແޮԽ
Programable Require Supervision Require MDM Guided Access No No No
SingleApp Mode No Yes No ࣗత SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
Programable Require Supervision Require MDM Guided Access No No No
SingleApp Mode No Yes No ࣗత SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
)PXUP FOBCMF QSPHSBNBCMF
func UIAccessibilityRequestGuidedAccessSession (_ enable: Bool, completionHandler: @escaping (Bool) -> Void)
UIAccessibilityRequestGuidedAccessSession(true) { success in print(success) } ⚠completionHandler͕࣮ߦ͞ΕΔ·Ͱඦmsఔ͔͔Δ
-PDLBCMF
εϦʔϓϩοΫϘλϯ ແޮԽର
͔͠͠ ͨ·ʹϩοΫͰ͖Δ
None
ϩοΫͰ͖ ·ͨ͠
Ͱɺ͜Εηʔϑ
ը໘ফ౮͞Ε͍ͯΔ͚ͩ ϩοΫղআը໘ग़ͳ͍
,JPTL $SBTI
,JPTLϞʔυͰ Ϋϥογϡͨ࣌͠ Ͳ͏ͳΔ͔ʁ
ϗʔϜը໘ʹભҠޙ ࣗಈతʹΞϓϦ͕ىಈ
None
(͏·͘ىಈ͠·ͨ͠)
ఆظతͳ FYJU ͰϝϞϦͷΫϦΞ͕Մೳ
ͱࢥ͍͖ɾɾɾ
None
ΘΓͱىಈ͠ͳ͍
͔͠
ΞϓϦΛλοϓͯ͠ ىಈ͠ͳ͍
શΞϓϦɺλοϓͯ͠ ىಈ͠ͳ͍☠
XPSLBSPVOE ͋Γ·͢
,JPTLΦϑͰͷ$SBTI ͳΒൃੜ͠ͳ͍
func NSSetUncaughtExceptionHandler(_: ((NSException) -> Void)?)
func NSSetUncaughtExceptionHandler { exception in UIAccessibilityRequestGuidedAccessSession(false){ _ in } }
4XJGUͷΫϥογϡͰ ݺΕͳ͍ func NSSetUncaughtExceptionHandler { exception in UIAccessibilityRequestGuidedAccessSession(false){ _ in
} }
4XJGUͷΫϥογϡ OJMVOXSBQFUD ⚡γάφϧ⚡͕ඈͿ͚ͩɻ
SIGNALS ▸ SIGHUP ▸ SIGINT ▸ SIGTRAP ▸ SIGABRT ▸
SIGKILL ▸ SIGSEGV ▸ … NBOTJHOBMͰ৭ʑݟΕ·͢
⚡γάφϧ⚡Λτϥοϓ͠Α͏
import Darwin func sigaction(_: Int32, _: UnsafePointer<sigaction>!, _: UnsafeMutablePointer<sigaction>!) ->
Int32 int sigaction(int sig, const struct sigaction *restrict act, struct sigaction *restrict oact); JO$ NBOTJHBDUJPOͰ৭ʑݟΕ·͢ *#.4XJGU#MVF4JHOBMT͕Φεεϝ
·ͱΊ ▸ KioskϞʔυʹ4छྨ͋Δɺ੍ݶͰ͖ΔػೳͦΕͧΕҧ͏ ▸ API͕͑Δͷͱ͑ͳ͍KioskϞʔυ͕͋Δ ▸ KioskϞʔυͰϓϩηε͕ऴྃ͢ΔͱࣗಈͰ࠶ىಈ͞ΕΔ ▸ ࣗಈతͳ࠶ىಈத్ͳঢ়ଶʹͳΔࣄ͕͋Δ ▸
த్ͳঢ়ଶʹͳΔͱ٧Ή ▸ ٧·ͳ͍ͨΊʹNSExceptionͱSIGNALΛΩϟον͠Α͏ʂ
͓ΘΓɻ