[ios, build] Remove obsolete UI tests, KIF and OHHTTPStubs submodules
This commit is contained in:
7
.gitmodules
vendored
7
.gitmodules
vendored
@@ -1,13 +1,6 @@
|
||||
[submodule "platform/ios/uitest/KIF"]
|
||||
path = platform/ios/uitest/KIF
|
||||
url = https://github.com/kif-framework/KIF.git
|
||||
[submodule "platform/ios/uitest/OHHTTPStubs"]
|
||||
path = platform/ios/uitest/OHHTTPStubs
|
||||
url = https://github.com/AliSoftware/OHHTTPStubs.git
|
||||
[submodule "mapbox-gl-js"]
|
||||
path = mapbox-gl-js
|
||||
url = https://github.com/mapbox/mapbox-gl-js.git
|
||||
[submodule "platform/ios/vendor/mapbox-events-ios"]
|
||||
path = platform/ios/vendor/mapbox-events-ios
|
||||
url = https://github.com/mapbox/mapbox-events-ios.git
|
||||
branch = boundsj-add-namespace-header
|
||||
|
||||
@@ -135,7 +135,7 @@ endfunction()
|
||||
|
||||
if(MBGL_PLATFORM STREQUAL "ios")
|
||||
execute_process(
|
||||
COMMAND git submodule update --init platform/ios/vendor/mapbox-events-ios platform/ios/uitest/KIF platform/ios/uitest/OHHTTPStubs
|
||||
COMMAND git submodule update --init platform/ios/vendor/mapbox-events-ios
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -4,15 +4,6 @@
|
||||
<FileRef
|
||||
location = "group:ios.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:uitest/ios-tests.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:uitest/KIF/KIF.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:uitest/OHHTTPStubs/OHHTTPStubs/OHHTTPStubs.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:../../build/ios/mbgl.xcodeproj">
|
||||
</FileRef>
|
||||
|
||||
3
platform/ios/uitest/.gitignore
vendored
3
platform/ios/uitest/.gitignore
vendored
@@ -1,3 +0,0 @@
|
||||
!*.xcodeproj
|
||||
!xcshareddata
|
||||
xcuserdata
|
||||
@@ -1,53 +0,0 @@
|
||||
<?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>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</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.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>MGLMapboxAccessToken</key>
|
||||
<string>pk.eyJ1IjoianVzdGluIiwiYSI6Ik9RX3RRQzAifQ.dmOg_BAp1ywuDZMM7YsXRg</string>
|
||||
<key>MGLMapboxMetricsEnabledSettingShownInApp</key>
|
||||
<true/>
|
||||
<key>NSLocationAlwaysUsageDescription</key>
|
||||
<string>Strictly for testing purposes, promise!</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?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>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,73 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "83.5x83.5",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "Default@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "retina4",
|
||||
"filename" : "Default-568h@2x.png",
|
||||
"minimum-system-version" : "7.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 184 B |
Binary file not shown.
|
Before Width: | Height: | Size: 170 B |
Submodule platform/ios/uitest/KIF deleted from c40b1048a6
@@ -1,13 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <KIF/KIF.h>
|
||||
|
||||
@class MGLTViewController, MGLMapView;
|
||||
|
||||
@interface KIFTestActor (MapboxGL)
|
||||
|
||||
@property (nonatomic, readonly) UIWindow *window;
|
||||
@property (nonatomic, readonly) MGLTViewController *viewController;
|
||||
@property (nonatomic, readonly) MGLMapView *mapView;
|
||||
@property (nonatomic, readonly) UIView *compass;
|
||||
|
||||
@end
|
||||
@@ -1,25 +0,0 @@
|
||||
#import "KIFTestActor+MapboxGL.h"
|
||||
|
||||
#import <Mapbox/Mapbox.h>
|
||||
|
||||
#import <KIF/UIApplication-KIFAdditions.h>
|
||||
|
||||
@implementation KIFTestActor (MapboxGL)
|
||||
|
||||
- (UIWindow *)window {
|
||||
return [[UIApplication sharedApplication] statusBarWindow];
|
||||
}
|
||||
|
||||
- (MGLTViewController *)viewController {
|
||||
return (MGLTViewController *)[[tester.mapView nextResponder] nextResponder];
|
||||
}
|
||||
|
||||
- (MGLMapView *)mapView {
|
||||
return (MGLMapView *)[tester waitForViewWithAccessibilityLabel:@"Map"];
|
||||
}
|
||||
|
||||
- (UIView *)compass {
|
||||
return [tester waitForViewWithAccessibilityLabel:@"Compass"];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14E17e" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="© 2015–2018 Mapbox. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
|
||||
<rect key="frame" x="20" y="439" width="441" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<variation key="widthClass=compact">
|
||||
<fontDescription key="fontDescription" type="system" pointSize="11"/>
|
||||
</variation>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ios-tests" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
||||
<rect key="frame" x="20" y="140" width="441" height="43"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.23137254900000001" green="0.69803921570000005" blue="0.81568627449999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="Kid-kn-2rF"/>
|
||||
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
||||
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
|
||||
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
|
||||
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="404" y="445"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
@@ -1,7 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MGLTAppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
@@ -1,19 +0,0 @@
|
||||
#import "MGLTAppDelegate.h"
|
||||
#import "MGLTViewController.h"
|
||||
#import <Mapbox/Mapbox.h>
|
||||
|
||||
@implementation MGLTAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
||||
UINavigationController *wrapper = [[UINavigationController alloc] initWithRootViewController:[MGLTViewController new]];
|
||||
self.window.rootViewController = wrapper;
|
||||
wrapper.navigationBarHidden = YES;
|
||||
wrapper.toolbarHidden = YES;
|
||||
[self.window makeKeyAndVisible];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,9 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MGLTViewController : UIViewController
|
||||
|
||||
- (void)insetMapView;
|
||||
- (void)tinyMapView;
|
||||
- (void)resetMapView;
|
||||
|
||||
@end
|
||||
@@ -1,34 +0,0 @@
|
||||
#import "MGLTViewController.h"
|
||||
#import <Mapbox/Mapbox.h>
|
||||
|
||||
@implementation MGLTViewController
|
||||
{
|
||||
MGLMapView *_mapView;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
_mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds];
|
||||
_mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
||||
|
||||
[self.view addSubview:_mapView];
|
||||
}
|
||||
|
||||
- (void)insetMapView
|
||||
{
|
||||
_mapView.frame = CGRectInset(_mapView.frame, 50, 50);
|
||||
}
|
||||
|
||||
- (void)tinyMapView
|
||||
{
|
||||
_mapView.frame = CGRectMake(20, self.topLayoutGuide.length, self.view.frame.size.width / 2, self.view.frame.size.height / 2);
|
||||
}
|
||||
|
||||
- (void)resetMapView
|
||||
{
|
||||
_mapView.frame = self.view.bounds;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,588 +0,0 @@
|
||||
#import <KIF/KIF.h>
|
||||
#import <KIF/KIFTestStepValidation.h>
|
||||
|
||||
#import "KIFTestActor+MapboxGL.h"
|
||||
|
||||
#import <Mapbox/Mapbox.h>
|
||||
#import "MGLTViewController.h"
|
||||
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
@interface MapViewTests : KIFTestCase <MGLMapViewDelegate>
|
||||
|
||||
@end
|
||||
|
||||
@implementation MapViewTests
|
||||
|
||||
- (NSNotification *)waitForNotificationThatRegionDidChangeAnimatedWhileExecutingBlock:(void (^)())block {
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:@"regionDidChangeAnimated"
|
||||
object:tester.mapView
|
||||
queue:nil
|
||||
usingBlock:^(NSNotification * _Nonnull note) {}];
|
||||
NSNotification *notification = [system waitForNotificationName:@"regionDidChangeAnimated"
|
||||
object:tester.mapView whileExecutingBlock:block];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"regionDidChangeAnimated"
|
||||
object:tester.mapView];
|
||||
return notification;
|
||||
}
|
||||
|
||||
- (void)beforeEach {
|
||||
[system simulateDeviceRotationToOrientation:UIDeviceOrientationPortrait];
|
||||
[tester.viewController resetMapView];
|
||||
|
||||
tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(38.913175, -77.032458);
|
||||
tester.mapView.zoomLevel = 14;
|
||||
tester.mapView.direction = 0;
|
||||
|
||||
tester.mapView.zoomEnabled = YES;
|
||||
tester.mapView.scrollEnabled = YES;
|
||||
tester.mapView.rotateEnabled = YES;
|
||||
|
||||
[tester.mapView removeAnnotations:tester.mapView.annotations];
|
||||
|
||||
tester.viewController.navigationController.navigationBarHidden = YES;
|
||||
tester.viewController.navigationController.toolbarHidden = YES;
|
||||
|
||||
tester.mapView.delegate = self;
|
||||
}
|
||||
|
||||
- (void)approveLocationIfNeeded {
|
||||
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {
|
||||
[tester acknowledgeSystemAlert];
|
||||
[tester waitForTimeInterval:1];
|
||||
}
|
||||
XCTAssertTrue([CLLocationManager locationServicesEnabled]);
|
||||
XCTAssertEqual([CLLocationManager authorizationStatus], kCLAuthorizationStatusAuthorizedAlways);
|
||||
}
|
||||
|
||||
- (void)testDirectionSet {
|
||||
[self waitForNotificationThatRegionDidChangeAnimatedWhileExecutingBlock:^{
|
||||
[tester.mapView setDirection:270 animated:YES];
|
||||
}];
|
||||
|
||||
XCTAssertEqual(tester.mapView.direction,
|
||||
270,
|
||||
@"setting direction should take effect");
|
||||
|
||||
[tester waitForAnimationsToFinish];
|
||||
XCTAssertEqual(tester.compass.alpha,
|
||||
1,
|
||||
@"compass should be visible when map is rotated");
|
||||
|
||||
XCTAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
|
||||
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(M_PI * 0.5)],
|
||||
@"compass rotation should indicate map rotation");
|
||||
}
|
||||
|
||||
- (void)testDirectionReset {
|
||||
[self waitForNotificationThatRegionDidChangeAnimatedWhileExecutingBlock:^{
|
||||
[tester.mapView setDirection:90 animated:YES];
|
||||
}];
|
||||
|
||||
XCTAssertEqual(tester.mapView.direction,
|
||||
90,
|
||||
@"setting direction should take effect");
|
||||
|
||||
[self waitForNotificationThatRegionDidChangeAnimatedWhileExecutingBlock:^{
|
||||
[tester.mapView resetNorth];
|
||||
}];
|
||||
|
||||
XCTAssertEqual(tester.mapView.direction,
|
||||
0,
|
||||
@"resetting north should reset map direction");
|
||||
|
||||
[tester waitForAnimationsToFinish];
|
||||
XCTAssertEqual(tester.compass.alpha,
|
||||
0,
|
||||
@"compass should not be visible when map is unrotated");
|
||||
|
||||
XCTAssert(CGAffineTransformEqualToTransform(tester.compass.transform, CGAffineTransformIdentity),
|
||||
@"compass rotation should indicate map rotation");
|
||||
}
|
||||
|
||||
- (void)testZoom {
|
||||
double zoom = tester.mapView.zoomLevel;
|
||||
|
||||
[tester.mapView zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
|
||||
tester.mapView.bounds.size.height / 2)
|
||||
distance:50
|
||||
steps:10];
|
||||
|
||||
XCTAssertGreaterThan(tester.mapView.zoomLevel,
|
||||
zoom,
|
||||
@"zoom gesture should increase zoom level");
|
||||
|
||||
zoom = tester.mapView.zoomLevel;
|
||||
|
||||
[tester.mapView pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
|
||||
tester.mapView.bounds.size.height / 2)
|
||||
distance:50
|
||||
steps:10];
|
||||
|
||||
XCTAssertLessThan(tester.mapView.zoomLevel,
|
||||
zoom,
|
||||
@"pinch gesture should decrease zoom level");
|
||||
}
|
||||
|
||||
- (void)testZoomDisabled {
|
||||
tester.mapView.zoomEnabled = NO;
|
||||
double zoom = tester.mapView.zoomLevel;
|
||||
|
||||
[tester.mapView zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
|
||||
tester.mapView.bounds.size.height / 2)
|
||||
distance:50
|
||||
steps:10];
|
||||
|
||||
XCTAssertEqual(tester.mapView.zoomLevel,
|
||||
zoom,
|
||||
@"disabling zoom gesture should disallow zooming");
|
||||
|
||||
[tester.mapView pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
|
||||
tester.mapView.bounds.size.height / 2)
|
||||
distance:50
|
||||
steps:10];
|
||||
|
||||
XCTAssertEqual(tester.mapView.zoomLevel,
|
||||
zoom,
|
||||
@"disabling zoom gesture should disallow pinching");
|
||||
}
|
||||
|
||||
- (void)testFitToBounds {
|
||||
// No-op
|
||||
MGLCoordinateBounds initialBounds = tester.mapView.visibleCoordinateBounds;
|
||||
[tester.mapView setVisibleCoordinateBounds:initialBounds animated:NO];
|
||||
XCTAssertEqualObjects(MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds),
|
||||
@"setting visible coordinate bounds to currently visible coordinate bounds should be a no-op");
|
||||
|
||||
// Roundtrip after zooming
|
||||
tester.mapView.zoomLevel -= 3;
|
||||
[tester.mapView setVisibleCoordinateBounds:initialBounds animated:NO];
|
||||
XCTAssertEqualObjects(MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds),
|
||||
@"after zooming out, setting visible coordinate bounds back to %@ should not leave them at %@",
|
||||
MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds));
|
||||
tester.mapView.zoomLevel += 3;
|
||||
[tester.mapView setVisibleCoordinateBounds:initialBounds animated:NO];
|
||||
XCTAssertEqualObjects(MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds),
|
||||
@"after zooming in, setting visible coordinate bounds back to %@ should not leave them at %@",
|
||||
MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds));
|
||||
|
||||
// Roundtrip after panning
|
||||
MGLCoordinateBounds offsetBounds = MGLCoordinateBoundsOffset(initialBounds, MGLCoordinateSpanMake(0, 30));
|
||||
[tester.mapView setVisibleCoordinateBounds:offsetBounds animated:NO];
|
||||
[tester.mapView setVisibleCoordinateBounds:initialBounds animated:NO];
|
||||
XCTAssertEqualObjects(MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds),
|
||||
@"after panning 30° to the east, setting visible coordinate bounds back to %@ should not leave them at %@",
|
||||
MGLStringFromCoordinateBounds(initialBounds),
|
||||
MGLStringFromCoordinateBounds(tester.mapView.visibleCoordinateBounds));
|
||||
|
||||
// Inscribed shapes with rotation
|
||||
tester.mapView.direction = 45;
|
||||
// https://en.wikipedia.org/wiki/Boundary_Markers_of_the_Original_District_of_Columbia
|
||||
CLLocationCoordinate2D dcCoordinates[] = {
|
||||
{38.790339, -77.040583},
|
||||
{38.893219, -77.172304},
|
||||
{38.995946, -77.040947},
|
||||
{38.892829, -76.909229},
|
||||
};
|
||||
MGLCoordinateBounds dcBounds = {{38.790339, -77.172304}, {38.995946, -76.909229}};
|
||||
[tester.mapView setVisibleCoordinateBounds:dcBounds
|
||||
animated:NO];
|
||||
double zoomLevel = tester.mapView.zoomLevel;
|
||||
[tester.mapView setVisibleCoordinates:dcCoordinates
|
||||
count:sizeof(dcCoordinates) / sizeof(dcCoordinates[0])
|
||||
edgePadding:UIEdgeInsetsZero
|
||||
animated:NO];
|
||||
XCTAssertGreaterThan(tester.mapView.zoomLevel, zoomLevel,
|
||||
@"when the map is rotated, DC should fit at a zoom level higher than %f, but instead the zoom level is %f",
|
||||
zoomLevel, tester.mapView.zoomLevel);
|
||||
}
|
||||
|
||||
- (void)testPan {
|
||||
CLLocationCoordinate2D centerCoordinate = tester.mapView.centerCoordinate;
|
||||
|
||||
[tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10];
|
||||
|
||||
XCTAssertGreaterThan(tester.mapView.centerCoordinate.latitude,
|
||||
centerCoordinate.latitude,
|
||||
@"panning map down should increase center latitude");
|
||||
|
||||
XCTAssertLessThan(tester.mapView.centerCoordinate.longitude,
|
||||
centerCoordinate.longitude,
|
||||
@"panning map right should decrease center longitude");
|
||||
}
|
||||
|
||||
- (void)testSetCenterCancelsTransitions {
|
||||
XCTestExpectation *cameraIsInDCExpectation = [self expectationWithDescription:@"camera reset to DC"];
|
||||
|
||||
CLLocationCoordinate2D dc = CLLocationCoordinate2DMake(38.894368, -77.036487);
|
||||
CLLocationCoordinate2D dc_west = CLLocationCoordinate2DMake(38.894368, -77.076487);
|
||||
[tester.mapView setCenterCoordinate:dc animated:NO];
|
||||
[tester.mapView setCenterCoordinate:dc_west animated:YES];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.15 * NSEC_PER_SEC),
|
||||
dispatch_get_main_queue(),
|
||||
^{
|
||||
[tester.mapView setCenterCoordinate:dc animated:NO];
|
||||
XCTAssertEqualWithAccuracy(dc.latitude,
|
||||
tester.mapView.centerCoordinate.latitude,
|
||||
0.0005,
|
||||
@"setting center coordinate should cancel transitions");
|
||||
XCTAssertEqualWithAccuracy(dc.longitude,
|
||||
tester.mapView.centerCoordinate.longitude,
|
||||
0.0005,
|
||||
@"setting center coordinate should cancel transitions");
|
||||
[cameraIsInDCExpectation fulfill];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:1.0 handler:nil];
|
||||
}
|
||||
|
||||
- (void)testPanDisabled {
|
||||
tester.mapView.scrollEnabled = NO;
|
||||
CLLocationCoordinate2D centerCoordinate = tester.mapView.centerCoordinate;
|
||||
|
||||
[tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10];
|
||||
|
||||
XCTAssertEqualWithAccuracy(centerCoordinate.latitude,
|
||||
tester.mapView.centerCoordinate.latitude,
|
||||
0.005,
|
||||
@"disabling pan gesture should disallow vertical panning");
|
||||
|
||||
XCTAssertEqualWithAccuracy(centerCoordinate.longitude,
|
||||
tester.mapView.centerCoordinate.longitude,
|
||||
0.005,
|
||||
@"disabling pan gesture should disallow horizontal panning");
|
||||
}
|
||||
|
||||
- (void)testRotateClockwise {
|
||||
CLLocationDirection startAngle = tester.mapView.direction;
|
||||
|
||||
XCTAssertNotEqual(startAngle,
|
||||
45,
|
||||
@"start angle must not be destination angle");
|
||||
|
||||
[tester.mapView twoFingerRotateAtPoint:tester.mapView.center angle:45];
|
||||
|
||||
XCTAssertGreaterThanOrEqual(fabs(tester.mapView.direction - startAngle),
|
||||
20,
|
||||
@"rotating map should change angle");
|
||||
}
|
||||
|
||||
- (void)testRotateCounterclockwise {
|
||||
CLLocationDirection startAngle = tester.mapView.direction;
|
||||
|
||||
XCTAssertNotEqual(startAngle,
|
||||
-45,
|
||||
@"start angle must not be destination angle");
|
||||
|
||||
[tester.mapView twoFingerRotateAtPoint:tester.mapView.center angle:-45];
|
||||
|
||||
XCTAssertGreaterThanOrEqual(fabs(startAngle - tester.mapView.direction),
|
||||
20,
|
||||
@"rotating map should change angle");
|
||||
XCTAssertGreaterThan(tester.mapView.camera.heading, 0, @"camera should not go negative");
|
||||
}
|
||||
|
||||
- (void)testRotateDisabled {
|
||||
tester.mapView.rotateEnabled = NO;
|
||||
CLLocationDirection startAngle = tester.mapView.direction;
|
||||
|
||||
XCTAssertNotEqual(startAngle,
|
||||
45,
|
||||
@"start angle must not be destination angle");
|
||||
|
||||
[tester.mapView twoFingerRotateAtPoint:tester.mapView.center angle:45];
|
||||
|
||||
XCTAssertEqualWithAccuracy(tester.mapView.direction,
|
||||
startAngle,
|
||||
0.005,
|
||||
@"disabling rotation show disallow rotation gestures");
|
||||
}
|
||||
|
||||
- (void)testZoomSet {
|
||||
double newZoom = 11.65;
|
||||
|
||||
XCTAssertNotEqual(tester.mapView.zoomLevel,
|
||||
newZoom,
|
||||
@"initial setup should have differing zoom");
|
||||
|
||||
tester.mapView.zoomLevel = newZoom;
|
||||
|
||||
XCTAssertEqualWithAccuracy(tester.mapView.zoomLevel,
|
||||
newZoom,
|
||||
0.01,
|
||||
@"setting zoom should take effect");
|
||||
}
|
||||
|
||||
- (void)testCameraDebouncing {
|
||||
MGLMapCamera *camera = [MGLMapCamera cameraLookingAtCenterCoordinate:CLLocationCoordinate2DMake(45, -122)
|
||||
fromDistance:100
|
||||
pitch:30
|
||||
heading:45];
|
||||
tester.mapView.camera = camera;
|
||||
XCTAssertEqualObjects(tester.mapView.camera, camera);
|
||||
|
||||
[tester.mapView setCamera:camera withDuration:10 animationTimingFunction:nil completionHandler:^{
|
||||
XCTAssert(NO, @"Camera animation should not be canceled by redundantly setting the camera to the current camera.");
|
||||
}];
|
||||
XCTAssertEqualObjects(tester.mapView.camera, camera);
|
||||
|
||||
tester.mapView.camera = camera;
|
||||
XCTAssertEqualObjects(tester.mapView.camera, camera);
|
||||
}
|
||||
|
||||
- (void)testMarkerSelection {
|
||||
CGPoint point = CGPointMake(100, 100);
|
||||
MGLPointAnnotation *marker = [MGLPointAnnotation new];
|
||||
marker.coordinate = [tester.mapView convertPoint:point toCoordinateFromView:tester.mapView];
|
||||
marker.title = @"test"; // title required for callout
|
||||
[tester.mapView addAnnotation:marker];
|
||||
|
||||
XCTAssertEqual(tester.mapView.selectedAnnotations.count, 0);
|
||||
|
||||
[tester.mapView selectAnnotation:marker animated:NO];
|
||||
XCTAssertEqualObjects(tester.mapView.selectedAnnotations.firstObject, marker);
|
||||
|
||||
[tester.mapView deselectAnnotation:marker animated:NO];
|
||||
XCTAssertEqual(tester.mapView.selectedAnnotations.count, 0);
|
||||
}
|
||||
|
||||
- (void)testMarkerAddWithoutDelegate {
|
||||
XCTAssertFalse([tester.viewController respondsToSelector:@selector(mapView:imageForAnnotation:)]);
|
||||
|
||||
MGLPointAnnotation *marker = [MGLPointAnnotation new];
|
||||
marker.coordinate = tester.mapView.centerCoordinate;
|
||||
[tester.mapView addAnnotation:marker];
|
||||
|
||||
[tester.mapView selectAnnotation:marker animated:NO];
|
||||
XCTAssertEqualObjects(tester.mapView.selectedAnnotations.firstObject, marker);
|
||||
XCTAssertEqual([[tester.mapView subviewsWithClassNamePrefix:@"SM"] count], 0); // no callout for no title
|
||||
|
||||
[tester.mapView deselectAnnotation:marker animated:NO];
|
||||
marker.title = @"test";
|
||||
[tester.mapView selectAnnotation:marker animated:NO];
|
||||
XCTAssertEqualObjects(tester.mapView.selectedAnnotations.firstObject, marker);
|
||||
XCTAssertGreaterThan([[tester.mapView subviewsWithClassNamePrefix:@"SM"] count], 0);
|
||||
}
|
||||
|
||||
- (BOOL)mapView:(MGLMapView *)mapView annotationCanShowCallout:(id<MGLAnnotation>)annotation {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)testTopLayoutGuide {
|
||||
CGRect statusBarFrame, navigationBarFrame, compassFrame;
|
||||
UINavigationBar *navigationBar = tester.viewController.navigationController.navigationBar;
|
||||
|
||||
compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil];
|
||||
statusBarFrame = [tester.window convertRect:[[UIApplication sharedApplication] statusBarFrame] toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(compassFrame, statusBarFrame),
|
||||
@"compass should not be under status bar");
|
||||
|
||||
tester.viewController.navigationController.navigationBarHidden = NO;
|
||||
compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil];
|
||||
navigationBarFrame = [tester.window convertRect:navigationBar.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(compassFrame, navigationBarFrame),
|
||||
@"compass should not be under navigation bar");
|
||||
|
||||
[system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeLeft];
|
||||
|
||||
compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil];
|
||||
navigationBarFrame = [tester.window convertRect:navigationBar.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(compassFrame, navigationBarFrame),
|
||||
@"rotated device should not have compass under navigation bar");
|
||||
|
||||
tester.viewController.navigationController.navigationBarHidden = YES;
|
||||
compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil];
|
||||
statusBarFrame = [tester.window convertRect:[[UIApplication sharedApplication] statusBarFrame] toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(compassFrame, statusBarFrame),
|
||||
@"rotated device should not have compass under status bar");
|
||||
}
|
||||
|
||||
- (void)testBottomLayoutGuide {
|
||||
CGRect logoBugFrame, toolbarFrame, attributionButtonFrame;
|
||||
UIView *logoBug = (UIView *)[tester waitForViewWithAccessibilityLabel:@"Mapbox"];
|
||||
UIToolbar *toolbar = tester.viewController.navigationController.toolbar;
|
||||
UIView *attributionButton = (UIView *)[tester waitForViewWithAccessibilityLabel:@"About this map"];
|
||||
|
||||
tester.viewController.navigationController.toolbarHidden = NO;
|
||||
|
||||
logoBugFrame = [logoBug.superview convertRect:logoBug.frame toView:nil];
|
||||
toolbarFrame = [tester.window convertRect:toolbar.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(logoBugFrame, toolbarFrame),
|
||||
@"logo bug should not be under toolbar");
|
||||
|
||||
attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(attributionButtonFrame, toolbarFrame),
|
||||
@"attribution button should not be under toolbar");
|
||||
|
||||
[system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeRight];
|
||||
|
||||
logoBugFrame = [logoBug.superview convertRect:logoBug.frame toView:nil];
|
||||
toolbarFrame = [tester.window convertRect:toolbar.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(logoBugFrame, toolbarFrame),
|
||||
@"rotated device should not have logo bug under toolbar");
|
||||
|
||||
attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil];
|
||||
XCTAssertFalse(CGRectIntersectsRect(attributionButtonFrame, toolbarFrame),
|
||||
@"rotated device should not have attribution button under toolbar");
|
||||
}
|
||||
|
||||
- (void)testInsetMapView {
|
||||
[tester.viewController insetMapView];
|
||||
[tester waitForAnimationsToFinish];
|
||||
|
||||
UIView *logoBug = (UIView *)[tester waitForViewWithAccessibilityLabel:@"Mapbox"];
|
||||
UIView *attributionButton = (UIView *)[tester waitForViewWithAccessibilityLabel:@"About this map"];
|
||||
|
||||
CGRect mapViewFrame = [tester.mapView.superview convertRect:tester.mapView.frame toView:nil];
|
||||
|
||||
CGRect logoBugFrame = [logoBug.superview convertRect:logoBug.frame toView:nil];
|
||||
XCTAssertTrue(CGRectIntersectsRect(logoBugFrame, mapViewFrame),
|
||||
@"logo bug should lie inside shrunken map view");
|
||||
|
||||
CGRect attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil];
|
||||
XCTAssertTrue(CGRectIntersectsRect(attributionButtonFrame, mapViewFrame),
|
||||
@"attribution button should lie inside shrunken map view");
|
||||
|
||||
CGRect compassFrame = [tester.compass.superview convertRect:tester.compass.frame toView:nil];
|
||||
XCTAssertTrue(CGRectIntersectsRect(compassFrame, mapViewFrame),
|
||||
@"compass should lie inside shrunken map view");
|
||||
}
|
||||
|
||||
- (void)testContentInsetsWithTinyMapView {
|
||||
[tester.viewController tinyMapView];
|
||||
[self keyValueObservingExpectationForObject:tester.mapView keyPath:@"contentInset" handler:^BOOL(id observedObject, NSDictionary *change) {
|
||||
XCTAssertEqual(tester.mapView.contentInset.top,
|
||||
0,
|
||||
@"map should not have top content inset");
|
||||
XCTAssertEqual(tester.mapView.contentInset.bottom,
|
||||
0,
|
||||
@"map should not have bottom content inset");
|
||||
return YES;
|
||||
}];
|
||||
[self waitForExpectationsWithTimeout:2.0 handler:nil];
|
||||
|
||||
tester.mapView.frame = CGRectMake(0, 0, tester.mapView.frame.size.width, tester.mapView.frame.size.height);
|
||||
[self keyValueObservingExpectationForObject:tester.mapView keyPath:@"contentInset" handler:^BOOL(id observedObject, NSDictionary *change) {
|
||||
XCTAssertEqual(tester.mapView.contentInset.top,
|
||||
tester.viewController.topLayoutGuide.length,
|
||||
@"map should have top content inset equal to the top layout guide");
|
||||
return YES;
|
||||
}];
|
||||
[self waitForExpectationsWithTimeout:2.0 handler:nil];
|
||||
}
|
||||
|
||||
- (void)testDelegateRegionWillChange {
|
||||
__block NSUInteger unanimatedCount;
|
||||
__block NSUInteger animatedCount;
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:@"regionWillChangeAnimated"
|
||||
object:tester.mapView
|
||||
queue:nil
|
||||
usingBlock:^(NSNotification *note) {
|
||||
if ([note.userInfo[@"animated"] boolValue]) {
|
||||
animatedCount++;
|
||||
} else {
|
||||
unanimatedCount++;
|
||||
}
|
||||
}];
|
||||
|
||||
[tester waitForTimeInterval:1];
|
||||
|
||||
unanimatedCount = 0;
|
||||
animatedCount = 0;
|
||||
|
||||
NSNotification *notification = [system waitForNotificationName:@"regionWillChangeAnimated"
|
||||
object:tester.mapView
|
||||
whileExecutingBlock:^{
|
||||
tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(0, 0);
|
||||
}];
|
||||
|
||||
[tester waitForTimeInterval:1];
|
||||
|
||||
XCTAssertEqual([notification.userInfo[@"animated"] boolValue],
|
||||
NO,
|
||||
@"regionWillChange delegate should not indicate animated change");
|
||||
XCTAssertEqual(unanimatedCount,
|
||||
1,
|
||||
@"regionWillChange delegate should indicate one unanimated change");
|
||||
|
||||
notification = [system waitForNotificationName:@"regionWillChangeAnimated"
|
||||
object:tester.mapView
|
||||
whileExecutingBlock:^{
|
||||
[tester.mapView setCenterCoordinate:CLLocationCoordinate2DMake(45, 100) animated:YES];
|
||||
}];
|
||||
|
||||
[tester waitForTimeInterval:1];
|
||||
|
||||
XCTAssertEqual([notification.userInfo[@"animated"] boolValue],
|
||||
YES,
|
||||
@"regionWillChange delegate should indicate an animated change");
|
||||
XCTAssertEqual(animatedCount,
|
||||
1,
|
||||
@"regionWillChange delegate should indicate one animated change");
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"regionWillChangeAnimated"
|
||||
object:tester.mapView];
|
||||
}
|
||||
|
||||
- (void)mapView:(MGLMapView *)mapView regionWillChangeAnimated:(BOOL)animated {
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"regionWillChangeAnimated"
|
||||
object:mapView
|
||||
userInfo:@{ @"animated" : @(animated) }];
|
||||
}
|
||||
|
||||
- (void)mapView:(MGLMapView *)mapView regionDidChangeWithReason:(MGLCameraChangeReason)reason animated:(BOOL)animated {
|
||||
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"regionDidChangeAnimated"
|
||||
object:mapView
|
||||
userInfo:@{ @"animated" : @(animated),
|
||||
@"reason" : @(reason)
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)testDelegatesStartStopLocatingUser {
|
||||
NSNotification *notification = [system waitForNotificationName:@"mapViewWillStartLocatingUser"
|
||||
object:tester.mapView
|
||||
whileExecutingBlock:^{
|
||||
tester.mapView.showsUserLocation = YES;
|
||||
[self approveLocationIfNeeded];
|
||||
}];
|
||||
|
||||
XCTAssertEqualObjects(notification.name,
|
||||
@"mapViewWillStartLocatingUser",
|
||||
@"mapViewWillStartLocatingUser delegate should receive message");
|
||||
XCTAssertNotNil([tester.mapView valueForKeyPath:@"locationManager"],
|
||||
"map view location manager should not be nil");
|
||||
|
||||
notification = [system waitForNotificationName:@"mapViewDidStopLocatingUser"
|
||||
object:tester.mapView
|
||||
whileExecutingBlock:^{
|
||||
tester.mapView.showsUserLocation = NO;
|
||||
}];
|
||||
|
||||
XCTAssertEqualObjects(notification.name,
|
||||
@"mapViewDidStopLocatingUser",
|
||||
@"mapViewDidStopLocatingUser delegate should receive message");
|
||||
XCTAssertEqual(tester.mapView.userTrackingMode,
|
||||
MGLUserTrackingModeNone,
|
||||
@"user tracking mode should be none");
|
||||
XCTAssertNil([tester.mapView valueForKeyPath:@"locationManager"],
|
||||
"map view location manager should be nil");
|
||||
}
|
||||
|
||||
- (void)mapViewWillStartLocatingUser:(MGLMapView *)mapView {
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"mapViewWillStartLocatingUser" object:mapView];
|
||||
}
|
||||
|
||||
- (void)mapViewDidStopLocatingUser:(MGLMapView *)mapView {
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"mapViewDidStopLocatingUser" object:mapView];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class OCObserverMockObject;
|
||||
|
||||
|
||||
@interface NSNotificationCenter(OCMAdditions)
|
||||
|
||||
- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender;
|
||||
|
||||
@end
|
||||
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface OCMArg : NSObject
|
||||
|
||||
// constraining arguments
|
||||
|
||||
+ (id)any;
|
||||
+ (SEL)anySelector;
|
||||
+ (void *)anyPointer;
|
||||
+ (id __autoreleasing *)anyObjectRef;
|
||||
+ (id)isNil;
|
||||
+ (id)isNotNil;
|
||||
+ (id)isEqual:(id)value;
|
||||
+ (id)isNotEqual:(id)value;
|
||||
+ (id)isKindOfClass:(Class)cls;
|
||||
+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject;
|
||||
+ (id)checkWithBlock:(BOOL (^)(id obj))block;
|
||||
|
||||
// manipulating arguments
|
||||
|
||||
+ (id *)setTo:(id)value;
|
||||
+ (void *)setToValue:(NSValue *)value;
|
||||
|
||||
// internal use only
|
||||
|
||||
+ (id)resolveSpecialValues:(NSValue *)value;
|
||||
|
||||
@end
|
||||
|
||||
#define OCMOCK_ANY [OCMArg any]
|
||||
|
||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||
#define OCMOCK_VALUE(variable) \
|
||||
({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; })
|
||||
#else
|
||||
#define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))]
|
||||
#endif
|
||||
@@ -1,71 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
@interface OCMConstraint : NSObject
|
||||
|
||||
+ (instancetype)constraint;
|
||||
- (BOOL)evaluate:(id)value;
|
||||
|
||||
// if you are looking for any, isNil, etc, they have moved to OCMArg
|
||||
|
||||
// try to use [OCMArg checkWith...] instead of the constraintWith... methods below
|
||||
|
||||
+ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject;
|
||||
+ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@interface OCMAnyConstraint : OCMConstraint
|
||||
@end
|
||||
|
||||
@interface OCMIsNilConstraint : OCMConstraint
|
||||
@end
|
||||
|
||||
@interface OCMIsNotNilConstraint : OCMConstraint
|
||||
@end
|
||||
|
||||
@interface OCMIsNotEqualConstraint : OCMConstraint
|
||||
{
|
||||
@public
|
||||
id testValue;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@interface OCMInvocationConstraint : OCMConstraint
|
||||
{
|
||||
@public
|
||||
NSInvocation *invocation;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@interface OCMBlockConstraint : OCMConstraint
|
||||
{
|
||||
BOOL (^block)(id);
|
||||
}
|
||||
|
||||
- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self]
|
||||
#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)]
|
||||
@@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface OCMLocation : NSObject
|
||||
{
|
||||
id testCase;
|
||||
NSString *file;
|
||||
NSUInteger line;
|
||||
}
|
||||
|
||||
+ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine;
|
||||
|
||||
- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine;
|
||||
|
||||
- (id)testCase;
|
||||
- (NSString *)file;
|
||||
- (NSUInteger)line;
|
||||
|
||||
@end
|
||||
|
||||
extern OCMLocation *OCMMakeLocation(id testCase, const char *file, int line);
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class OCMLocation;
|
||||
@class OCMRecorder;
|
||||
@class OCMStubRecorder;
|
||||
@class OCMockObject;
|
||||
|
||||
|
||||
@interface OCMMacroState : NSObject
|
||||
{
|
||||
OCMRecorder *recorder;
|
||||
}
|
||||
|
||||
+ (void)beginStubMacro;
|
||||
+ (OCMStubRecorder *)endStubMacro;
|
||||
|
||||
+ (void)beginExpectMacro;
|
||||
+ (OCMStubRecorder *)endExpectMacro;
|
||||
|
||||
+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation;
|
||||
+ (void)endVerifyMacro;
|
||||
|
||||
+ (OCMMacroState *)globalState;
|
||||
|
||||
- (OCMRecorder *)recorder;
|
||||
|
||||
- (void)switchToClassMethod;
|
||||
|
||||
@end
|
||||
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class OCMockObject;
|
||||
@class OCMInvocationMatcher;
|
||||
|
||||
|
||||
@interface OCMRecorder : NSProxy
|
||||
{
|
||||
OCMockObject *mockObject;
|
||||
OCMInvocationMatcher *invocationMatcher;
|
||||
}
|
||||
|
||||
- (instancetype)init;
|
||||
- (instancetype)initWithMockObject:(OCMockObject *)aMockObject;
|
||||
|
||||
- (void)setMockObject:(OCMockObject *)aMockObject;
|
||||
|
||||
- (OCMInvocationMatcher *)invocationMatcher;
|
||||
|
||||
- (id)classMethod;
|
||||
- (id)ignoringNonObjectArgs;
|
||||
|
||||
@end
|
||||
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import "OCMRecorder.h"
|
||||
|
||||
|
||||
@interface OCMStubRecorder : OCMRecorder
|
||||
|
||||
- (id)andReturn:(id)anObject;
|
||||
- (id)andReturnValue:(NSValue *)aValue;
|
||||
- (id)andThrow:(NSException *)anException;
|
||||
- (id)andPost:(NSNotification *)aNotification;
|
||||
- (id)andCall:(SEL)selector onObject:(id)anObject;
|
||||
- (id)andDo:(void (^)(NSInvocation *invocation))block;
|
||||
- (id)andForwardToRealObject;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface OCMStubRecorder (Properties)
|
||||
|
||||
#define andReturn(aValue) _andReturn(({ __typeof__(aValue) _v = (aValue); [NSValue value:&_v withObjCType:@encode(__typeof__(_v))]; }))
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *);
|
||||
|
||||
#define andThrow(anException) _andThrow(anException)
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *);
|
||||
|
||||
#define andPost(aNotification) _andPost(aNotification)
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *);
|
||||
|
||||
#define andCall(anObject, aSelector) _andCall(anObject, aSelector)
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL);
|
||||
|
||||
#define andDo(aBlock) _andDo(aBlock)
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *));
|
||||
|
||||
#define andForwardToRealObject() _andForwardToRealObject()
|
||||
@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void);
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <OCMock/OCMockObject.h>
|
||||
#import <OCMock/OCMRecorder.h>
|
||||
#import <OCMock/OCMStubRecorder.h>
|
||||
#import <OCMock/OCMConstraint.h>
|
||||
#import <OCMock/OCMArg.h>
|
||||
#import <OCMock/OCMLocation.h>
|
||||
#import <OCMock/OCMMacroState.h>
|
||||
#import <OCMock/NSNotificationCenter+OCMAdditions.h>
|
||||
|
||||
|
||||
#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls]
|
||||
|
||||
#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls]
|
||||
|
||||
#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol]
|
||||
|
||||
#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol]
|
||||
|
||||
#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj]
|
||||
|
||||
#define OCMObserverMock() [OCMockObject observerMock]
|
||||
|
||||
|
||||
#define OCMStub(invocation) \
|
||||
({ \
|
||||
_OCMSilenceWarnings( \
|
||||
[OCMMacroState beginStubMacro]; \
|
||||
invocation; \
|
||||
[OCMMacroState endStubMacro]; \
|
||||
); \
|
||||
})
|
||||
|
||||
#define OCMExpect(invocation) \
|
||||
({ \
|
||||
_OCMSilenceWarnings( \
|
||||
[OCMMacroState beginExpectMacro]; \
|
||||
invocation; \
|
||||
[OCMMacroState endExpectMacro]; \
|
||||
); \
|
||||
})
|
||||
|
||||
#define ClassMethod(invocation) \
|
||||
_OCMSilenceWarnings( \
|
||||
[[OCMMacroState globalState] switchToClassMethod]; \
|
||||
invocation; \
|
||||
);
|
||||
|
||||
|
||||
#define OCMVerifyAll(mock) [mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]
|
||||
|
||||
#define OCMVerifyAllWithDelay(mock, delay) [mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)]
|
||||
|
||||
#define OCMVerify(invocation) \
|
||||
({ \
|
||||
_OCMSilenceWarnings( \
|
||||
[OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \
|
||||
invocation; \
|
||||
[OCMMacroState endVerifyMacro]; \
|
||||
); \
|
||||
})
|
||||
|
||||
#define _OCMSilenceWarnings(macro) \
|
||||
({ \
|
||||
_Pragma("clang diagnostic push") \
|
||||
_Pragma("clang diagnostic ignored \"-Wunused-value\"") \
|
||||
macro \
|
||||
_Pragma("clang diagnostic pop") \
|
||||
})
|
||||
@@ -1,74 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2014 Erik Doernenburg and contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use these files except in compliance with the License. You may obtain
|
||||
* a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class OCMLocation;
|
||||
@class OCMInvocationStub;
|
||||
@class OCMStubRecorder;
|
||||
@class OCMInvocationMatcher;
|
||||
@class OCMInvocationExpectation;
|
||||
|
||||
|
||||
@interface OCMockObject : NSProxy
|
||||
{
|
||||
BOOL isNice;
|
||||
BOOL expectationOrderMatters;
|
||||
NSMutableArray *stubs;
|
||||
NSMutableArray *expectations;
|
||||
NSMutableArray *exceptions;
|
||||
NSMutableArray *invocations;
|
||||
}
|
||||
|
||||
+ (id)mockForClass:(Class)aClass;
|
||||
+ (id)mockForProtocol:(Protocol *)aProtocol;
|
||||
+ (id)partialMockForObject:(NSObject *)anObject;
|
||||
|
||||
+ (id)niceMockForClass:(Class)aClass;
|
||||
+ (id)niceMockForProtocol:(Protocol *)aProtocol;
|
||||
|
||||
+ (id)observerMock;
|
||||
|
||||
- (instancetype)init;
|
||||
|
||||
- (void)setExpectationOrderMatters:(BOOL)flag;
|
||||
|
||||
- (id)stub;
|
||||
- (id)expect;
|
||||
- (id)reject;
|
||||
|
||||
- (id)verify;
|
||||
- (id)verifyAtLocation:(OCMLocation *)location;
|
||||
|
||||
- (void)verifyWithDelay:(NSTimeInterval)delay;
|
||||
- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location;
|
||||
|
||||
- (void)stopMocking;
|
||||
|
||||
// internal use only
|
||||
|
||||
- (void)addStub:(OCMInvocationStub *)aStub;
|
||||
- (void)addExpectation:(OCMInvocationExpectation *)anExpectation;
|
||||
|
||||
- (BOOL)handleInvocation:(NSInvocation *)anInvocation;
|
||||
- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation;
|
||||
- (BOOL)handleSelector:(SEL)sel;
|
||||
|
||||
- (void)verifyInvocation:(OCMInvocationMatcher *)matcher;
|
||||
- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location;
|
||||
|
||||
@end
|
||||
|
||||
Binary file not shown.
Submodule platform/ios/uitest/OHHTTPStubs deleted from 4dc6f36375
@@ -1,546 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
96567A231B0E84CD00D78776 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 96567A221B0E84CD00D78776 /* LaunchScreen.xib */; };
|
||||
96567A311B0E8BB900D78776 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96567A301B0E8BB900D78776 /* Images.xcassets */; };
|
||||
DA180EF21DD1A4DF000A211D /* OHHTTPStubs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA180EF11DD1A4DF000A211D /* OHHTTPStubs.framework */; };
|
||||
DA482C801C12582600772FE3 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA482C7F1C12582600772FE3 /* Mapbox.framework */; };
|
||||
DA482C811C12582600772FE3 /* Mapbox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DA482C7F1C12582600772FE3 /* Mapbox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
DA9C551D1CD9DFCD000A15C6 /* libKIF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9C551B1CD9DFA7000A15C6 /* libKIF.a */; };
|
||||
DD043363196DBBD500E6F39D /* MGLTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */; };
|
||||
DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD043360196DBBD500E6F39D /* MGLTViewController.m */; };
|
||||
DD043366196DBBE000E6F39D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DD043365196DBBE000E6F39D /* main.m */; };
|
||||
DD0580E81ACB628200B112C9 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD0580E71ACB628200B112C9 /* IOKit.framework */; };
|
||||
DD0E6F841B0190E200DC035A /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD0E6F701B0190E200DC035A /* libOCMock.a */; };
|
||||
DDBD016C196DC4740033959E /* MapViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD0168196DC4740033959E /* MapViewTests.m */; };
|
||||
DDBD016D196DC4740033959E /* KIFTestActor+MapboxGL.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
DDBD0160196DC3D70033959E /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = DD04331B196DB9BC00E6F39D /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = DD043322196DB9BC00E6F39D;
|
||||
remoteInfo = "Mapbox GL Tests";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
DA482C821C12582600772FE3 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
DA482C811C12582600772FE3 /* Mapbox.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
3EAB52CE206ACE7E008BFE2D /* libmbgl-loop-darwin.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libmbgl-loop-darwin.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3EAB52CF206ACE7E008BFE2D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
96567A221B0E84CD00D78776 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = SOURCE_ROOT; };
|
||||
96567A301B0E8BB900D78776 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
DA180EF11DD1A4DF000A211D /* OHHTTPStubs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OHHTTPStubs.framework; path = "OHHTTPStubs/OHHTTPStubs/build/Debug-iphoneos/OHHTTPStubs.framework"; sourceTree = "<group>"; };
|
||||
DA482C7F1C12582600772FE3 /* Mapbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA9C551B1CD9DFA7000A15C6 /* libKIF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libKIF.a; path = "../../../build/ios/Build/Products/Debug-iphonesimulator/libKIF.a"; sourceTree = "<group>"; };
|
||||
DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Mapbox GL Tests.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLTAppDelegate.m; sourceTree = SOURCE_ROOT; };
|
||||
DD043360196DBBD500E6F39D /* MGLTViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLTViewController.m; sourceTree = SOURCE_ROOT; };
|
||||
DD043361196DBBD500E6F39D /* MGLTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLTViewController.h; sourceTree = SOURCE_ROOT; };
|
||||
DD043362196DBBD500E6F39D /* MGLTAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLTAppDelegate.h; sourceTree = SOURCE_ROOT; };
|
||||
DD043365196DBBE000E6F39D /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
|
||||
DD043367196DBCC200E6F39D /* App-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "App-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
DD0580E71ACB628200B112C9 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
DD0E6F701B0190E200DC035A /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOCMock.a; path = OCMock/libOCMock.a; sourceTree = SOURCE_ROOT; };
|
||||
DD0E6F721B0190E200DC035A /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = "<group>"; };
|
||||
DD0E6F731B0190E200DC035A /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = "<group>"; };
|
||||
DD0E6F741B0190E200DC035A /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = "<group>"; };
|
||||
DD0E6F751B0190E200DC035A /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = "<group>"; };
|
||||
DD0E6F761B0190E200DC035A /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = "<group>"; };
|
||||
DD0E6F771B0190E200DC035A /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = "<group>"; };
|
||||
DD0E6F781B0190E200DC035A /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = "<group>"; };
|
||||
DD0E6F791B0190E200DC035A /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = "<group>"; };
|
||||
DD0E6F7A1B0190E200DC035A /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = "<group>"; };
|
||||
DDBD0152196DC3D70033959E /* Test Bundle.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Bundle.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DDBD0165196DC4560033959E /* Bundle-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Bundle-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
DDBD0168196DC4740033959E /* MapViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewTests.m; sourceTree = SOURCE_ROOT; };
|
||||
DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestActor+MapboxGL.m"; sourceTree = SOURCE_ROOT; };
|
||||
DDBD016B196DC4740033959E /* KIFTestActor+MapboxGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestActor+MapboxGL.h"; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
DD043320196DB9BC00E6F39D /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DA482C801C12582600772FE3 /* Mapbox.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DDBD014F196DC3D70033959E /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DA180EF21DD1A4DF000A211D /* OHHTTPStubs.framework in Frameworks */,
|
||||
DD0580E81ACB628200B112C9 /* IOKit.framework in Frameworks */,
|
||||
DA9C551D1CD9DFCD000A15C6 /* libKIF.a in Frameworks */,
|
||||
DD0E6F841B0190E200DC035A /* libOCMock.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
DD04331A196DB9BC00E6F39D = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DD04332C196DB9BC00E6F39D /* App */,
|
||||
DDBD0139196DC38D0033959E /* Tests */,
|
||||
DD043325196DB9BC00E6F39D /* Frameworks */,
|
||||
DD043324196DB9BC00E6F39D /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD043324196DB9BC00E6F39D /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */,
|
||||
DDBD0152196DC3D70033959E /* Test Bundle.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD043325196DB9BC00E6F39D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3EAB52CF206ACE7E008BFE2D /* OpenGLES.framework */,
|
||||
3EAB52CE206ACE7E008BFE2D /* libmbgl-loop-darwin.a */,
|
||||
DA180EF11DD1A4DF000A211D /* OHHTTPStubs.framework */,
|
||||
DA9C551B1CD9DFA7000A15C6 /* libKIF.a */,
|
||||
DA482C7F1C12582600772FE3 /* Mapbox.framework */,
|
||||
DD0580E71ACB628200B112C9 /* IOKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD04332C196DB9BC00E6F39D /* App */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DD043362196DBBD500E6F39D /* MGLTAppDelegate.h */,
|
||||
DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */,
|
||||
DD043361196DBBD500E6F39D /* MGLTViewController.h */,
|
||||
DD043360196DBBD500E6F39D /* MGLTViewController.m */,
|
||||
DD04332D196DB9BC00E6F39D /* Supporting Files */,
|
||||
);
|
||||
name = App;
|
||||
path = "Mapbox GL Tests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD04332D196DB9BC00E6F39D /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
96567A301B0E8BB900D78776 /* Images.xcassets */,
|
||||
DD043367196DBCC200E6F39D /* App-Info.plist */,
|
||||
DD043365196DBBE000E6F39D /* main.m */,
|
||||
96567A221B0E84CD00D78776 /* LaunchScreen.xib */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD0E6F6B1B01906600DC035A /* OCMock */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DD0E6F701B0190E200DC035A /* libOCMock.a */,
|
||||
DD0E6F711B0190E200DC035A /* OCMock */,
|
||||
);
|
||||
name = OCMock;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DD0E6F711B0190E200DC035A /* OCMock */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DD0E6F721B0190E200DC035A /* NSNotificationCenter+OCMAdditions.h */,
|
||||
DD0E6F731B0190E200DC035A /* OCMArg.h */,
|
||||
DD0E6F741B0190E200DC035A /* OCMConstraint.h */,
|
||||
DD0E6F751B0190E200DC035A /* OCMLocation.h */,
|
||||
DD0E6F761B0190E200DC035A /* OCMMacroState.h */,
|
||||
DD0E6F771B0190E200DC035A /* OCMock.h */,
|
||||
DD0E6F781B0190E200DC035A /* OCMockObject.h */,
|
||||
DD0E6F791B0190E200DC035A /* OCMRecorder.h */,
|
||||
DD0E6F7A1B0190E200DC035A /* OCMStubRecorder.h */,
|
||||
);
|
||||
name = OCMock;
|
||||
path = OCMock/OCMock;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
DDBD0139196DC38D0033959E /* Tests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DDBD016B196DC4740033959E /* KIFTestActor+MapboxGL.h */,
|
||||
DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */,
|
||||
DDBD0168196DC4740033959E /* MapViewTests.m */,
|
||||
DDBD0167196DC46B0033959E /* Supporting Files */,
|
||||
DD0E6F6B1B01906600DC035A /* OCMock */,
|
||||
);
|
||||
name = Tests;
|
||||
path = "Mapbox GL Tests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DDBD0167196DC46B0033959E /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DDBD0165196DC4560033959E /* Bundle-Info.plist */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
DD043322196DB9BC00E6F39D /* Mapbox GL Tests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DD043358196DB9BC00E6F39D /* Build configuration list for PBXNativeTarget "Mapbox GL Tests" */;
|
||||
buildPhases = (
|
||||
DD04331F196DB9BC00E6F39D /* Sources */,
|
||||
DD043320196DB9BC00E6F39D /* Frameworks */,
|
||||
DD043321196DB9BC00E6F39D /* Resources */,
|
||||
DA482C821C12582600772FE3 /* Embed Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Mapbox GL Tests";
|
||||
productName = "Mapbox GL Tests";
|
||||
productReference = DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
DDBD0151196DC3D70033959E /* Test Bundle */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DDBD0162196DC3D70033959E /* Build configuration list for PBXNativeTarget "Test Bundle" */;
|
||||
buildPhases = (
|
||||
DDBD014E196DC3D70033959E /* Sources */,
|
||||
DDBD014F196DC3D70033959E /* Frameworks */,
|
||||
DDBD0150196DC3D70033959E /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
DDBD0161196DC3D70033959E /* PBXTargetDependency */,
|
||||
);
|
||||
name = "Test Bundle";
|
||||
productName = "Test Bundle";
|
||||
productReference = DDBD0152196DC3D70033959E /* Test Bundle.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
DD04331B196DB9BC00E6F39D /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = MGLT;
|
||||
LastUpgradeCheck = 0700;
|
||||
ORGANIZATIONNAME = Mapbox;
|
||||
TargetAttributes = {
|
||||
DDBD0151196DC3D70033959E = {
|
||||
TestTargetID = DD043322196DB9BC00E6F39D;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = DD04331E196DB9BC00E6F39D /* Build configuration list for PBXProject "ios-tests" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = DD04331A196DB9BC00E6F39D;
|
||||
productRefGroup = DD043324196DB9BC00E6F39D /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
DD043322196DB9BC00E6F39D /* Mapbox GL Tests */,
|
||||
DDBD0151196DC3D70033959E /* Test Bundle */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
DD043321196DB9BC00E6F39D /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
96567A311B0E8BB900D78776 /* Images.xcassets in Resources */,
|
||||
96567A231B0E84CD00D78776 /* LaunchScreen.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DDBD0150196DC3D70033959E /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
DD04331F196DB9BC00E6F39D /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DD043366196DBBE000E6F39D /* main.m in Sources */,
|
||||
DD043363196DBBD500E6F39D /* MGLTAppDelegate.m in Sources */,
|
||||
DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DDBD014E196DC3D70033959E /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DDBD016D196DC4740033959E /* KIFTestActor+MapboxGL.m in Sources */,
|
||||
DDBD016C196DC4740033959E /* MapViewTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
DDBD0161196DC3D70033959E /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = DD043322196DB9BC00E6F39D /* Mapbox GL Tests */;
|
||||
targetProxy = DDBD0160196DC3D70033959E /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
DD043356196DB9BC00E6F39D /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SYMROOT = ../../../build/ios;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DD043357196DB9BC00E6F39D /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
SDKROOT = iphoneos;
|
||||
SYMROOT = ../../../build/ios;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
DD043359196DB9BC00E6F39D /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mapbox.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DD04335A196DB9BC00E6F39D /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mapbox.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
DDBD0163196DC3D70033959E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Mapbox GL Tests.app/Mapbox GL Tests";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/OHHTTPStubs/OHHTTPStubs/build/Debug-iphoneos",
|
||||
);
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
"KIF_XCTEST=1",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
OCMock,
|
||||
OHHTTPStubs/OHHTTPStubs/Sources,
|
||||
);
|
||||
INFOPLIST_FILE = "Bundle-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/OCMock",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-framework",
|
||||
XCTest,
|
||||
"-ObjC",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mapbox.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DDBD0164196DC3D70033959E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Mapbox GL Tests.app/Mapbox GL Tests";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/OHHTTPStubs/OHHTTPStubs/build/Debug-iphoneos",
|
||||
);
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "KIF_XCTEST=1";
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
OCMock,
|
||||
OHHTTPStubs/OHHTTPStubs/Sources,
|
||||
);
|
||||
INFOPLIST_FILE = "Bundle-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/OCMock",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-framework",
|
||||
XCTest,
|
||||
"-ObjC",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.mapbox.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
DD04331E196DB9BC00E6F39D /* Build configuration list for PBXProject "ios-tests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DD043356196DB9BC00E6F39D /* Debug */,
|
||||
DD043357196DB9BC00E6F39D /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
DD043358196DB9BC00E6F39D /* Build configuration list for PBXNativeTarget "Mapbox GL Tests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DD043359196DB9BC00E6F39D /* Debug */,
|
||||
DD04335A196DB9BC00E6F39D /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
DDBD0162196DC3D70033959E /* Build configuration list for PBXNativeTarget "Test Bundle" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DDBD0163196DC3D70033959E /* Debug */,
|
||||
DDBD0164196DC3D70033959E /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = DD04331B196DB9BC00E6F39D /* Project object */;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Mapbox GL Tests.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -1,41 +0,0 @@
|
||||
<?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>IDESourceControlProjectFavoriteDictionaryKey</key>
|
||||
<false/>
|
||||
<key>IDESourceControlProjectIdentifier</key>
|
||||
<string>A9E9DC14-62C7-4C7A-B782-6B24B7657046</string>
|
||||
<key>IDESourceControlProjectName</key>
|
||||
<string>Mapbox GL Tests</string>
|
||||
<key>IDESourceControlProjectOriginsDictionary</key>
|
||||
<dict>
|
||||
<key>1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF</key>
|
||||
<string>ssh://github.com/mapbox/mapbox-gl-cocoa.git</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectPath</key>
|
||||
<string>test/Mapbox GL Tests/Mapbox GL Tests.xcodeproj/project.xcworkspace</string>
|
||||
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
|
||||
<dict>
|
||||
<key>1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF</key>
|
||||
<string>../../../..</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectURL</key>
|
||||
<string>ssh://github.com/mapbox/mapbox-gl-cocoa.git</string>
|
||||
<key>IDESourceControlProjectVersion</key>
|
||||
<integer>110</integer>
|
||||
<key>IDESourceControlProjectWCCIdentifier</key>
|
||||
<string>1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF</string>
|
||||
<key>IDESourceControlProjectWCConfigurations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.git</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>1F4F0A5F-01E4-4945-AE04-F4B1B763C2BF</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>mapbox-gl-cocoa</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,65 +0,0 @@
|
||||
<?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>IDESourceControlProjectFavoriteDictionaryKey</key>
|
||||
<false/>
|
||||
<key>IDESourceControlProjectIdentifier</key>
|
||||
<string>31F71B93-A6C7-4EE6-B62A-5324738E25FE</string>
|
||||
<key>IDESourceControlProjectName</key>
|
||||
<string>ios-tests</string>
|
||||
<key>IDESourceControlProjectOriginsDictionary</key>
|
||||
<dict>
|
||||
<key>10265E242415D473A6A613214DB7AC3EE3D43F93</key>
|
||||
<string>https://github.com/mapbox/KIF.git</string>
|
||||
<key>38C2A0D4F62B675E8C16C8BC1437C7753846C8AC</key>
|
||||
<string>https://github.com/AliSoftware/OHHTTPStubs.git</string>
|
||||
<key>7E68CB584078A487C0535CC191D3B7551EEE2095</key>
|
||||
<string>github.com:mapbox/mapbox-gl-native.git</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectPath</key>
|
||||
<string>test/ios/ios-tests.xcodeproj</string>
|
||||
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
|
||||
<dict>
|
||||
<key>10265E242415D473A6A613214DB7AC3EE3D43F93</key>
|
||||
<string>../../../..test/ios/KIF</string>
|
||||
<key>38C2A0D4F62B675E8C16C8BC1437C7753846C8AC</key>
|
||||
<string>../../../../test/ios/OHHTTPStubs</string>
|
||||
<key>7E68CB584078A487C0535CC191D3B7551EEE2095</key>
|
||||
<string>../../../..</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectURL</key>
|
||||
<string>github.com:mapbox/mapbox-gl-native.git</string>
|
||||
<key>IDESourceControlProjectVersion</key>
|
||||
<integer>111</integer>
|
||||
<key>IDESourceControlProjectWCCIdentifier</key>
|
||||
<string>7E68CB584078A487C0535CC191D3B7551EEE2095</string>
|
||||
<key>IDESourceControlProjectWCConfigurations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.git</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>7E68CB584078A487C0535CC191D3B7551EEE2095</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>gl-native</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.git</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>10265E242415D473A6A613214DB7AC3EE3D43F93</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>KIF</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.git</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>38C2A0D4F62B675E8C16C8BC1437C7753846C8AC</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>OHHTTPStubs</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,136 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0930"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EABD46791857A0C700A5F081"
|
||||
BuildableName = "libKIF.a"
|
||||
BlueprintName = "KIF"
|
||||
ReferencedContainer = "container:KIF/KIF.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"
|
||||
BuildableName = "Mapbox GL Tests.app"
|
||||
BlueprintName = "Mapbox GL Tests"
|
||||
ReferencedContainer = "container:ios-tests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DDBD0151196DC3D70033959E"
|
||||
BuildableName = "Test Bundle.xctest"
|
||||
BlueprintName = "Test Bundle"
|
||||
ReferencedContainer = "container:ios-tests.xcodeproj">
|
||||
</BuildableReference>
|
||||
<SkippedTests>
|
||||
<Test
|
||||
Identifier = "MapViewTests/testUserTrackingModeFollowWithHeading">
|
||||
</Test>
|
||||
<Test
|
||||
Identifier = "MetricsTests">
|
||||
</Test>
|
||||
<Test
|
||||
Identifier = "MetricsTests/testFlushPostsEvents">
|
||||
</Test>
|
||||
<Test
|
||||
Identifier = "MetricsTests/testPostEventsNetworkRequest">
|
||||
</Test>
|
||||
<Test
|
||||
Identifier = "MetricsTests/testTimerFiresFlush">
|
||||
</Test>
|
||||
</SkippedTests>
|
||||
<LocationScenarioReference
|
||||
identifier = "com.apple.dt.IDEFoundation.CurrentLocationScenarioIdentifier"
|
||||
referenceType = "1">
|
||||
</LocationScenarioReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"
|
||||
BuildableName = "Mapbox GL Tests.app"
|
||||
BlueprintName = "Mapbox GL Tests"
|
||||
ReferencedContainer = "container:ios-tests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"
|
||||
BuildableName = "Mapbox GL Tests.app"
|
||||
BlueprintName = "Mapbox GL Tests"
|
||||
ReferencedContainer = "container:ios-tests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"
|
||||
BuildableName = "Mapbox GL Tests.app"
|
||||
BlueprintName = "Mapbox GL Tests"
|
||||
ReferencedContainer = "container:ios-tests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -1,9 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MGLTAppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MGLTAppDelegate class]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user