Slide 1

Slide 1 text

AKKEY / AKIO ITAYA Cyberagent, Inc. ๨Εͳ͍Ͱʂmac appʂʂ ίϚϯυฤ○

Slide 2

Slide 2 text

໊લɿ൘୩ ߊྑɹ/ɹ͖͋ͬʔʢAKKEYʣ ৬छɿiOS ׆ಈɿ@AkkeyLab Ұݴɿݸਓ։ൃͬΆ͍ਓؾΞϓϦൃݟͰ΍Δؾഒ૿ ࣗݾ঺հ

Slide 3

Slide 3 text

ͲΜͳΞϓϦ࡞ͬͯΔਓʁ ※஫ҙɿݸਓ։ൃ

Slide 4

Slide 4 text

͔Θ͍͍ΞϓϦ

Slide 5

Slide 5 text

͔Θ͍͍ΞϓϦ • 1࣌ؒຖʹඒগঁͷ੠Ͱ࣌ؒΛ͓஌Βͤʂ • ௨஌όʔʹ͸ඒগঁΠϥετ͕ʂ • ৬৔Ͱ΋҆৺ͷϛϡʔτઃఆ౥ࡌʂ • ෆఆظͷ࢒ۀʹ͸ؾΛ͚ͭͯͶὑ

Slide 6

Slide 6 text

͔Θ͍͍ΞϓϦ • 1࣌ؒຖʹඒগঁͷ੠Ͱ࣌ؒΛ͓஌Βͤʂ • ௨஌όʔʹ͸ඒগঁΠϥετ͕ʂ • ৬৔Ͱ΋҆৺ͷϛϡʔτઃఆ౥ࡌʂ • ෆఆظͷ࢒ۀʹ͸ؾΛ͚ͭͯͶὑ

Slide 7

Slide 7 text

͔Θ͍͍ΞϓϦ • 1࣌ؒຖʹඒগঁͷ੠Ͱ࣌ؒΛ͓஌Βͤʂ • ௨஌όʔʹ͸ඒগঁΠϥετ͕ʂ • ৬৔Ͱ΋҆৺ͷϛϡʔτઃఆ౥ࡌʂ • ෆఆظͷ࢒ۀʹ͸ؾΛ͚ͭͯͶὑ ※৬৔Ͱͷ࢖༻͸ࣗݾ੹೚Ͱ͓ئ͍͠·͢ɻৗࣝͷൣғ಺Ͱʂ

Slide 8

Slide 8 text

͔Θ͍͍ΞϓϦ • 1࣌ؒຖʹඒগঁͷ੠Ͱ࣌ؒΛ͓஌Βͤʂ • ௨஌όʔʹ͸ඒগঁΠϥετ͕ʂ • ৬৔Ͱ΋҆৺ͷϛϡʔτઃఆ౥ࡌʂ • ෆఆظͷ࢒ۀʹ͸ؾΛ͚ͭͯͶὑ ※৬৔Ͱͷ࢖༻͸ࣗݾ੹೚Ͱ͓ئ͍͠·͢ɻৗࣝͷൣғ಺Ͱʂ

Slide 9

Slide 9 text

͔Θ͍͍ΞϓϦ ѪɹশɹɿɹϓϩੜͪΌΜ ೥ɹྸɹɿɹ17ࡀ ৬ɹۀɹɿɹJK ஀ੜ೔ɹɿɹ1݄11೔ ϘΠεɹɿɹ্ࡔ͢ΈΕ Ωϟϥɹɿɹixy ϓϩάϥϛϯάੜ์ૹ ༷ͱͷڠྗ

Slide 10

Slide 10 text

ͱ͍͏͜ͱͰɺ

Slide 11

Slide 11 text

mkdir command

Slide 12

Slide 12 text

Import Cocoa Class ViewController: NSViewController { func create() { let dir = “\(NSHomeDirectory())/Desktop/swift” let task = NSTask() task.launchPath = “/bin/mkdir” task.arguments = [dir] task.launch() } } ઈରύε

Slide 13

Slide 13 text

Import Cocoa Class ViewController: NSViewController { func create() { let dir = “\(NSHomeDirectory())/Desktop/swift” let task = NSTask() task.launchPath = “/bin/mkdir” task.arguments = [dir] task.launch() } }

Slide 14

Slide 14 text

• Sandbox ͷ༗ແͰऔಘͰ͖ΔσΟϨΫτϦ͕ҧ͏ ແɿ ~/ ༗ɿ ~/Library/Containers/com.app.name/Data/ ஫ҙ Bundle ID

Slide 15

Slide 15 text

cp command

Slide 16

Slide 16 text

ίϐʔݩΛબ୒

Slide 17

Slide 17 text

Import Cocoa Class ViewController: NSViewController { func copy() { let panel = NSOpenPanel() panel.canChooseFiles = true panel.canChooseDirectories = false panel.allowsMultipleSelection = false panel.allowedFileTypes = NSImage.imageTypes panel.begin(completionHandler: { num -> Void in if num == NSApplication.ModalResponse.OK, let path = panel.url?.path { Self.read(url: path) } }) } }

Slide 18

Slide 18 text

Import Cocoa extension ViewController { func read(url: String) { let home = NSHomeDirectory() task.launchPath = "/bin/cp" task.arguments = [url, home + "/swift/sample"] task.launch() } }

Slide 19

Slide 19 text

• Sandbox ར༻ͷ৔߹͸ઃఆมߋ͕ඞཁ ϑΝΠϧબ୒ɿ FileAccess > User Selected File ஫ҙ ྫɿRead Only

Slide 20

Slide 20 text

ͥͻɺ༡ΜͰΈ͍ͯͩ͘͞ʂ

Slide 21

Slide 21 text

GitHub / Qiita : @AkkeyLab

Slide 22

Slide 22 text

Thank you !!