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
4.2k
業務アプリの切札 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
390
Image optimization for mobile on CDN
r_plus
0
660
Advanced guard of DeallocationChecker
r_plus
2
3.1k
東急ハンズの P2Pレジ間通信2018
r_plus
4
2.1k
enum as Option.
r_plus
0
2.3k
Enterprise cert management.
r_plus
0
390
CircleCI 2.0 for macOS
r_plus
1
1.3k
carthage verify
r_plus
2
5.9k
PropertyObserverとinoutでやらかした話
r_plus
1
1.3k
Other Decks in Technology
See All in Technology
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
460
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.7k
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
180
次世代のメールプロトコルの斜め読み
hirachan
3
360
ピープルウエア x スタートアップ
operando
1
3.3k
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
790
OPENLOGI Company Profile for engineer
hr01
1
46k
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
310
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
180
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
230
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.4k
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
600
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
950
The Invisible Side of Design
smashingmag
302
51k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Side Projects
sachag
455
43k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
The World Runs on Bad Software
bkeepers
PRO
72
11k
What's in a price? How to price your products and services
michaelherold
246
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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ΛΩϟον͠Α͏ʂ
͓ΘΓɻ