初始化提交
This commit is contained in:
15
WebDriverAgentTests/IntegrationApp/Classes/AppDelegate.h
Normal file
15
WebDriverAgentTests/IntegrationApp/Classes/AppDelegate.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate,UNUserNotificationCenterDelegate>
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
15
WebDriverAgentTests/IntegrationApp/Classes/AppDelegate.m
Normal file
15
WebDriverAgentTests/IntegrationApp/Classes/AppDelegate.m
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* 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 "AppDelegate.h"
|
||||
|
||||
@interface AppDelegate ()
|
||||
@end
|
||||
|
||||
@implementation AppDelegate
|
||||
@end
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
|
||||
@interface FBAlertViewController : UIViewController
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* 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 "FBAlertViewController.h"
|
||||
|
||||
#import <Photos/Photos.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
@interface FBAlertViewController ()
|
||||
@property (nonatomic, strong) CLLocationManager *locationManager;
|
||||
@end
|
||||
|
||||
@implementation FBAlertViewController
|
||||
|
||||
- (IBAction)createAppAlert:(UIButton *)sender
|
||||
{
|
||||
[self presentAlertController];
|
||||
}
|
||||
|
||||
- (IBAction)createAppSheet:(UIButton *)sender
|
||||
{
|
||||
UIAlertController *alerController =
|
||||
[UIAlertController alertControllerWithTitle:@"Magic Sheet"
|
||||
message:@"Should read"
|
||||
preferredStyle:UIAlertControllerStyleActionSheet];
|
||||
UIPopoverPresentationController *popPresenter = [alerController popoverPresentationController];
|
||||
popPresenter.sourceView = sender;
|
||||
[self presentViewController:alerController animated:YES completion:nil];
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)createNotificationAlert:(UIButton *)sender
|
||||
{
|
||||
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
|
||||
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound|UNAuthorizationOptionAlert|UNAuthorizationOptionBadge)
|
||||
completionHandler:^(BOOL granted, NSError * _Nullable error)
|
||||
{
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[UIApplication sharedApplication] registerForRemoteNotifications];
|
||||
});
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)createCameraRollAccessAlert:(UIButton *)sender
|
||||
{
|
||||
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)createGPSAccessAlert:(UIButton *)sender
|
||||
{
|
||||
self.locationManager = [CLLocationManager new];
|
||||
[self.locationManager requestAlwaysAuthorization];
|
||||
}
|
||||
|
||||
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||||
{
|
||||
[super touchesMoved:touches withEvent:event];
|
||||
for (UITouch *touch in touches) {
|
||||
if (fabs(touch.maximumPossibleForce - touch.force) < 0.0001) {
|
||||
[self presentAlertController];
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)presentAlertController
|
||||
{
|
||||
UIAlertController *alerController =
|
||||
[UIAlertController alertControllerWithTitle:@"Magic"
|
||||
message:@"Should read"
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
[alerController addAction:[UIAlertAction actionWithTitle:@"Will do" style:UIAlertActionStyleDefault handler:nil]];
|
||||
[self presentViewController:alerController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
@interface FBNavigationController : UINavigationController
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* 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 "FBNavigationController.h"
|
||||
|
||||
@implementation FBNavigationController
|
||||
|
||||
#if !TARGET_OS_TV
|
||||
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
|
||||
{
|
||||
return UIInterfaceOrientationMaskAll;
|
||||
}
|
||||
#endif
|
||||
|
||||
- (BOOL)shouldAutorotate
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
@interface FBScrollViewController : UIViewController
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* 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 "FBScrollViewController.h"
|
||||
|
||||
#import "FBTableDataSource.h"
|
||||
|
||||
static const CGFloat FBSubviewHeight = 40.0;
|
||||
|
||||
@interface FBScrollViewController ()
|
||||
@property (nonatomic, weak) IBOutlet UIScrollView *scrollView;
|
||||
@property (nonatomic, strong) IBOutlet FBTableDataSource *dataSource;
|
||||
@end
|
||||
|
||||
@implementation FBScrollViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self setupLabelViews];
|
||||
self.scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.frame), self.dataSource.count * FBSubviewHeight);
|
||||
}
|
||||
|
||||
- (void)setupLabelViews
|
||||
{
|
||||
NSUInteger count = self.dataSource.count;
|
||||
for (NSInteger i = 0 ; i < count ; i++) {
|
||||
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, i * FBSubviewHeight, CGRectGetWidth(self.view.frame), FBSubviewHeight)];
|
||||
label.text = [self.dataSource textForElementAtIndex:i];
|
||||
label.textAlignment = NSTextAlignmentCenter;
|
||||
[self.scrollView addSubview:label];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
@interface FBTableDataSource : NSObject <UITableViewDataSource>
|
||||
|
||||
- (NSUInteger)count;
|
||||
- (NSString *)textForElementAtIndex:(NSInteger)index;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 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 "FBTableDataSource.h"
|
||||
|
||||
@implementation FBTableDataSource
|
||||
|
||||
- (NSUInteger)count
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
|
||||
- (NSString *)textForElementAtIndex:(NSInteger)index
|
||||
{
|
||||
return [NSString stringWithFormat:@"%ld", (long)index];
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
|
||||
{
|
||||
return self.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
|
||||
cell.textLabel.text = [self textForElementAtIndex:indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
|
||||
@end
|
||||
17
WebDriverAgentTests/IntegrationApp/Classes/TouchSpotView.h
Normal file
17
WebDriverAgentTests/IntegrationApp/Classes/TouchSpotView.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TouchSpotView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
28
WebDriverAgentTests/IntegrationApp/Classes/TouchSpotView.m
Normal file
28
WebDriverAgentTests/IntegrationApp/Classes/TouchSpotView.m
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* 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 "TouchSpotView.h"
|
||||
|
||||
@implementation TouchSpotView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
self.backgroundColor = UIColor.lightGrayColor;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)setBounds:(CGRect)newBounds
|
||||
{
|
||||
super.bounds = newBounds;
|
||||
self.layer.cornerRadius = newBounds.size.width / 2.0;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
#import "TouchableView.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TouchViewController : UIViewController
|
||||
|
||||
@property (weak, nonatomic) IBOutlet TouchableView *touchable;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *numberOfTapsLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *numberOfTouchesLabel;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* 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 "TouchViewController.h"
|
||||
|
||||
@implementation TouchViewController
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
self.touchable.delegate = self;
|
||||
self.numberOfTouchesLabel.text = @"0";
|
||||
self.numberOfTapsLabel.text = @"0";
|
||||
}
|
||||
|
||||
- (void)shouldHandleTapsNumber:(int)numberOfTaps {
|
||||
self.numberOfTapsLabel.text = [NSString stringWithFormat:@"%d", numberOfTaps];
|
||||
}
|
||||
|
||||
- (void)shouldHandleTouchesNumber:(int)touchesCount {
|
||||
self.numberOfTouchesLabel.text = [NSString stringWithFormat:@"%d", touchesCount];
|
||||
}
|
||||
|
||||
@end
|
||||
29
WebDriverAgentTests/IntegrationApp/Classes/TouchableView.h
Normal file
29
WebDriverAgentTests/IntegrationApp/Classes/TouchableView.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
#import "TouchSpotView.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol TouchableViewDelegate <NSObject>
|
||||
|
||||
- (void)shouldHandleTouchesNumber:(int)touchesCount;
|
||||
- (void)shouldHandleTapsNumber:(int)numberOfTaps;
|
||||
|
||||
@end
|
||||
|
||||
@interface TouchableView : UIView
|
||||
|
||||
@property (nonatomic) NSMutableDictionary<NSNumber*, TouchSpotView*> *touchViews;
|
||||
@property (nonatomic) int numberOFTaps;
|
||||
@property (nonatomic) id delegate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
108
WebDriverAgentTests/IntegrationApp/Classes/TouchableView.m
Normal file
108
WebDriverAgentTests/IntegrationApp/Classes/TouchableView.m
Normal file
@@ -0,0 +1,108 @@
|
||||
/**
|
||||
* 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 "TouchableView.h"
|
||||
|
||||
@implementation TouchableView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
self.multipleTouchEnabled = YES;
|
||||
self.numberOFTaps = 0;
|
||||
self.touchViews = [[NSMutableDictionary alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder
|
||||
{
|
||||
self = [super initWithCoder:coder];
|
||||
if (self) {
|
||||
self.multipleTouchEnabled = YES;
|
||||
self.numberOFTaps = 0;
|
||||
self.touchViews = [[NSMutableDictionary alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||||
{
|
||||
self.numberOFTaps += 1;
|
||||
[self.delegate shouldHandleTouchesNumber:(int)touches.count];
|
||||
for (UITouch *touch in touches)
|
||||
{
|
||||
[self createViewForTouch:touch];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||||
{
|
||||
for (UITouch *touch in touches)
|
||||
{
|
||||
TouchSpotView *view = [self viewForTouch:touch];
|
||||
CGPoint newLocation = [touch locationInView:self];
|
||||
view.center = newLocation;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||||
{
|
||||
for (UITouch *touch in touches)
|
||||
{
|
||||
[self removeViewForTouch:touch];
|
||||
}
|
||||
[self.delegate shouldHandleTapsNumber:self.numberOFTaps];
|
||||
}
|
||||
|
||||
- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||||
{
|
||||
for (UITouch *touch in touches)
|
||||
{
|
||||
[self removeViewForTouch:touch];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)createViewForTouch:(UITouch *)touch
|
||||
{
|
||||
if (touch)
|
||||
{
|
||||
TouchSpotView *newView = [[TouchSpotView alloc] init];
|
||||
newView.bounds = CGRectMake(0, 0, 1, 1);
|
||||
newView.center = [touch locationInView:self];
|
||||
[self addSubview:newView];
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
newView.bounds = CGRectMake(0, 0, 100, 100);
|
||||
}];
|
||||
|
||||
self.touchViews[[self touchHash:touch]] = newView;
|
||||
}
|
||||
}
|
||||
|
||||
- (TouchSpotView *)viewForTouch:(UITouch *)touch
|
||||
{
|
||||
return self.touchViews[[self touchHash:touch]];
|
||||
}
|
||||
|
||||
- (void)removeViewForTouch:(UITouch *)touch
|
||||
{
|
||||
NSNumber *touchHash = [self touchHash:touch];
|
||||
UIView *view = self.touchViews[touchHash];
|
||||
if (view)
|
||||
{
|
||||
[view removeFromSuperview];
|
||||
[self.touchViews removeObjectForKey:touchHash];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSNumber *)touchHash:(UITouch *)touch
|
||||
{
|
||||
return [NSNumber numberWithUnsignedInteger:touch.hash];
|
||||
}
|
||||
@end
|
||||
12
WebDriverAgentTests/IntegrationApp/Classes/ViewController.h
Normal file
12
WebDriverAgentTests/IntegrationApp/Classes/ViewController.h
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
@interface ViewController : UIViewController
|
||||
@end
|
||||
66
WebDriverAgentTests/IntegrationApp/Classes/ViewController.m
Normal file
66
WebDriverAgentTests/IntegrationApp/Classes/ViewController.m
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* 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 "ViewController.h"
|
||||
|
||||
@interface ViewController ()
|
||||
@property (weak, nonatomic) IBOutlet UILabel *orentationLabel;
|
||||
@end
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
- (IBAction)deadlockApp:(id)sender
|
||||
{
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
// This will never execute
|
||||
});
|
||||
}
|
||||
|
||||
- (IBAction)didTapButton:(UIButton *)button
|
||||
{
|
||||
button.selected = !button.selected;
|
||||
}
|
||||
|
||||
- (void)viewDidLayoutSubviews
|
||||
{
|
||||
[super viewDidLayoutSubviews];
|
||||
[self updateOrentationLabel];
|
||||
}
|
||||
|
||||
#if !TARGET_OS_TV
|
||||
- (void)updateOrentationLabel
|
||||
{
|
||||
NSString *orientation = nil;
|
||||
switch (UIDevice.currentDevice.orientation) {
|
||||
case UIInterfaceOrientationPortrait:
|
||||
orientation = @"Portrait";
|
||||
break;
|
||||
case UIInterfaceOrientationPortraitUpsideDown:
|
||||
orientation = @"PortraitUpsideDown";
|
||||
break;
|
||||
case UIInterfaceOrientationLandscapeLeft:
|
||||
orientation = @"LandscapeLeft";
|
||||
break;
|
||||
case UIInterfaceOrientationLandscapeRight:
|
||||
orientation = @"LandscapeRight";
|
||||
break;
|
||||
case UIDeviceOrientationFaceUp:
|
||||
orientation = @"FaceUp";
|
||||
break;
|
||||
case UIDeviceOrientationFaceDown:
|
||||
orientation = @"FaceDown";
|
||||
break;
|
||||
case UIInterfaceOrientationUnknown:
|
||||
orientation = @"Unknown";
|
||||
break;
|
||||
}
|
||||
self.orentationLabel.text = orientation;
|
||||
}
|
||||
#endif
|
||||
|
||||
@end
|
||||
56
WebDriverAgentTests/IntegrationApp/Info.plist
Normal file
56
WebDriverAgentTests/IntegrationApp/Info.plist
Normal file
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
|
||||
<string>Yo Yo</string>
|
||||
<key>NSLocationAlwaysUsageDescription</key>
|
||||
<string>Yo Yo</string>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
<string>Yo Yo</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>Yo Yo</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,617 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="nJd-IZ-bfU">
|
||||
<device id="retina6_5" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nbp-zX-Om1">
|
||||
<rect key="frame" x="186.66666666666666" y="117" width="41" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="GzF-4f-MaH"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Alerts"/>
|
||||
<connections>
|
||||
<segue destination="gK5-IX-eJx" kind="show" animates="NO" id="8RT-ON-yXm"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YgP-SF-TkS">
|
||||
<rect key="frame" x="159.66666666666666" y="155" width="95" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="wTu-YB-p22"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Deadlock app"/>
|
||||
<connections>
|
||||
<action selector="deadlockApp:" destination="BYZ-38-t0r" eventType="touchUpInside" id="53X-DJ-KNY"/>
|
||||
<action selector="showAlert:" destination="BYZ-38-t0r" eventType="touchUpInside" id="FEN-VX-MMc"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="M2N-Yn-ytb">
|
||||
<rect key="frame" x="173" y="193" width="68" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Sf6-pE-ROp"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Attributes"/>
|
||||
<connections>
|
||||
<segue destination="65L-2T-0zt" kind="show" animates="NO" id="7cJ-OE-YWn"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="S56-6U-3gG">
|
||||
<rect key="frame" x="177" y="231" width="60" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="7sH-TN-BNa"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Scrolling"/>
|
||||
<connections>
|
||||
<segue destination="YzO-du-v3Y" kind="show" animates="NO" id="Ds1-bA-25D"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Orientation" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uiD-R4-b34">
|
||||
<rect key="frame" x="164.66666666666666" y="269" width="85" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1Ht-AF-MGW">
|
||||
<rect key="frame" x="186" y="298" width="42" height="30"/>
|
||||
<state key="normal" title="Touch"/>
|
||||
<connections>
|
||||
<segue destination="XaE-eF-eIt" kind="show" id="q3u-B9-6R6"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="MainView"/>
|
||||
<constraints>
|
||||
<constraint firstItem="YgP-SF-TkS" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="41Q-cm-l5K"/>
|
||||
<constraint firstItem="S56-6U-3gG" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="8UW-Nz-F04"/>
|
||||
<constraint firstItem="1Ht-AF-MGW" firstAttribute="top" secondItem="uiD-R4-b34" secondAttribute="bottom" constant="8" id="8f1-dz-ei9"/>
|
||||
<constraint firstItem="nbp-zX-Om1" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="Ahr-dg-qwa"/>
|
||||
<constraint firstItem="1Ht-AF-MGW" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="BDr-QP-nJQ"/>
|
||||
<constraint firstItem="nbp-zX-Om1" firstAttribute="top" secondItem="y3c-jy-aDJ" secondAttribute="bottom" constant="29" id="GcP-yp-Ze6"/>
|
||||
<constraint firstItem="uiD-R4-b34" firstAttribute="top" secondItem="S56-6U-3gG" secondAttribute="bottom" constant="8" id="SPc-4k-0MA"/>
|
||||
<constraint firstItem="M2N-Yn-ytb" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="Yr3-Lt-qdn"/>
|
||||
<constraint firstItem="YgP-SF-TkS" firstAttribute="top" secondItem="nbp-zX-Om1" secondAttribute="bottom" constant="8" id="b56-i5-Lxo"/>
|
||||
<constraint firstItem="uiD-R4-b34" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="nFx-Xr-rGC"/>
|
||||
<constraint firstItem="S56-6U-3gG" firstAttribute="top" secondItem="M2N-Yn-ytb" secondAttribute="bottom" constant="8" id="rMW-LW-ejO"/>
|
||||
<constraint firstItem="M2N-Yn-ytb" firstAttribute="top" secondItem="YgP-SF-TkS" secondAttribute="bottom" constant="8" id="tMN-gl-smg"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="dmu-Fe-aoT"/>
|
||||
<connections>
|
||||
<outlet property="orentationLabel" destination="uiD-R4-b34" id="ysn-P0-ADp"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="39.375" y="612.67605633802816"/>
|
||||
</scene>
|
||||
<!--Touch View Controller-->
|
||||
<scene sceneID="Sg1-EQ-IAj">
|
||||
<objects>
|
||||
<viewController id="XaE-eF-eIt" customClass="TouchViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="gEY-Ha-hqz"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="eVV-dI-eru"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="aEY-AK-0k9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="C6B-Wo-jWm" customClass="TouchableView">
|
||||
<rect key="frame" x="16" y="96.000000000000028" width="382" height="356.66666666666674"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="touchableView"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="C6B-Wo-jWm" secondAttribute="height" multiplier="288:269" id="LeW-u7-tWl"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Taps" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IV8-Ak-Z8e">
|
||||
<rect key="frame" x="139" y="458.66666666666669" width="131" height="21"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="numberOfTapsLabel"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Touches" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q4X-EY-aSL">
|
||||
<rect key="frame" x="125" y="487.33333333333331" width="159" height="21"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="numberOfTouchesLabel"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="C6B-Wo-jWm" firstAttribute="top" secondItem="gEY-Ha-hqz" secondAttribute="bottom" constant="8" id="1PW-tn-oTF"/>
|
||||
<constraint firstAttribute="trailing" secondItem="IV8-Ak-Z8e" secondAttribute="trailing" constant="144" id="5Tn-XG-5OD"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Q4X-EY-aSL" secondAttribute="trailing" constant="130" id="6Rr-L0-eoR"/>
|
||||
<constraint firstItem="IV8-Ak-Z8e" firstAttribute="firstBaseline" secondItem="C6B-Wo-jWm" secondAttribute="baseline" constant="24.5" symbolType="layoutAnchor" id="77y-Kf-c0Y"/>
|
||||
<constraint firstAttribute="trailing" secondItem="C6B-Wo-jWm" secondAttribute="trailing" constant="16" id="CaC-dk-dbo"/>
|
||||
<constraint firstItem="Q4X-EY-aSL" firstAttribute="leading" secondItem="aEY-AK-0k9" secondAttribute="leading" constant="125" id="Ych-oZ-hmA"/>
|
||||
<constraint firstItem="Q4X-EY-aSL" firstAttribute="top" secondItem="IV8-Ak-Z8e" secondAttribute="bottom" constant="7.5" id="ktv-kW-VWI"/>
|
||||
<constraint firstItem="C6B-Wo-jWm" firstAttribute="leading" secondItem="aEY-AK-0k9" secondAttribute="leading" constant="16" id="pI7-Ds-hXG"/>
|
||||
<constraint firstItem="IV8-Ak-Z8e" firstAttribute="leading" secondItem="aEY-AK-0k9" secondAttribute="leading" constant="139" id="vbu-wn-Qvc"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="fDl-EC-1lc"/>
|
||||
<connections>
|
||||
<outlet property="numberOfTapsLabel" destination="IV8-Ak-Z8e" id="Ymh-Kr-C7w"/>
|
||||
<outlet property="numberOfTouchesLabel" destination="Q4X-EY-aSL" id="fZ9-sH-tVY"/>
|
||||
<outlet property="touchable" destination="C6B-Wo-jWm" id="6kR-LD-GPA"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="3Oz-AA-uE1" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-15" y="1514.7887323943662"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="bWj-vr-GrF">
|
||||
<objects>
|
||||
<navigationController id="nJd-IZ-bfU" customClass="FBNavigationController" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="hZx-8U-FDw">
|
||||
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="Xg3-pw-x32"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="lCH-qk-44t" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-669" y="613"/>
|
||||
</scene>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="0V0-cO-CI5">
|
||||
<objects>
|
||||
<viewController id="65L-2T-0zt" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="dDG-qA-kaN"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="i3S-l1-3Mf"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="Ucg-Ag-VpP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="Value" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mxs-lj-ChP">
|
||||
<rect key="frame" x="20" y="99" width="374" height="34"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="" label=""/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no"/>
|
||||
</textField>
|
||||
<pageControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="3" translatesAutoresizingMaskIntoConstraints="NO" id="Kpo-oC-QzU">
|
||||
<rect key="frame" x="161" y="324" width="39" height="37"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</pageControl>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" horizontalCompressionResistancePriority="749" verticalCompressionResistancePriority="749" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="LZF-72-rfb">
|
||||
<rect key="frame" x="20" y="499" width="374" height="327"/>
|
||||
<mutableString key="text">1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901</mutableString>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
</textView>
|
||||
<datePicker contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" datePickerMode="dateAndTime" minuteInterval="1" style="wheels" translatesAutoresizingMaskIntoConstraints="NO" id="dxw-sJ-Dkr">
|
||||
<rect key="frame" x="20" y="365" width="374" height="126"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="126" id="QRU-5e-MQt"/>
|
||||
</constraints>
|
||||
</datePicker>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Exq-MB-zeu">
|
||||
<rect key="frame" x="103.66666666666667" y="201" width="46.000000000000014" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Otl-5O-2Nq"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Button"/>
|
||||
<connections>
|
||||
<action selector="didTapButton:" destination="65L-2T-0zt" eventType="touchUpInside" id="G9g-YC-Y4j"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NJh-8E-4En">
|
||||
<rect key="frame" x="106.66666666666667" y="242" width="42.000000000000014" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="VBZ-ac-GvI"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="Wim-fT-xNl">
|
||||
<rect key="frame" x="64" y="267" width="131" height="29"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="IoK-dx-Y4W"/>
|
||||
</constraints>
|
||||
<segments>
|
||||
<segment title="First"/>
|
||||
<segment title="Second"/>
|
||||
</segments>
|
||||
</segmentedControl>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="U7D-NR-20N">
|
||||
<rect key="frame" x="207" y="276" width="118" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="114" id="vy6-tS-yHd"/>
|
||||
</constraints>
|
||||
</slider>
|
||||
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SjL-dx-Zsi">
|
||||
<rect key="frame" x="235" y="314" width="51" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="49" id="dRJ-Hb-qNW"/>
|
||||
</constraints>
|
||||
</switch>
|
||||
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="w6h-ic-qpa">
|
||||
<rect key="frame" x="134" y="353" width="150" height="4"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="7Tf-hh-LKX"/>
|
||||
</constraints>
|
||||
</progressView>
|
||||
<stepper opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" maximumValue="100" translatesAutoresizingMaskIntoConstraints="NO" id="u8X-Wb-Od3">
|
||||
<rect key="frame" x="69" y="311" width="94" height="29"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="94" id="bNi-xp-G14"/>
|
||||
<constraint firstAttribute="height" constant="29" id="f0s-Rr-QTt"/>
|
||||
</constraints>
|
||||
</stepper>
|
||||
<label opaque="NO" userInteractionEnabled="NO" alpha="0.0" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="alpha_invisible" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucg-0s-c50">
|
||||
<rect key="frame" x="224.33333333333334" y="197" width="111.66666666666666" height="21"/>
|
||||
<color key="backgroundColor" red="1" green="0.0" blue="0.041046944598614132" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="664-Z3-V7W"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="hidden_invisible" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vt6-b1-U0h">
|
||||
<rect key="frame" x="221.66666666666666" y="226" width="122.66666666666666" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="51j-sl-XYd"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GsS-jO-scK">
|
||||
<rect key="frame" x="174" y="248" width="103" height="30"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<bool key="isElement" value="NO"/>
|
||||
</accessibility>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="e1t-Kp-sno"/>
|
||||
</constraints>
|
||||
<state key="normal" title="not_accessible"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="point" keyPath="accessibilityActivationPoint">
|
||||
<point key="value" x="200" y="220"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</button>
|
||||
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="bQv-RY-wkj">
|
||||
<rect key="frame" x="171" y="320" width="20" height="20"/>
|
||||
</activityIndicatorView>
|
||||
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="Value2" borderStyle="roundedRect" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Rab-I8-2aU">
|
||||
<rect key="frame" x="20" y="141" width="374" height="34"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="aIdentifier" label="aLabel"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no"/>
|
||||
</textField>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="GsS-jO-scK" firstAttribute="leading" secondItem="Ucg-Ag-VpP" secondAttribute="leadingMargin" constant="154" id="1RA-Fx-3Jh"/>
|
||||
<constraint firstItem="SjL-dx-Zsi" firstAttribute="top" secondItem="U7D-NR-20N" secondAttribute="bottom" constant="8" id="3NW-Hc-tPr"/>
|
||||
<constraint firstItem="mxs-lj-ChP" firstAttribute="top" secondItem="dDG-qA-kaN" secondAttribute="bottom" constant="11" id="4Fw-0B-UwC"/>
|
||||
<constraint firstItem="GsS-jO-scK" firstAttribute="top" secondItem="vt6-b1-U0h" secondAttribute="bottom" constant="1" id="4cH-4W-5qo"/>
|
||||
<constraint firstItem="dxw-sJ-Dkr" firstAttribute="trailing" secondItem="Ucg-Ag-VpP" secondAttribute="trailingMargin" id="7fI-ha-3sR"/>
|
||||
<constraint firstItem="mxs-lj-ChP" firstAttribute="leading" secondItem="Ucg-Ag-VpP" secondAttribute="leadingMargin" id="8mv-f6-WQ6"/>
|
||||
<constraint firstItem="Rab-I8-2aU" firstAttribute="leading" secondItem="Ucg-Ag-VpP" secondAttribute="leadingMargin" id="AcZ-6f-OjT"/>
|
||||
<constraint firstItem="LZF-72-rfb" firstAttribute="trailing" secondItem="Ucg-Ag-VpP" secondAttribute="trailingMargin" id="BPl-7D-KX8"/>
|
||||
<constraint firstItem="dxw-sJ-Dkr" firstAttribute="top" secondItem="w6h-ic-qpa" secondAttribute="bottom" constant="8" id="CdC-6B-Sak"/>
|
||||
<constraint firstItem="LZF-72-rfb" firstAttribute="leading" secondItem="Ucg-Ag-VpP" secondAttribute="leadingMargin" id="FXH-2O-HhB"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="GsS-jO-scK" secondAttribute="trailingMargin" id="GOy-RG-tCC"/>
|
||||
<constraint firstItem="w6h-ic-qpa" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="2" id="JAL-PW-u0w"/>
|
||||
<constraint firstItem="i3S-l1-3Mf" firstAttribute="top" secondItem="LZF-72-rfb" secondAttribute="bottom" constant="36" id="K1W-hh-eAI"/>
|
||||
<constraint firstItem="Exq-MB-zeu" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="-80.5" id="KBS-g2-6jH"/>
|
||||
<constraint firstItem="vt6-b1-U0h" firstAttribute="top" secondItem="ucg-0s-c50" secondAttribute="bottom" constant="8" id="Kgr-uw-g1y"/>
|
||||
<constraint firstItem="Rab-I8-2aU" firstAttribute="trailing" secondItem="Ucg-Ag-VpP" secondAttribute="trailingMargin" id="PhW-Vk-nlO"/>
|
||||
<constraint firstItem="u8X-Wb-Od3" firstAttribute="top" secondItem="Wim-fT-xNl" secondAttribute="bottom" constant="16" id="RFW-ZE-Wxe"/>
|
||||
<constraint firstItem="Wim-fT-xNl" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="-77.5" id="Sd1-7h-RwK"/>
|
||||
<constraint firstItem="Wim-fT-xNl" firstAttribute="top" secondItem="NJh-8E-4En" secondAttribute="bottom" constant="4" id="TXS-dN-R68"/>
|
||||
<constraint firstItem="NJh-8E-4En" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="-79.5" id="Xqj-5G-gWd"/>
|
||||
<constraint firstItem="w6h-ic-qpa" firstAttribute="top" secondItem="SjL-dx-Zsi" secondAttribute="bottom" constant="8" id="YmL-M2-lGN"/>
|
||||
<constraint firstItem="Exq-MB-zeu" firstAttribute="top" secondItem="Rab-I8-2aU" secondAttribute="bottom" constant="26" id="aLQ-Gz-cjx"/>
|
||||
<constraint firstItem="dxw-sJ-Dkr" firstAttribute="leading" secondItem="Ucg-Ag-VpP" secondAttribute="leadingMargin" id="amt-aZ-NnD"/>
|
||||
<constraint firstItem="mxs-lj-ChP" firstAttribute="trailing" secondItem="Ucg-Ag-VpP" secondAttribute="trailingMargin" id="b9B-Xj-ypz"/>
|
||||
<constraint firstItem="SjL-dx-Zsi" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="52.5" id="c5J-nU-AFi"/>
|
||||
<constraint firstItem="bQv-RY-wkj" firstAttribute="top" secondItem="Wim-fT-xNl" secondAttribute="bottom" constant="25" id="dOt-dS-sb7"/>
|
||||
<constraint firstItem="bQv-RY-wkj" firstAttribute="leading" secondItem="u8X-Wb-Od3" secondAttribute="trailing" constant="8" id="dq2-ZM-aAA"/>
|
||||
<constraint firstItem="LZF-72-rfb" firstAttribute="top" secondItem="dxw-sJ-Dkr" secondAttribute="bottom" constant="8" id="hqc-Vg-E1h"/>
|
||||
<constraint firstItem="U7D-NR-20N" firstAttribute="top" secondItem="vt6-b1-U0h" secondAttribute="bottom" constant="29" id="n1M-yh-Yr6"/>
|
||||
<constraint firstItem="u8X-Wb-Od3" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="-91" id="ocA-VF-afs"/>
|
||||
<constraint firstItem="vt6-b1-U0h" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="76" id="odm-dZ-IbR"/>
|
||||
<constraint firstItem="ucg-0s-c50" firstAttribute="top" secondItem="Rab-I8-2aU" secondAttribute="bottom" constant="22" id="pc0-2N-b6J"/>
|
||||
<constraint firstItem="NJh-8E-4En" firstAttribute="top" secondItem="Exq-MB-zeu" secondAttribute="bottom" constant="11" id="qTa-xu-PhV"/>
|
||||
<constraint firstItem="Rab-I8-2aU" firstAttribute="top" secondItem="mxs-lj-ChP" secondAttribute="bottom" constant="8" id="sDU-d6-48t"/>
|
||||
<constraint firstItem="U7D-NR-20N" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="59" id="spY-Aq-rh9"/>
|
||||
<constraint firstItem="ucg-0s-c50" firstAttribute="centerX" secondItem="Ucg-Ag-VpP" secondAttribute="centerX" constant="73" id="xoU-03-2dV"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="Hk7-AH-JlS"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="0f2-qL-RU6" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1188.75" y="1217.9577464788733"/>
|
||||
</scene>
|
||||
<!--Alert View Controller-->
|
||||
<scene sceneID="sNK-H9-0Zl">
|
||||
<objects>
|
||||
<viewController id="gK5-IX-eJx" customClass="FBAlertViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Ew1-ik-0G1"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="LIO-6E-0HO"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="JWE-cA-TW0">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="y1x-J5-Nkw">
|
||||
<rect key="frame" x="101.66666666666669" y="113" width="211" height="30"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="textField"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="B7B-wI-RFc"/>
|
||||
<constraint firstAttribute="width" constant="211" id="zSX-10-aQg"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits"/>
|
||||
</textField>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4VK-4B-FEF">
|
||||
<rect key="frame" x="149.66666666666666" y="194" width="113.99999999999997" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="xsL-Fq-mly"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create App Alert"/>
|
||||
<connections>
|
||||
<action selector="createAppAlert:" destination="gK5-IX-eJx" eventType="touchUpInside" id="t44-BA-HSi"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OQt-5y-Tft">
|
||||
<rect key="frame" x="124" y="232" width="166" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Y5y-Th-63a"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create Notification Alert"/>
|
||||
<connections>
|
||||
<action selector="createNotificationAlert:" destination="gK5-IX-eJx" eventType="touchUpInside" id="haL-pV-hTV"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rG5-3k-LFe">
|
||||
<rect key="frame" x="122" y="270" width="169" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="im5-w3-Pgi"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create Camera Roll Alert"/>
|
||||
<connections>
|
||||
<action selector="createCameraRollAccessAlert:" destination="gK5-IX-eJx" eventType="touchUpInside" id="T8R-HK-sEe"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ntr-45-Ycd">
|
||||
<rect key="frame" x="123" y="308" width="168" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="4B7-LM-UwV"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create GPS access Alert"/>
|
||||
<connections>
|
||||
<action selector="createGPSAccessAlert:" destination="gK5-IX-eJx" eventType="touchUpInside" id="gcM-Ip-10b"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CZ1-7J-OGl">
|
||||
<rect key="frame" x="66.666666666666671" y="176" width="46" height="30"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="button"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="tJH-wr-O3J"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Button"/>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="plO-2e-XmX">
|
||||
<rect key="frame" x="304.66666666666669" y="180" width="42" height="21"/>
|
||||
<accessibility key="accessibilityConfiguration" identifier="label"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="2qA-NT-ddc"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3Zk-wE-jwj">
|
||||
<rect key="frame" x="144" y="346" width="126" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Mk4-bk-Y0L"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create Sheet Alert"/>
|
||||
<connections>
|
||||
<action selector="createAppSheet:" destination="gK5-IX-eJx" eventType="touchUpInside" id="U6X-fw-xU2"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="D7g-22-s49">
|
||||
<rect key="frame" x="116" y="384" width="182" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="TzV-CY-64y"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Create Alert (Force Touch)"/>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="3Zk-wE-jwj" firstAttribute="centerX" secondItem="JWE-cA-TW0" secondAttribute="centerX" id="83u-1W-xLt"/>
|
||||
<constraint firstItem="D7g-22-s49" firstAttribute="centerX" secondItem="JWE-cA-TW0" secondAttribute="centerX" id="9nT-k0-9gf"/>
|
||||
<constraint firstItem="ntr-45-Ycd" firstAttribute="top" secondItem="rG5-3k-LFe" secondAttribute="bottom" constant="8" id="DYt-NB-TSO"/>
|
||||
<constraint firstItem="3Zk-wE-jwj" firstAttribute="top" secondItem="ntr-45-Ycd" secondAttribute="bottom" constant="8" id="Edq-zL-Soc"/>
|
||||
<constraint firstItem="y1x-J5-Nkw" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="117.5" id="Ell-4O-Iqa"/>
|
||||
<constraint firstItem="4VK-4B-FEF" firstAttribute="top" secondItem="y1x-J5-Nkw" secondAttribute="bottom" constant="51" id="JnR-cD-vZE"/>
|
||||
<constraint firstItem="OQt-5y-Tft" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="117.5" id="LQq-Br-Fda"/>
|
||||
<constraint firstItem="y1x-J5-Nkw" firstAttribute="centerX" secondItem="JWE-cA-TW0" secondAttribute="centerX" id="M6w-gn-nXE"/>
|
||||
<constraint firstItem="ntr-45-Ycd" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="117.5" id="Qj1-d9-KDa"/>
|
||||
<constraint firstItem="CZ1-7J-OGl" firstAttribute="top" secondItem="y1x-J5-Nkw" secondAttribute="bottom" constant="33" id="UHk-wV-Ehk"/>
|
||||
<constraint firstItem="D7g-22-s49" firstAttribute="top" secondItem="3Zk-wE-jwj" secondAttribute="bottom" constant="8" id="eML-6C-Von"/>
|
||||
<constraint firstItem="plO-2e-XmX" firstAttribute="top" secondItem="y1x-J5-Nkw" secondAttribute="bottom" constant="37" id="f0Z-LP-5Dg"/>
|
||||
<constraint firstItem="4VK-4B-FEF" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="117" id="fDG-Jl-VER"/>
|
||||
<constraint firstItem="y1x-J5-Nkw" firstAttribute="top" secondItem="Ew1-ik-0G1" secondAttribute="bottom" constant="25" id="gaL-qu-PB6"/>
|
||||
<constraint firstItem="plO-2e-XmX" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="236" id="h2I-eE-doE"/>
|
||||
<constraint firstItem="OQt-5y-Tft" firstAttribute="top" secondItem="4VK-4B-FEF" secondAttribute="bottom" constant="8" id="q3k-Mr-OUS"/>
|
||||
<constraint firstItem="rG5-3k-LFe" firstAttribute="top" secondItem="OQt-5y-Tft" secondAttribute="bottom" constant="8" id="tBP-U5-8Lx"/>
|
||||
<constraint firstItem="rG5-3k-LFe" firstAttribute="centerX" secondItem="CZ1-7J-OGl" secondAttribute="centerX" constant="117" id="wCj-0t-gIY"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="nfx-Tv-5Z0"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="B30-xl-1JX" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1216" y="-319"/>
|
||||
</scene>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="9RM-JC-4C4">
|
||||
<objects>
|
||||
<viewController id="YzO-du-v3Y" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="yvD-8P-ibI"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="REj-tv-GYS"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="55R-aH-x4M">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vYb-QB-vwU">
|
||||
<rect key="frame" x="172.66666666666666" y="108" width="69" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="ymh-D3-SCA"/>
|
||||
</constraints>
|
||||
<state key="normal" title="TableView"/>
|
||||
<connections>
|
||||
<segue destination="3ur-D9-8FT" kind="show" animates="NO" id="yJb-Fl-2fY"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FdB-fa-0bl">
|
||||
<rect key="frame" x="171" y="146" width="72" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Xas-AZ-Nyw"/>
|
||||
</constraints>
|
||||
<state key="normal" title="ScrollView"/>
|
||||
<connections>
|
||||
<segue destination="GI0-zX-z7l" kind="show" animates="NO" id="iVA-s3-kPd"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="vYb-QB-vwU" firstAttribute="centerX" secondItem="55R-aH-x4M" secondAttribute="centerX" id="0MT-Eq-8dG"/>
|
||||
<constraint firstItem="vYb-QB-vwU" firstAttribute="top" secondItem="yvD-8P-ibI" secondAttribute="bottom" constant="20" id="c3y-G3-HCj"/>
|
||||
<constraint firstItem="FdB-fa-0bl" firstAttribute="centerX" secondItem="55R-aH-x4M" secondAttribute="centerX" id="gE9-Mi-Jcm"/>
|
||||
<constraint firstItem="FdB-fa-0bl" firstAttribute="top" secondItem="vYb-QB-vwU" secondAttribute="bottom" constant="8" id="zLx-S1-Tnz"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="6Qr-Yi-87y"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="CvZ-nE-CBk" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1216" y="422"/>
|
||||
</scene>
|
||||
<!--Table View Controller-->
|
||||
<scene sceneID="ow4-nH-afF">
|
||||
<objects>
|
||||
<tableViewController id="3ur-D9-8FT" sceneMemberID="viewController">
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="jo0-3M-nUd">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" textLabel="2mC-E2-VxB" style="IBUITableViewCellStyleDefault" id="wCs-18-PFf">
|
||||
<rect key="frame" x="0.0" y="50" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="wCs-18-PFf" id="0KF-km-gbT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="2mC-E2-VxB">
|
||||
<rect key="frame" x="20" y="0.0" width="374" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
<sections/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="accessibilityIdentifier" value="scrollView"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="TxP-Aa-p9i" id="IDu-Y4-oQL"/>
|
||||
<outlet property="delegate" destination="3ur-D9-8FT" id="saC-SY-CSo"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<navigationItem key="navigationItem" id="szz-4K-52y"/>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="21y-mk-Cmx" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<customObject id="TxP-Aa-p9i" customClass="FBTableDataSource"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="2302" y="97"/>
|
||||
</scene>
|
||||
<!--Scroll View Controller-->
|
||||
<scene sceneID="cZ2-Pn-cVV">
|
||||
<objects>
|
||||
<viewController id="GI0-zX-z7l" customClass="FBScrollViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="o0k-ze-PY2"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="1qn-YR-FCf"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="KLL-RT-L40">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xEQ-MI-a2g">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="862"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="accessibilityIdentifier" value="scrollView"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="xEQ-MI-a2g" firstAttribute="top" secondItem="KLL-RT-L40" secondAttribute="top" id="Bep-no-nwg"/>
|
||||
<constraint firstAttribute="trailing" secondItem="xEQ-MI-a2g" secondAttribute="trailing" id="akP-zz-jsv"/>
|
||||
<constraint firstItem="xEQ-MI-a2g" firstAttribute="leading" secondItem="KLL-RT-L40" secondAttribute="leading" id="eVn-mL-sBX"/>
|
||||
<constraint firstItem="1qn-YR-FCf" firstAttribute="top" secondItem="xEQ-MI-a2g" secondAttribute="bottom" id="kg2-Z3-oRO"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="QQ9-xy-IwS"/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="Vxa-lD-ODn" id="ti0-a9-iaY"/>
|
||||
<outlet property="scrollView" destination="xEQ-MI-a2g" id="ZBD-iW-x6Q"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="fpw-oW-WXe" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<customObject id="Vxa-lD-ODn" customClass="FBTableDataSource"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="2302" y="746"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
15
WebDriverAgentTests/IntegrationApp/main.m
Normal file
15
WebDriverAgentTests/IntegrationApp/main.m
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* 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 <UIKit/UIKit.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, @"AppDelegate");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user