Merge branch 'master' into 1ec5-constraints-1327

This commit is contained in:
Minh Nguyễn
2015-04-24 09:21:46 -07:00
30 changed files with 444 additions and 374 deletions

2
.gitmodules vendored
View File

@@ -12,7 +12,7 @@
[submodule "test/ios/KIF"]
path = test/ios/KIF
url = https://github.com/mapbox/KIF.git
url = https://github.com/kif-framework/KIF.git
[submodule "platform/ios/vendor/SMCalloutView"]
path = platform/ios/vendor/SMCalloutView

View File

@@ -57,6 +57,7 @@ env:
- IOS_PROFILE_NAME="ios-in-house"
- secure: "nQqSM8rd7OHtV4MqmNqVnkrVHqxKqQsaWRYk4/nPdhbeVWtTtkk0df711LrF1TUtbEPEewHxYUvTZ/UXmwJNeoKdzTHavI8hnatRkgjyxGERPn1il1Otelht9I+LQQHf+plrpRjVWBrNIW0Zox1B3cqn6d3NglpbXrEQ2EjYGNA="
# end iOS code signing
- KIF_SCREENSHOTS="${TRAVIS_BUILD_DIR}/screenshots"
before_install:
- if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then sudo service mysql stop; fi
@@ -68,6 +69,7 @@ before_install:
- ./scripts/travis_before_install.sh
- if [[ ${TRAVIS_OS_NAME} == "linux" && ${MASON_PLATFORM} != "android" ]]; then export LD_LIBRARY_PATH=`mason prefix mesa 10.4.3`/lib; fi
- if [[ ${TRAVIS_OS_NAME} == "linux" && ${MASON_PLATFORM} != "android" ]]; then glxinfo; fi
- if [[ ${TRAVIS_OS_NAME} == "osx" && ${TEST_OS} == "ios" ]]; then mkdir -p ${KIF_SCREENSHOTS}; fi
install:
- ulimit -c
@@ -88,6 +90,9 @@ script:
after_script:
- ./scripts/ios_travis/remove-key.sh
after_failure:
- if [[ ${TRAVIS_OS_NAME} == "osx" && ${TEST_OS} == "ios" ]]; then ./scripts/ios_travis/upload_screenshots.sh; fi
notifications:
slack:
secure: HHQYr7sF8M1SzoWSqgKVYtwAgGdLLCyTMsQjFhEEQNYO92ZwURE5s03qWTGH5k8+4Yqn26yrXt3NztLC4JIOpcGervN2mSZyq4dZgFTcWEd61igw0qwSenlwvFfbE1ASK/KYCzfyn9MIfHN+ovwLoRxXZkPwinKDvl3DXjBaFNg=

125
Makefile
View File

@@ -4,11 +4,16 @@ PREFIX ?= /usr/local
ANDROID_ABI ?= arm-v7
ifeq ($(shell uname -s), Darwin)
HOST ?= osx
HEADLESS ?= cgl
HOST = osx
HEADLESS = cgl
JOBS ?= $(shell sysctl -n hw.ncpu)
endif
HOST ?= linux
ifeq ($(shell uname -s), Linux)
HOST = linux
JOBS ?= $(shell sysctl -n hw.ncpu)
endif
JOBS ?= 1
all: mbgl
@@ -29,49 +34,45 @@ styles/styles:
SMCalloutView:
git submodule update --init platform/ios/vendor/SMCalloutView
KIF:
git submodule update --init test/ios/KIF
#### Build files ###############################################################
.PRECIOUS: Makefile/project
Makefile/project: config/$(HOST).gypi styles/styles SMCalloutView
deps/run_gyp gyp/project.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make
.PRECIOUS: Xcode/project
Xcode/project: config/$(HOST).gypi styles/styles SMCalloutView
deps/run_gyp gyp/project.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f xcode
#### Library builds ############################################################
.PRECIOUS: Makefile/mbgl
Makefile/mbgl: config/$(HOST).gypi styles/styles SMCalloutView
deps/run_gyp mbgl.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make
mbgl: Makefile/mbgl
mbgl: Makefile/project
$(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) everything
standalone: Makefile/mbgl
standalone: Makefile/project
LINK=`pwd`/gyp/link.py $(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) standalone
install: Makefile/mbgl
install: Makefile/project
LINK=`pwd`/gyp/link.py $(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) install
.PRECIOUS: Xcode/mbgl
Xcode/mbgl: config/$(HOST).gypi styles/styles SMCalloutView
deps/run_gyp mbgl.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f xcode
##### Test builds ##############################################################
.PRECIOUS: Makefile/test
Makefile/test: test/test.gyp config/$(HOST).gypi styles/styles SMCalloutView
deps/run_gyp test/test.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make
.PHONY: test
test: Makefile/test
test: Makefile/project
$(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) test
test-%: test
./scripts/run_tests.sh "build/$(HOST)/$(BUILDTYPE)/test" --gtest_filter=$*
.PRECIOUS: Xcode/test
Xcode/test: test/test.gyp config/osx.gypi styles/styles SMCalloutView
deps/run_gyp test/test.gyp $(CONFIG_osx) $(LIBS_osx) --generator-output=./build/osx -f xcode
.PHONY: lproj lbuild run-xlinux
xtest-proj: Xcode/test
open ./build/osx/test/test.xcodeproj
xtest: Xcode/test
xcodebuild -project ./build/osx/test/test.xcodeproj -configuration $(BUILDTYPE) -target test -jobs $(JOBS)
.PHONY: xtest
xtest: Xcode/project
xcodebuild -project ./build/osx/gyp/project.xcodeproj -configuration $(BUILDTYPE) -target test -jobs $(JOBS)
xtest-%: xtest
./scripts/run_tests.sh "build/osx/Build/Products/$(BUILDTYPE)/test" --gtest_filter=$*
@@ -79,31 +80,22 @@ xtest-%: xtest
#### Mac OS X application builds ###############################################
.PRECIOUS: Makefile/osx
Makefile/osx: macosx/mapboxgl-app.gyp config/osx.gypi styles/styles
deps/run_gyp macosx/mapboxgl-app.gyp $(CONFIG_osx) $(LIBS_osx) --generator-output=./build/osx -f make
.PHONY: osx run-osx
osx: Makefile/osx
osx: Makefile/project
$(MAKE) -C build/osx BUILDTYPE=$(BUILDTYPE) osxapp
run-osx: osx
"build/osx/$(BUILDTYPE)/Mapbox GL.app/Contents/MacOS/Mapbox GL"
.PRECIOUS: Xcode/osx
Xcode/osx: macosx/mapboxgl-app.gyp config/osx.gypi styles/styles
deps/run_gyp macosx/mapboxgl-app.gyp $(CONFIG_osx) $(LIBS_osx) --generator-output=./build/osx -f xcode
.PHONY: xosx-proj xosx run-xosx
xosx-proj: Xcode/osx
open ./build/osx/macosx/mapboxgl-app.xcodeproj
xosx-proj: Xcode/project
open ./build/osx/gyp/project.xcodeproj
xosx: Xcode/osx
xcodebuild -project ./build/osx/macosx/mapboxgl-app.xcodeproj -configuration $(BUILDTYPE) -target osxapp -jobs $(JOBS)
xosx: Xcode/project
xcodebuild -project ./build/osx/gyp/project.xcodeproj -configuration $(BUILDTYPE) -target osxapp -jobs $(JOBS)
run-xosx: xosx
"build/osx/Build/Products/$(BUILDTYPE)/Mapbox GL.app/Contents/MacOS/Mapbox GL"
"gyp/build/$(BUILDTYPE)/Mapbox GL.app/Contents/MacOS/Mapbox GL"
# Legacy name
xproj: xosx-proj
@@ -129,40 +121,28 @@ isim: Xcode/ios
ipackage: clean Xcode/ios
./scripts/package_ios.sh
itest: ipackage KIF
./scripts/test_ios.sh
# Legacy name
iproj: ios-proj
#### Linux application builds ##################################################
.PRECIOUS: Makefile/linux
Makefile/linux: linux/mapboxgl-app.gyp config/$(HOST).gypi styles/styles
deps/run_gyp linux/mapboxgl-app.gyp $(CONFIG_$(HOST)) $(LIBS_linux) --generator-output=./build/$(HOST) -f make
.PHONY: linux run-linux
linux: Makefile/linux
linux: Makefile/project
$(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) linuxapp
run-linux: linux
(cd build/$(HOST)/$(BUILDTYPE) && ./mapbox-gl)
.PRECIOUS: Xcode/linux
Xcode/linux: linux/mapboxgl-app.gyp config/osx.gypi styles/styles
deps/run_gyp linux/mapboxgl-app.gyp $(CONFIG_osx) $(LIBS_linux) --generator-output=./build/osx -f xcode
.PHONY: lproj lbuild run-xlinux
xlinux-proj: Xcode/linux
open ./build/osx/linux/mapboxgl-app.xcodeproj
xlinux: Xcode/linux
xcodebuild -project ./build/osx/linux/mapboxgl-app.xcodeproj -configuration $(BUILDTYPE) -target linuxapp
.PHONY: xlinux run-xlinux
xlinux: Xcode/project
xcodebuild -project ./build/osx/gyp/project.xcodeproj -configuration $(BUILDTYPE) -target linuxapp -jobs $(JOBS)
run-xlinux: xlinux
"build/osx/Build/Products/$(BUILDTYPE)/mapbox-gl"
# Legacy name
lproj: xlinux-proj
"gyp/build/$(BUILDTYPE)/mapbox-gl"
#### Android libaries #########################################################
@@ -194,22 +174,15 @@ android-deploy: $(ANDROID_ABIS)
android-project: android-lib
##### Render builds ############################################################
.PRECIOUS: Makefile/render
Makefile/render: bin/render.gyp config/$(HOST).gypi
deps/run_gyp bin/render.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make
render: Makefile/render
render: Makefile/project
$(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) mbgl-render
.PRECIOUS: Xcode/render
Xcode/render: bin/render.gyp config/osx.gypi styles/styles
deps/run_gyp bin/render.gyp $(CONFIG_osx) $(LIBS_osx) --generator-output=./build/osx -f xcode
.PHONY: xrender-proj
xrender-proj: Xcode/render
open ./build/osx/bin/render.xcodeproj
.PHONY: xrender run-xrender
xrender: Xcode/project
xcodebuild -project ./build/osx/gyp/project.xcodeproj -configuration $(BUILDTYPE) -target mbgl-render -jobs $(JOBS)
##### Maintenace operations ####################################################

