/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. */ #import "FBScreenshotCommands.h" #import "XCUIDevice+FBHelpers.h" @implementation FBScreenshotCommands #pragma mark - + (NSArray *)routes { return @[ [[FBRoute GET:@"/screenshot"].withoutSession respondWithTarget:self action:@selector(handleGetScreenshot:)], [[FBRoute GET:@"/screenshot"] respondWithTarget:self action:@selector(handleGetScreenshot:)], ]; } #pragma mark - Commands + (id)handleGetScreenshot:(FBRouteRequest *)request { NSError *error; NSData *screenshotData = [[XCUIDevice sharedDevice] fb_screenshotWithError:&error]; if (nil == screenshotData) { return FBResponseWithStatus([FBCommandStatus unableToCaptureScreenErrorWithMessage:error.description traceback:nil]); } NSString *screenshot = [screenshotData base64EncodedStringWithOptions:0]; return FBResponseWithObject(screenshot); } @end