| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /**
- * 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. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
- #import "FBScreenshotCommands.h"
- #import "XCUIDevice+FBHelpers.h"
- @implementation FBScreenshotCommands
- #pragma mark - <FBCommandHandler>
- + (NSArray *)routes
- {
- return
- @[
- [[FBRoute GET:@"/screenshot"].withoutSession respondWithTarget:self action:@selector(handleGetScreenshot:)],
- [[FBRoute GET:@"/screenshot"] respondWithTarget:self action:@selector(handleGetScreenshot:)],
- ];
- }
- #pragma mark - Commands
- + (id<FBResponsePayload>)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
|