View File

@@ -70,6 +70,8 @@ If you merely want to install the library for iOS and try it out as an Objective
If you want to build from source and/or contribute to development of the project, run `make iproj`, which will create and open an Xcode project which can build the entire library from source as well as an Objective-C test app.
You can also run `make itest` to run the included tests. Requires `brew install xcpretty`.
Target devices: iPhone 4S and above (5, 5c, 5s, 6, 6 Plus) and iPad 2 and above (3, 4, Mini, Air, Mini 2, Air 2).
Target iOS: 7.0 through 8.1

19
gyp/project.gyp Normal file
View File

@@ -0,0 +1,19 @@
{
'conditions': [
['host == "osx"', {
'includes': [
'../macosx/mapboxgl-app.gypi',
'../linux/mapboxgl-app.gypi',
'../test/test.gypi',
'../bin/render.gypi',
]
}],
['host == "linux"', {
'includes': [
'../linux/mapboxgl-app.gypi',
'../test/test.gypi',
'../bin/render.gypi',
]
}],
],
}

View File

@@ -1,7 +1,7 @@
Pod::Spec.new do |m|
m.name = 'MapboxGL'
m.version = '0.2.14'
m.version = '0.2.15'
m.summary = 'Open source vector map solution for iOS with full styling capabilities.'
m.description = 'Open source OpenGL-based vector map solution for iOS with full styling capabilities and Cocoa bindings.'

View File

@@ -53,7 +53,7 @@
'OTHER_CPLUSPLUSFLAGS': [ '<@(cflags_cc)' ],
'OTHER_LDFLAGS': [ '<@(ldflags)' ],
'SDKROOT': 'macosx',
'INFOPLIST_FILE': 'Info.plist',
'INFOPLIST_FILE': '../macosx/Info.plist',
'CLANG_ENABLE_OBJC_ARC': 'YES'
},
}

View File

@@ -1203,12 +1203,6 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr;
if (finished)
{
[self notifyMapChange:@(animated ? mbgl::MapChangeRegionDidChangeAnimated : mbgl::MapChangeRegionDidChange)];
[UIView animateWithDuration:MGLAnimationDuration
animations:^
{
self.compass.alpha = 0;
}];
}
}];
}
@@ -2307,6 +2301,17 @@ CLLocationCoordinate2D latLngToCoordinate(mbgl::LatLng latLng)
}
completion:nil];
}
else if (mbglMap->getBearing() == 0 && self.compass.alpha > 0)
{
[UIView animateWithDuration:MGLAnimationDuration
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^
{
self.compass.alpha = 0;
}
completion:nil];
}
}
+ (UIImage *)resourceImageNamed:(NSString *)imageName

View File

