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
0
3.8k
業務アプリの切札 Programable KIOSK mode 大全
iOSDC 2017資料
r-plus
September 17, 2017
Tweet
Share
More Decks by r-plus
See All by r-plus
Swizzling Swizzling Swizzling
r_plus
0
230
Image optimization for mobile on CDN
r_plus
0
520
Advanced guard of DeallocationChecker
r_plus
2
2.3k
東急ハンズの P2Pレジ間通信2018
r_plus
4
1.8k
enum as Option.
r_plus
0
1.9k
Enterprise cert management.
r_plus
0
290
CircleCI 2.0 for macOS
r_plus
1
1.1k
carthage verify
r_plus
2
5.6k
PropertyObserverとinoutでやらかした話
r_plus
1
1.1k
Other Decks in Technology
See All in Technology
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
小さな開発会社がWebサービスを作る理由
polidog
PRO
1
180
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
480
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
180
2024/4/26 コンピュータ歴史博物館解説告知
toshi_atsumi
0
210
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
190
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
150
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
390
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
840
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
980
Algyan イベント振り返り
linyixian
0
200
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
390
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Designing for Performance
lara
601
67k
Web development in the modern age
philhawksworth
202
10k
Done Done
chrislema
178
15k
Teambox: Starting and Learning
jrom
128
8.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
646
58k
Large-scale JavaScript Application Architecture
addyosmani
503
110k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Docker and Python
trallard
33
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
186
16k
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ΛΩϟον͠Α͏ʂ
͓ΘΓɻ