Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Adobe Creative SDK ImageEdit UIの紹介

Adobe Creative SDK ImageEdit UIの紹介

2016.04.23に『フロントエンド✕モバイルアプリ勉強会
』でお話しした、『Adobe Creative SDK ImageEdit UIの紹介』のスライドです。

A73ed5cefbbd84abd2c5e14a5eb4a339?s=128

Ippei Sumida

April 23, 2016
Tweet

Transcript

  1. Adobe Creative SDK 
 ImageEdit UIͷ঺հ ϑϩϯτΤϯυ✕ϞόΠϧΞϓϦษڧձ
 2016.04.23

  2. ࣗݾ঺հ • ֯ాɹҰฏʢεϛμɹΠοϖΠʣ • DNPσδλϧίϜ • PHP, iOS, AndroidΤϯδχΞ •

    CoderDojo੢ٶɾകాɹϝϯλʔɺੈ࿩ਓձ
  3. ࣗݾ঺հ @ippey_s ippeisumida

  4. Adobe Creative SDK

  5. Adobe Creative SDKͱ͸ • Adobe੡ͷը૾ܥϥΠϒϥϦ • iOS, Android, Web͕༻ҙ͞Ε͍ͯΔ •

    ແྉͰར༻Մೳ
  6. ओͳػೳ

  7. Creative Cloud Content Management

  8. Creative Cloud Market

  9. Creative Tool

  10. Connected Workflow

  11. ओͳػೳ • Creative Cloud Content Management • Creative Cloud Market

    • Creative Tools • Connected Workflow
  12. Creative Tools • Image Edit UIʢAviaryʣ • Color Tools UI

  13. ಋೖࣄྫ

  14. KURURi

  15. ಋೖࣄྫʢKURURiʣ • DNP੡ϑϦϚΞϓϦ • iOS, AndroidରԠ • ग़඼ը૾ͷฤूػೳʹར༻

  16. ར༻Πϝʔδ

  17. ಋೖϝϦοτ • ը૾ฤूػೳ։ൃͷίετ࡟ݮ • എܠɾจࣈ৭ͳͲ͋Δఔ౓ΧελϚΠζՄೳ • iOS, AndroidͷػೳΛ౷ҰͰ͖Δ

  18. How to use Image Edit UI

  19. How to use Image Edit UI • iOS, Android͸ωΠςΟϒ •

    Web͸JavaScript͕ͩɺPC, λϒϨοτ޲͚ • ࠓճ͸ɺCordova + iOS SDK
  20. ClientID, Secretऔಘ

  21. ClientID, Secretऔಘ

  22. SDKμ΢ϯϩʔυ

  23. Frameworkίϐʔ

  24. BuildPhaseઃఆʢPlugin௥Ճޙʣ

  25. PluginϑΝΠϧߏ଄

  26. Plugin࡞੒
 Framework௥Ճ <framework src="src/ios/AdobeCreativeSDKImage.framework" custom="true" /> <framework src="src/ios/AdobeCreativeSDKCore.framework" custom="true" />

    <framework src="Accelerate.framework" /> <framework src="CoreData.framework" /> <framework src="libsqlite3.0.dylib" /> <framework src="libz.1.2.5.dylib" /> <framework src="Foundation.framework" /> <framework src="MessageUI.framework" /> <framework src="OpenGLES.framework" /> <framework src="QuartzCore.framework" /> <framework src="StoreKit.framework" /> <framework src="MobileCoreServices.framework" /> <framework src="UIKit.framework" /> <framework src="libc++.dylib" />
  27. Plugin࡞੒
 ίϚϯυ௥Ճ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>

    @interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end
  28. Plugin࡞੒
 ίϚϯυ௥Ճ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>

    @interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end Protocolઃఆ
  29. Plugin࡞੒
 ίϚϯυ௥Ճ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>

    @interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end ίϚϯυએݴ
  30. Plugin࡞੒
 ίϚϯυ௥Ճ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client

    Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; }
  31. Plugin࡞੒
 ίϚϯυ௥Ճ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client

    Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; } Client ID, Secretઃఆ
  32. Plugin࡞੒
 ίϚϯυ௥Ճ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client

    Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; } ฤूϏϡʔੜ੒ɾදࣔ
  33. Plugin࡞੒
 Delegateઃఆʢอଘʣ - (void)photoEditor:(AdobeUXImageEditorViewController *)editor finishedWithImage:(UIImage *)image { // Handle

    the result image here NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; NSData *binaryData = UIImagePNGRepresentation(image); [binaryData writeToFile:[basePath stringByAppendingPathComponent: @"result.png"] atomically: YES]; CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @"save"]; [editorController dismissViewControllerAnimated: YES completion: nil]; [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId]; }
  34. Plugin࡞੒
 DelegateઃఆʢΩϟϯηϧʣ - (void)photoEditorCanceled:(AdobeUXImageEditorViewController *)editor { // Handle cancellation here

    CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @"cancel"]; [editorController dismissViewControllerAnimated: YES completion: nil]; [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId]; }
  35. ࢖༻্ͷ஫ҙ • iOS, Web͸؆୯ • Android΋ͦͦ͜͜؆୯ • ωοτϫʔΫ͕઀ଓ͞Ε͍ͯΔલఏ • SDKͷߋ৽ϖʔε͕ૣ͍

  36. ࠂ஌

  37. DojoCon Japan 2016
 2016೥8݄27೔ʢ౔ʣ։࠵ʂ

  38. ͝੩ௌ
 ͋Γ͕ͱ͏͍͟͝·ͨ͠