@@ -50,7 +50,7 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
// from within a single thread use underscore syntax.
//
// All captures of `self` from within asynchronous
// dispatches will use a `weakSelf` to avoid cyclical
// dispatches will use a `strongSelf` to avoid cyclical
// strong references.
//
@@ -292,6 +292,9 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
__weak MGLMapboxEvents *weakSelf = self;
dispatch_async(_serialQueue, ^{
MGLMapboxEvents *strongSelf = weakSelf;
if ( ! strongSelf) return;
// Opt Out Checking When Built
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"mapbox_metrics_enabled_preference"]) {
[_eventQueue removeAllObjects];
@@ -315,35 +318,35 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
// mapbox-events stock attributes
[evt setObject:event forKey:@"event"];
[evt setObject:@(1) forKey:@"version"];
[evt setObject:[weakSelf.rfc3339DateFormatter stringFromDate:[NSDate date]] forKey:@"created"];
[evt setObject:weakSelf.instanceID forKey:@"instance"];
[evt setObject:weakSelf.advertiserId forKey:@"advertiserId"];
[evt setObject:weakSelf.vendorId forKey:@"vendorId"];
[evt setObject:weakSelf.appBundleId forKeyedSubscript:@"appBundleId"];
[evt setObject:[strongSelf.rfc3339DateFormatter stringFromDate:[NSDate date]] forKey:@"created"];
[evt setObject:strongSelf.instanceID forKey:@"instance"];
[evt setObject:strongSelf.advertiserId forKey:@"advertiserId"];
[evt setObject:strongSelf.vendorId forKey:@"vendorId"];
[evt setObject:strongSelf.appBundleId forKeyedSubscript:@"appBundleId"];
// mapbox-events-ios stock attributes
[evt setValue:weakSelf.model forKey:@"model"];
[evt setValue:weakSelf.iOSVersion forKey:@"operatingSystem"];
[evt setValue:[weakSelf getDeviceOrientation] forKey:@"orientation"];
[evt setValue:strongSelf.model forKey:@"model"];
[evt setValue:strongSelf.iOSVersion forKey:@"operatingSystem"];
[evt setValue:[strongSelf getDeviceOrientation] forKey:@"orientation"];
[evt setValue:@((int)(100 * [UIDevice currentDevice].batteryLevel)) forKey:@"batteryLevel"];
[evt setValue:@(weakSelf.scale) forKey:@"resolution"];
[evt setValue:weakSelf.carrier forKey:@"carrier"];
[evt setValue:@(strongSelf.scale) forKey:@"resolution"];
[evt setValue:strongSelf.carrier forKey:@"carrier"];
NSString *cell = [weakSelf getCurrentCellularNetworkConnectionType];
NSString *cell = [strongSelf getCurrentCellularNetworkConnectionType];
if (cell) {
[evt setValue:cell forKey:@"cellularNetworkType"];
} else {
[evt setObject:[NSNull null] forKey:@"cellularNetworkType"];
}
NSString *wifi = [weakSelf getWifiNetworkName];
NSString *wifi = [strongSelf getWifiNetworkName];
if (wifi) {
[evt setValue:wifi forKey:@"wifi"];
} else {
[evt setObject:[NSNull null] forKey:@"wifi"];
}
[evt setValue:@([weakSelf getContentSizeScale]) forKey:@"accessibilityFontScale"];
[evt setValue:@([strongSelf getContentSizeScale]) forKey:@"accessibilityFontScale"];
// Make Immutable Version
NSDictionary *finalEvent = [NSDictionary dictionaryWithDictionary:evt];
@@ -352,12 +355,12 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
[_eventQueue addObject:finalEvent];
// Has Flush Limit Been Reached?
if (_eventQueue.count >= weakSelf.flushAt) {
[weakSelf flush];
if (_eventQueue.count >= strongSelf.flushAt) {
[strongSelf flush];
}
// Reset Timer (Initial Starting of Timer after first event is pushed)
[weakSelf startTimer];
[strongSelf startTimer];
});
}
@@ -375,10 +378,13 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
__weak MGLMapboxEvents *weakSelf = self;
dispatch_async(_serialQueue, ^{
MGLMapboxEvents *strongSelf = weakSelf;
if ( ! strongSelf) return;
__block NSArray *events;
NSUInteger upper = weakSelf.flushAt;
if (weakSelf.flushAt > [_eventQueue count]) {
NSUInteger upper = strongSelf.flushAt;
if (strongSelf.flushAt > [_eventQueue count]) {
if ([_eventQueue count] == 0) {
return;
}
@@ -393,7 +399,7 @@ NSString *const MGLEventGestureRotateStart = @"Rotation";
[_eventQueue removeObjectsInRange:theRange];
// Send Array of Events to Server
[weakSelf postEvents:events];
[strongSelf postEvents:events];
});
}

View File

@@ -13,9 +13,9 @@ else:
if sys.argv[2] == sys.argv[3]:
tag = [0, 0, 0]
else:
ver = re.sub("[^0-9.]", "", sys.argv[2])
ver = re.sub("[^0-9.]", "", sys.argv[2])
tag = map(int, ver.split('.'))
rev = sys.argv[3][0:8]
rev = sys.argv[3][0:8]
def mkdir_p(path):

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
ls $KIF_SCREENSHOTS/
REPO_NAME=$(basename $TRAVIS_REPO_SLUG)
aws s3 cp $KIF_SCREENSHOTS/ s3://mapbox/$REPO_NAME/ios/tests/$TRAVIS_JOB_NUMBER/ --acl public-read --recursive > /dev/null
echo http://mapbox.s3.amazonaws.com/$REPO_NAME/ios/tests/$TRAVIS_JOB_NUMBER/index.html

View File

@@ -31,11 +31,12 @@ step "Creating build files..."
export MASON_PLATFORM=ios
export BUILDTYPE=${BUILDTYPE:-Release}
export HOST=ios
make Xcode/mbgl
make Xcode/ios
step "Building iOS targets..."
step "Building iOS device targets..."
xcodebuild -sdk iphoneos${IOS_SDK_VERSION} \
ARCHS="arm64 armv7 armv7s" \
ONLY_ACTIVE_ARCH=NO \
-project ./build/ios/mbgl.xcodeproj \
-configuration ${BUILDTYPE} \
-target everything \
@@ -45,6 +46,7 @@ xcodebuild -sdk iphoneos${IOS_SDK_VERSION} \
step "Building iOS Simulator targets..."
xcodebuild -sdk iphonesimulator${IOS_SDK_VERSION} \
ARCHS="x86_64 i386" \
ONLY_ACTIVE_ARCH=NO \
-project ./build/ios/mbgl.xcodeproj \
-configuration ${BUILDTYPE} \
-target everything \

16
scripts/test_ios.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
xcodebuild \
-project ./test/ios/ios-tests.xcodeproj \
-scheme 'Mapbox GL Tests' \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 5s,OS=7.1' \
-destination 'platform=iOS Simulator,name=iPhone 5s,OS=latest' \
-destination 'platform=iOS Simulator,name=iPad 2,OS=7.1' \
-destination 'platform=iOS Simulator,name=iPad 2,OS=latest' \
test \
| xcpretty

View File

@@ -48,15 +48,24 @@ elif [[ ${TRAVIS_OS_NAME} == "osx" && ${MASON_PLATFORM} == "osx" ]]; then
elif [[ ${TRAVIS_OS_NAME} == "osx" && ${MASON_PLATFORM} == "ios" ]]; then
#
# build & package iOS
#
mapbox_time "package_ios"
make ipackage
#
# conditionally deploy iOS build
# conditionally publish or test
#
if [[ -n "$PUBLISH_TAG" ]]; then
#
# build & package iOS
#
mapbox_time "package_ios"
make ipackage
#
# publish iOS build
#
mapbox_time "deploy_ios"
./scripts/publish_ios.sh "$PUBLISH_VERSION"
else
#
# build & test iOS
#
mapbox_time "run_ios_tests"
make itest
fi
fi

View File

@@ -245,7 +245,7 @@ TileData::State Source::addTile(Map &map, Worker &worker,
}
if (!new_tile.data) {
new_tile.data = cache.get(id.to_uint64());
new_tile.data = cache.get(normalized_id.to_uint64());
}
if (!new_tile.data) {
@@ -418,7 +418,7 @@ void Source::update(Map &map,
if (!obsolete) {
retain_data.insert(tile.data->id);
} else if (type != SourceType::Raster && tile.data->ready()) {
tileCache.add(tile.id.to_uint64(), tile.data);
tileCache.add(tile.id.normalized().to_uint64(), tile.data);
}
return obsolete;
});
@@ -432,7 +432,7 @@ void Source::update(Map &map,
bool obsolete = retain_data.find(tile->id) == retain_data.end();
if (obsolete) {
if (!tileCache.has(tile->id.to_uint64())) {
if (!tileCache.has(tile->id.normalized().to_uint64())) {
tile->cancel();
}
return true;

View File

@@ -20,11 +20,16 @@ void TileCache::setSize(size_t size_) {
void TileCache::add(uint64_t key, std::shared_ptr<TileData> data) {
assert(tiles.find(key) == tiles.end());
// insert new or query existing data
if (tiles.emplace(key, data).second) {
// remove existing data key
orderedKeys.remove(key);
}
tiles.emplace(key, data);
// (re-)insert data key as newest
orderedKeys.push_back(key);
// purge oldest key/data if necessary
if (orderedKeys.size() > size) {
get(orderedKeys.front());
}

View File

@@ -1,3 +1,4 @@
#import <UIKit/UIKit.h>
#import <KIF/KIF.h>
@class MGLMapView;

View File

@@ -1,7 +1,8 @@
#import "KIFTestActor+MapboxGL.h"
#import "MapboxGL.h"
#import <KIF/UIApplication-KIFAdditions.h>
#import <KIF/UIAccessibilityElement-KIFAdditions.h>
#import "MGLMapView.h"
@implementation KIFTestActor (MapboxGL)

View File

@@ -2,6 +2,6 @@
@interface MGLTAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic) UIWindow *window;
@end

View File

@@ -1,5 +1,5 @@
#import "MGLTViewController.h"
#import "MGLMapView.h"
#import "MapboxGL.h"
@implementation MGLTViewController

View File

@@ -1,5 +0,0 @@
#import <KIF/KIF.h>
@interface MapViewTests : KIFTestCase
@end

View File

@@ -1,9 +1,11 @@
#import "MapViewTests.h"
#import <KIF/KIF.h>
#import <KIF/KIFTestStepValidation.h>
#import "KIFTestActor+MapboxGL.h"
#import "MGLMapView.h"
@interface MapViewTests () <MGLMapViewDelegate>
#import "KIFTestActor+MapboxGL.h"
#import "MapboxGL.h"
@interface MapViewTests : KIFTestCase <MGLMapViewDelegate>
@end
@@ -11,120 +13,132 @@
- (void)beforeEach {
[system simulateDeviceRotationToOrientation:UIDeviceOrientationPortrait];
tester.mapView.viewControllerForLayoutGuides = tester.viewController;
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.viewController.navigationController.navigationBarHidden = YES;
tester.viewController.navigationController.toolbarHidden = YES;
tester.mapView.delegate = self;
}
- (void)testDirectionSet {
tester.mapView.direction = 270;
__KIFAssertEqual(tester.mapView.direction,
270,
@"setting direction should take effect");
XCTAssertEqual(tester.mapView.direction,
270,
@"setting direction should take effect");
[tester waitForTimeInterval:1];
__KIFAssertEqual(tester.compass.alpha,
1,
@"compass should be visible when map is rotated");
__KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(M_PI * 1.5)],
@"compass rotation should indicate map rotation");
XCTAssertEqual(tester.compass.alpha,
1,
@"compass should be visible when map is rotated");
XCTAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(M_PI * 1.5)],
@"compass rotation should indicate map rotation");
}
- (void)testCompassTap {
tester.mapView.direction = 180;
__KIFAssertEqual(tester.mapView.direction,
180,
@"setting direction should take effect");
[tester waitForTimeInterval:1];
XCTAssertEqual(tester.mapView.direction,
180,
@"setting direction should take effect");
[tester.compass tap];
[tester waitForTimeInterval:1];
__KIFAssertEqual(tester.mapView.direction,
0,
@"tapping compass should reset map direction");
__KIFAssertEqual(tester.compass.alpha,
0,
@"compass should not be visible when map is unrotated");
__KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform:CGAffineTransformIdentity],
@"compass rotation should indicate map rotation");
XCTAssertEqual(tester.mapView.direction,
0,
@"tapping compass should reset map direction");
XCTAssertEqual(tester.compass.alpha,
0,
@"compass should not be visible when map is unrotated");
XCTAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform:CGAffineTransformIdentity],
@"compass rotation should indicate map rotation");
}
- (void)testDirectionReset {
tester.mapView.direction = 100;
__KIFAssertEqual(tester.mapView.direction,
100,
@"setting direction should take effect");
tester.mapView.direction = 90;
XCTAssertEqual(tester.mapView.direction,
90,
@"setting direction should take effect");
[tester.mapView resetNorth];
[tester waitForTimeInterval:1];
__KIFAssertEqual(tester.mapView.direction,
0,
@"resetting north should reset map direction");
__KIFAssertEqual(tester.compass.alpha,
0,
@"compass should not be visible when map is unrotated");
__KIFAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform:CGAffineTransformIdentity],
@"compass rotation should indicate map rotation");
XCTAssertEqual(tester.mapView.direction,
0,
@"resetting north should reset map direction");
XCTAssertEqual(tester.compass.alpha,
0,
@"compass should not be visible when map is unrotated");
XCTAssertEqualObjects([NSValue valueWithCGAffineTransform:tester.compass.transform],
[NSValue valueWithCGAffineTransform: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 zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
tester.mapView.bounds.size.height / 2)
distance:50
steps:10];
XCTAssertTrue(tester.mapView.zoomLevel > zoom,
@"zoom gesture should increase zoom level");
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 pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
tester.mapView.bounds.size.height / 2)
distance:50
steps:10];
XCTAssertTrue(tester.mapView.zoomLevel < zoom,
@"pinch gesture should decrease zoom level");
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 zoomAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
tester.mapView.bounds.size.height / 2)
distance:50
steps:10];
__KIFAssertEqual(tester.mapView.zoomLevel,
zoom,
@"disabling zoom gesture should disallow zooming");
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)
[tester.mapView pinchAtPoint:CGPointMake(tester.mapView.bounds.size.width / 2,
tester.mapView.bounds.size.height / 2)
distance:50
steps:10];
__KIFAssertEqual(tester.mapView.zoomLevel,
zoom,
@"disabling zoom gesture should disallow pinching");
XCTAssertEqual(tester.mapView.zoomLevel,
zoom,
@"disabling zoom gesture should disallow pinching");
}
- (void)testPan {
@@ -132,10 +146,13 @@
[tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10];
XCTAssertTrue(tester.mapView.centerCoordinate.latitude > centerCoordinate.latitude,
@"panning map down should increase center latitude");
XCTAssertTrue(tester.mapView.centerCoordinate.longitude < centerCoordinate.longitude,
@"panning map right should decrease center longitude");
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)testPanDisabled {
@@ -144,42 +161,82 @@
[tester.mapView dragFromPoint:CGPointMake(10, 10) toPoint:CGPointMake(300, 300) steps:10];
__KIFAssertEqual(centerCoordinate.latitude,
tester.mapView.centerCoordinate.latitude,
@"disabling pan gesture should disallow vertical panning");
__KIFAssertEqual(centerCoordinate.longitude,
tester.mapView.centerCoordinate.longitude,
@"disabling pan gesture should disallow horizontal panning");
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)testRotate {
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)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)testCenterSet {
CLLocationCoordinate2D newCenterCoordinate = CLLocationCoordinate2DMake(45.23237263, -122.23287129);
XCTAssertNotEqual(tester.mapView.centerCoordinate.latitude,
newCenterCoordinate.latitude,
@"initial setup should have differing center latitude");
XCTAssertNotEqual(tester.mapView.centerCoordinate.longitude,
newCenterCoordinate.longitude,
@"initial setup should have differing center longitude");
[tester.mapView setCenterCoordinate:newCenterCoordinate];
tester.mapView.centerCoordinate = newCenterCoordinate;
XCTAssertTrue(tester.mapView.centerCoordinate.latitude == newCenterCoordinate.latitude,
@"setting center should change latitude");
XCTAssertTrue(tester.mapView.centerCoordinate.longitude == newCenterCoordinate.longitude,
@"setting center should change longitude");
XCTAssertEqual(tester.mapView.centerCoordinate.latitude,
newCenterCoordinate.latitude,
@"setting center should change latitude");
XCTAssertEqual(tester.mapView.centerCoordinate.longitude,
newCenterCoordinate.longitude,
@"setting center should change longitude");
}
- (void)testZoomSet {
double newZoom = 11.65;
XCTAssertNotEqual(tester.mapView.zoomLevel,
newZoom,
@"initial setup should have differing zoom");
tester.mapView.zoomLevel = newZoom;
__KIFAssertEqual(tester.mapView.zoomLevel,
newZoom,
@"setting zoom should take effect");
XCTAssertEqualWithAccuracy(tester.mapView.zoomLevel,
newZoom,
0.01,
@"setting zoom should take effect");
}
- (void)testTopLayoutGuide {
@@ -233,7 +290,7 @@
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 buy under toolbar");
@"rotated device should not have logo bug under toolbar");
attributionButtonFrame = [attributionButton.superview convertRect:attributionButton.frame toView:nil];
XCTAssertFalse(CGRectIntersectsRect(attributionButtonFrame, toolbarFrame),
@@ -241,11 +298,11 @@
}
- (void)testDelegateRegionWillChange {
__block NSUInteger unanimatedCount = 0;
__block NSUInteger animatedCount = 0;
__block NSUInteger unanimatedCount;
__block NSUInteger animatedCount;
[[NSNotificationCenter defaultCenter] addObserverForName:@"regionWillChangeAnimated"
object:tester.mapView
queue:[NSOperationQueue mainQueue]
queue:nil
usingBlock:^(NSNotification *note) {
if ([note.userInfo[@"animated"] boolValue]) {
animatedCount++;
@@ -254,35 +311,40 @@
}
}];
[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];
XCTAssertNotNil(notification,
@"regionWillChange delegate should produce a notification");
__KIFAssertEqual([notification.userInfo[@"animated"] boolValue],
NO,
@"regionWillChange delegate should not indicate animated change");
__KIFAssertEqual(unanimatedCount,
1,
@"regionWillChange delegate should indicate one unanimated change");
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];
XCTAssertNotNil(notification,
@"regionWillChange delegate should produce a notification");
__KIFAssertEqual([notification.userInfo[@"animated"] boolValue],
YES,
@"regionWillChange delegate should indicate an animated change");
__KIFAssertEqual(animatedCount,
1,
@"regionWillChange delegate should indicate one animated change");
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"
@@ -296,11 +358,11 @@
}
- (void)testDelegateRegionDidChange {
__block NSUInteger unanimatedCount = 0;
__block NSUInteger animatedCount = 0;
__block NSUInteger unanimatedCount;
__block NSUInteger animatedCount;
[[NSNotificationCenter defaultCenter] addObserverForName:@"regionDidChangeAnimated"
object:tester.mapView
queue:[NSOperationQueue mainQueue]
queue:nil
usingBlock:^(NSNotification *note) {
if ([note.userInfo[@"animated"] boolValue]) {
animatedCount++;
@@ -309,35 +371,40 @@
}
}];
[tester waitForTimeInterval:1];
unanimatedCount = 0;
animatedCount = 0;
NSNotification *notification = [system waitForNotificationName:@"regionDidChangeAnimated"
object:tester.mapView
whileExecutingBlock:^{
tester.mapView.centerCoordinate = CLLocationCoordinate2DMake(0, 0);
}];
[tester waitForTimeInterval:1];
XCTAssertNotNil(notification,
@"regionDidChange delegate should produce a notification");
__KIFAssertEqual([notification.userInfo[@"animated"] boolValue],
NO,
@"regionDidChange delegate should not indicate animated change");
__KIFAssertEqual(unanimatedCount,
1,
@"regionDidChange delegate should indicate one unanimated change");
XCTAssertEqual([notification.userInfo[@"animated"] boolValue],
NO,
@"regionDidChange delegate should not indicate animated change");
XCTAssertEqual(unanimatedCount,
1,
@"regionDidChange delegate should indicate one unanimated change");
notification = [system waitForNotificationName:@"regionDidChangeAnimated"
object:tester.mapView
whileExecutingBlock:^{
[tester.mapView setCenterCoordinate:CLLocationCoordinate2DMake(45, 100) animated:YES];
}];
[tester waitForTimeInterval:1];
XCTAssertNotNil(notification,
@"regionDidChange delegate should produce a notification");
__KIFAssertEqual([notification.userInfo[@"animated"] boolValue],
YES,
@"regionDidChange delegate should indicate animated change");
__KIFAssertEqual(animatedCount,
1,
@"regionDidChange delegate should indicate one animated change");
XCTAssertEqual([notification.userInfo[@"animated"] boolValue],
YES,
@"regionDidChange delegate should indicate animated change");
XCTAssertEqual(animatedCount,
1,
@"regionDidChange delegate should indicate one animated change");
[[NSNotificationCenter defaultCenter] removeObserver:self
name:@"regionDidChangeAnimated"

View File

@@ -1,9 +0,0 @@
This is a harness app for integration testing of Mapbox GL Cocoa. It uses the static library build of Mapbox GL Cocoa in order to be entirely self-contained and not need the `mapbox-gl-native` upstream C++ project.
To run tests, either open the enclosed `ios-tests.xcodeproj` and run the tests or use `xcodebuild test` at the command line from this directory. For example:
```bash
xcodebuild -scheme 'Mapbox GL Tests' \
-destination 'platform=iOS Simulator,name=iPad,OS=7.1' \
test
```

View File

@@ -7,27 +7,24 @@
objects = {
/* Begin PBXBuildFile section */
DD043327196DB9BC00E6F39D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043326196DB9BC00E6F39D /* Foundation.framework */; };
DD043329196DB9BC00E6F39D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043328196DB9BC00E6F39D /* CoreGraphics.framework */; };
DD04332B196DB9BC00E6F39D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD04332A196DB9BC00E6F39D /* UIKit.framework */; };
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 */; };
DD1A9EA8199BEA0D007BC651 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD1A9EA7199BEA0D007BC651 /* libc++.dylib */; };
DD61240819CCF06E006845B1 /* libMapboxGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD61240619CCF06E006845B1 /* libMapboxGL.a */; };
DD61240919CCF06E006845B1 /* MapboxGL.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DD61240719CCF06E006845B1 /* MapboxGL.bundle */; };
DD8A790D196DC0A900FAD883 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A790C196DC0A900FAD883 /* libz.dylib */; };
DD8A790F196DC0AD00FAD883 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A790E196DC0AD00FAD883 /* GLKit.framework */; };
DD8A7911196DC0BB00FAD883 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */; };
DD96917919F1C08400729E7D /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD96917819F1C08400729E7D /* libsqlite3.dylib */; };
DD96918119F1C09200729E7D /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD96918019F1C09200729E7D /* SystemConfiguration.framework */; };
DDBD0154196DC3D70033959E /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDBD0153196DC3D70033959E /* XCTest.framework */; };
DDBD0155196DC3D70033959E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043326196DB9BC00E6F39D /* Foundation.framework */; };
DDBD0156196DC3D70033959E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD04332A196DB9BC00E6F39D /* UIKit.framework */; };
DD0580E81ACB628200B112C9 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD0580E71ACB628200B112C9 /* IOKit.framework */; };
DD0581041ACB661200B112C9 /* Headers in Resources */ = {isa = PBXBuildFile; fileRef = DD0581031ACB661200B112C9 /* Headers */; };
DD0581061ACB661C00B112C9 /* MapboxGL.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DD0581051ACB661C00B112C9 /* MapboxGL.bundle */; };
DD0581081ACB663200B112C9 /* libMapboxGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD0581071ACB663200B112C9 /* libMapboxGL.a */; };
DD41CE091ACB5DBC00FA7979 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE081ACB5DBC00FA7979 /* CoreTelephony.framework */; };
DD41CE0B1ACB5DC400FA7979 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE0A1ACB5DC400FA7979 /* SystemConfiguration.framework */; };
DD41CE0D1ACB5DCB00FA7979 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE0C1ACB5DCB00FA7979 /* libc++.dylib */; };
DD41CE0F1ACB5DD000FA7979 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE0E1ACB5DD000FA7979 /* libsqlite3.dylib */; };
DD41CE111ACB5DD500FA7979 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE101ACB5DD500FA7979 /* libz.dylib */; };
DD41CE131ACB5DDA00FA7979 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE121ACB5DDA00FA7979 /* MobileCoreServices.framework */; };
DD41CE151ACB5DE000FA7979 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE141ACB5DE000FA7979 /* ImageIO.framework */; };
DD41CE171ACB5DE700FA7979 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD41CE161ACB5DE700FA7979 /* GLKit.framework */; };
DDBD016C196DC4740033959E /* MapViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD0168196DC4740033959E /* MapViewTests.m */; };
DDBD016D196DC4740033959E /* KIFTestActor+MapboxGL.m in Sources */ = {isa = PBXBuildFile; fileRef = DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */; };
DDBD016E196DC4A10033959E /* libKIF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDBD0144196DC3AE0033959E /* libKIF.a */; };
DDBD016F196DC4A90033959E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD043328196DB9BC00E6F39D /* CoreGraphics.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -77,35 +74,30 @@
/* Begin PBXFileReference section */
DD043323196DB9BC00E6F39D /* Mapbox GL Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Mapbox GL Tests.app"; sourceTree = BUILT_PRODUCTS_DIR; };
DD043326196DB9BC00E6F39D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
DD043328196DB9BC00E6F39D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
DD04332A196DB9BC00E6F39D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
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; };
DD1A9EA7199BEA0D007BC651 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
DD61240019CCF06E006845B1 /* MGLMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLMapView.h; path = ../dist/static/Headers/MGLMapView.h; sourceTree = SOURCE_ROOT; };
DD61240119CCF06E006845B1 /* MGLStyleFunctionValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLStyleFunctionValue.h; path = ../dist/static/Headers/MGLStyleFunctionValue.h; sourceTree = SOURCE_ROOT; };
DD61240219CCF06E006845B1 /* MGLTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLTypes.h; path = ../dist/static/Headers/MGLTypes.h; sourceTree = SOURCE_ROOT; };
DD61240319CCF06E006845B1 /* NSArray+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSArray+MGLAdditions.h"; path = "../dist/static/Headers/NSArray+MGLAdditions.h"; sourceTree = SOURCE_ROOT; };
DD61240419CCF06E006845B1 /* NSDictionary+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MGLAdditions.h"; path = "../dist/static/Headers/NSDictionary+MGLAdditions.h"; sourceTree = SOURCE_ROOT; };
DD61240519CCF06E006845B1 /* UIColor+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+MGLAdditions.h"; path = "../dist/static/Headers/UIColor+MGLAdditions.h"; sourceTree = SOURCE_ROOT; };
DD61240619CCF06E006845B1 /* libMapboxGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMapboxGL.a; path = ../dist/static/libMapboxGL.a; sourceTree = SOURCE_ROOT; };
DD61240719CCF06E006845B1 /* MapboxGL.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MapboxGL.bundle; path = ../dist/static/MapboxGL.bundle; sourceTree = SOURCE_ROOT; };
DD8A790C196DC0A900FAD883 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
DD8A790E196DC0AD00FAD883 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
DD96917819F1C08400729E7D /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
DD96918019F1C09200729E7D /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
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; };
DD0580EF1ACB62BE00B112C9 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
DD0581031ACB661200B112C9 /* Headers */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Headers; path = ../../build/ios/pkg/static/Headers; sourceTree = SOURCE_ROOT; };
DD0581051ACB661C00B112C9 /* MapboxGL.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MapboxGL.bundle; path = ../../build/ios/pkg/static/MapboxGL.bundle; sourceTree = SOURCE_ROOT; };
DD0581071ACB663200B112C9 /* libMapboxGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMapboxGL.a; path = ../../build/ios/pkg/static/libMapboxGL.a; sourceTree = SOURCE_ROOT; };
DD41CE061ACB5DB300FA7979 /* libMapboxGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMapboxGL.a; path = ../../build/ios/pkg/static/libMapboxGL.a; sourceTree = "<group>"; };
DD41CE081ACB5DBC00FA7979 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
DD41CE0A1ACB5DC400FA7979 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
DD41CE0C1ACB5DCB00FA7979 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
DD41CE0E1ACB5DD000FA7979 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
DD41CE101ACB5DD500FA7979 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
DD41CE121ACB5DDA00FA7979 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
DD41CE141ACB5DE000FA7979 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
DD41CE161ACB5DE700FA7979 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
DDBD013A196DC3AE0033959E /* KIF.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = KIF.xcodeproj; path = KIF/KIF.xcodeproj; sourceTree = SOURCE_ROOT; };
DDBD0152196DC3D70033959E /* Test Bundle.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Bundle.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
DDBD0153196DC3D70033959E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_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; };
DDBD0169196DC4740033959E /* MapViewTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewTests.h; 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 */
@@ -115,16 +107,15 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DD043329196DB9BC00E6F39D /* CoreGraphics.framework in Frameworks */,
DD8A7911196DC0BB00FAD883 /* CoreLocation.framework in Frameworks */,
DD043327196DB9BC00E6F39D /* Foundation.framework in Frameworks */,
DD8A790F196DC0AD00FAD883 /* GLKit.framework in Frameworks */,
DD96918119F1C09200729E7D /* SystemConfiguration.framework in Frameworks */,
DD04332B196DB9BC00E6F39D /* UIKit.framework in Frameworks */,
DD61240819CCF06E006845B1 /* libMapboxGL.a in Frameworks */,
DD1A9EA8199BEA0D007BC651 /* libc++.dylib in Frameworks */,
DD96917919F1C08400729E7D /* libsqlite3.dylib in Frameworks */,
DD8A790D196DC0A900FAD883 /* libz.dylib in Frameworks */,
DD41CE091ACB5DBC00FA7979 /* CoreTelephony.framework in Frameworks */,
DD41CE171ACB5DE700FA7979 /* GLKit.framework in Frameworks */,
DD41CE151ACB5DE000FA7979 /* ImageIO.framework in Frameworks */,
DD41CE131ACB5DDA00FA7979 /* MobileCoreServices.framework in Frameworks */,
DD41CE0B1ACB5DC400FA7979 /* SystemConfiguration.framework in Frameworks */,
DD0581081ACB663200B112C9 /* libMapboxGL.a in Frameworks */,
DD41CE0D1ACB5DCB00FA7979 /* libc++.dylib in Frameworks */,
DD41CE0F1ACB5DD000FA7979 /* libsqlite3.dylib in Frameworks */,
DD41CE111ACB5DD500FA7979 /* libz.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -132,10 +123,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DDBD016F196DC4A90033959E /* CoreGraphics.framework in Frameworks */,
DDBD0155196DC3D70033959E /* Foundation.framework in Frameworks */,
DDBD0156196DC3D70033959E /* UIKit.framework in Frameworks */,
DDBD0154196DC3D70033959E /* XCTest.framework in Frameworks */,
DD0580E81ACB628200B112C9 /* IOKit.framework in Frameworks */,
DDBD016E196DC4A10033959E /* libKIF.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -165,16 +153,17 @@
DD043325196DB9BC00E6F39D /* Frameworks */ = {
isa = PBXGroup;
children = (
DD96918019F1C09200729E7D /* SystemConfiguration.framework */,
DD96917819F1C08400729E7D /* libsqlite3.dylib */,
DD043328196DB9BC00E6F39D /* CoreGraphics.framework */,
DD8A7910196DC0BB00FAD883 /* CoreLocation.framework */,
DD043326196DB9BC00E6F39D /* Foundation.framework */,
DD8A790E196DC0AD00FAD883 /* GLKit.framework */,
DD04332A196DB9BC00E6F39D /* UIKit.framework */,
DDBD0153196DC3D70033959E /* XCTest.framework */,
DD1A9EA7199BEA0D007BC651 /* libc++.dylib */,
DD8A790C196DC0A900FAD883 /* libz.dylib */,
DD0580EF1ACB62BE00B112C9 /* CoreGraphics.framework */,
DD41CE081ACB5DBC00FA7979 /* CoreTelephony.framework */,
DD41CE161ACB5DE700FA7979 /* GLKit.framework */,
DD0580E71ACB628200B112C9 /* IOKit.framework */,
DD41CE141ACB5DE000FA7979 /* ImageIO.framework */,
DD41CE121ACB5DDA00FA7979 /* MobileCoreServices.framework */,
DD41CE0A1ACB5DC400FA7979 /* SystemConfiguration.framework */,
DD41CE061ACB5DB300FA7979 /* libMapboxGL.a */,
DD41CE0C1ACB5DCB00FA7979 /* libc++.dylib */,
DD41CE0E1ACB5DD000FA7979 /* libsqlite3.dylib */,
DD41CE101ACB5DD500FA7979 /* libz.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -186,7 +175,7 @@
DD04335F196DBBD500E6F39D /* MGLTAppDelegate.m */,
DD043361196DBBD500E6F39D /* MGLTViewController.h */,
DD043360196DBBD500E6F39D /* MGLTViewController.m */,
DD8A77AD196DBFDA00FAD883 /* GL Library */,
DDAE739B1ACB557500E1A793 /* GL Library */,
DD04332D196DB9BC00E6F39D /* Supporting Files */,
);
name = App;
@@ -202,26 +191,12 @@
name = "Supporting Files";
sourceTree = "<group>";
};
DD6123FF19CCF06E006845B1 /* Headers */ = {
DDAE739B1ACB557500E1A793 /* GL Library */ = {
isa = PBXGroup;
children = (
DD61240019CCF06E006845B1 /* MGLMapView.h */,
DD61240119CCF06E006845B1 /* MGLStyleFunctionValue.h */,
DD61240219CCF06E006845B1 /* MGLTypes.h */,
DD61240319CCF06E006845B1 /* NSArray+MGLAdditions.h */,
DD61240419CCF06E006845B1 /* NSDictionary+MGLAdditions.h */,
DD61240519CCF06E006845B1 /* UIColor+MGLAdditions.h */,
);
name = Headers;
path = ../../dist/static/Headers;
sourceTree = SOURCE_ROOT;
};
DD8A77AD196DBFDA00FAD883 /* GL Library */ = {
isa = PBXGroup;
children = (
DD6123FF19CCF06E006845B1 /* Headers */,
DD61240619CCF06E006845B1 /* libMapboxGL.a */,
DD61240719CCF06E006845B1 /* MapboxGL.bundle */,
DD0581031ACB661200B112C9 /* Headers */,
DD0581071ACB663200B112C9 /* libMapboxGL.a */,
DD0581051ACB661C00B112C9 /* MapboxGL.bundle */,
);
name = "GL Library";
sourceTree = "<group>";
@@ -231,7 +206,6 @@
children = (
DDBD016B196DC4740033959E /* KIFTestActor+MapboxGL.h */,
DDBD016A196DC4740033959E /* KIFTestActor+MapboxGL.m */,
DDBD0169196DC4740033959E /* MapViewTests.h */,
DDBD0168196DC4740033959E /* MapViewTests.m */,
DDBD0167196DC46B0033959E /* Supporting Files */,
DDBD014D196DC3B00033959E /* KIF */,
@@ -313,7 +287,7 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MGLT;
LastUpgradeCheck = 0510;
LastUpgradeCheck = 0620;
ORGANIZATIONNAME = Mapbox;
TargetAttributes = {
DDBD0151196DC3D70033959E = {
@@ -389,7 +363,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DD61240919CCF06E006845B1 /* MapboxGL.bundle in Resources */,
DD0581041ACB661200B112C9 /* Headers in Resources */,
DD0581061ACB661C00B112C9 /* MapboxGL.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -407,9 +382,9 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */,
DD043366196DBBE000E6F39D /* main.m in Sources */,
DD043363196DBBD500E6F39D /* MGLTAppDelegate.m in Sources */,
DD043364196DBBD500E6F39D /* MGLTViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -508,26 +483,20 @@
DD043359196DB9BC00E6F39D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
armv7,
armv7s,
arm64,
i386,
x86_64,
);
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
../dist/static/Headers,
"../../build/ios/pkg/static/**",
);
INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
../dist/static,
../../build/ios/pkg/static,
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = app;
@@ -537,26 +506,20 @@
DD04335A196DB9BC00E6F39D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
armv7,
armv7s,
arm64,
i386,
x86_64,
);
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
../dist/static/Headers,
"../../build/ios/pkg/static/**",
);
INFOPLIST_FILE = "$(SRCROOT)/App-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
../dist/static,
../../build/ios/pkg/static,
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = app;
@@ -571,6 +534,7 @@
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
"$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks",
);
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -580,7 +544,7 @@
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
../dist/static/Headers,
"../../build/ios/pkg/static/**",
);
INFOPLIST_FILE = "Bundle-Info.plist";
OTHER_LDFLAGS = (
@@ -603,12 +567,13 @@
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
"$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks",
);
GCC_PREPROCESSOR_DEFINITIONS = "KIF_XCTEST=1";
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
../dist/static/Headers,
"../../build/ios/pkg/static/**",
);
INFOPLIST_FILE = "Bundle-Info.plist";
OTHER_LDFLAGS = (

View File

@@ -14,26 +14,22 @@
<string>https://github.com/mapbox/KIF.git</string>
<key>7E68CB584078A487C0535CC191D3B7551EEE2095</key>
<string>github.com:mapbox/mapbox-gl-native.git</string>
<key>FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF</key>
<string>github.com:mapbox/mapbox-gl-cocoa.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>test/ios-tests.xcodeproj</string>
<string>test/ios/ios-tests.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>10265E242415D473A6A613214DB7AC3EE3D43F93</key>
<string>../../..test/KIF/</string>
<string>../../../..test/ios/KIF</string>
<key>7E68CB584078A487C0535CC191D3B7551EEE2095</key>
<string>../../../../..</string>
<key>FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF</key>
<string>../../..</string>
<string>../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>github.com:mapbox/mapbox-gl-cocoa.git</string>
<string>github.com:mapbox/mapbox-gl-native.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF</string>
<string>7E68CB584078A487C0535CC191D3B7551EEE2095</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
@@ -42,7 +38,7 @@
<key>IDESourceControlWCCIdentifierKey</key>
<string>7E68CB584078A487C0535CC191D3B7551EEE2095</string>
<key>IDESourceControlWCCName</key>
<string>..</string>
<string>gl-native</string>
</dict>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
@@ -52,14 +48,6 @@
<key>IDESourceControlWCCName</key>
<string>KIF</string>
</dict>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>FC967DACF69B3B67E6F2E9FBE56B64B73B118AFF</string>
<key>IDESourceControlWCCName</key>
<string>mapbox-gl-cocoa</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
LastUpgradeVersion = "0620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -51,6 +51,11 @@
BlueprintName = "Test Bundle"
ReferencedContainer = "container:ios-tests.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
Identifier = "MapViewTests/testDelegateRegionWillChange">
</Test>
</SkippedTests>
</TestableReference>
</Testables>
<MacroExpansion>
@@ -72,7 +77,8 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"
@@ -90,7 +96,8 @@
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD043322196DB9BC00E6F39D"

View File

@@ -9,7 +9,7 @@
'actions': [
{
'action_name': 'Symlink Fixture Directory',
'inputs': ['<!@(pwd)'],
'inputs': ['<!@(pwd)/../test'],
'outputs': ['<(PRODUCT_DIR)/TEST_DATA'], # symlinks the test dir into TEST_DATA
'action': ['ln', '-s', '-f', '-n', '<@(_inputs)', '<@(_outputs)' ],
}