summaryrefslogtreecommitdiff
path: root/platform/ios
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios')
-rw-r--r--platform/ios/app/mapboxgl-app.gypi81
-rw-r--r--platform/ios/benchmark/benchmark-ios.gypi78
-rw-r--r--platform/ios/bitrise.yml9
-rw-r--r--platform/ios/framework/framework-ios.gypi71
-rw-r--r--platform/ios/platform.gyp382
-rwxr-xr-xplatform/ios/scripts/after_failure.sh13
-rw-r--r--platform/ios/scripts/defaults.mk9
-rwxr-xr-xplatform/ios/scripts/install.sh20
-rwxr-xr-xplatform/ios/scripts/package.sh46
-rwxr-xr-xplatform/ios/scripts/run.sh52
-rw-r--r--platform/ios/scripts/setup.sh5
-rwxr-xr-xplatform/ios/scripts/test.sh7
12 files changed, 402 insertions, 371 deletions
diff --git a/platform/ios/app/mapboxgl-app.gypi b/platform/ios/app/mapboxgl-app.gypi
deleted file mode 100644
index 864755829f..0000000000
--- a/platform/ios/app/mapboxgl-app.gypi
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- 'includes': [
- '../../../gyp/common.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'iosapp',
- 'product_name': 'Mapbox GL',
- 'type': 'executable',
- 'product_extension': 'app',
- 'mac_bundle': 1,
- 'mac_bundle_resources': [
- '<!@(find ../platform/ios/app/img -type f)',
- './Storyboard.storyboard',
- './points.geojson',
- './polyline.geojson',
- './threestates.geojson',
- './Settings.bundle/',
- './app-info.plist',
- ],
-
- 'dependencies': [
- 'iossdk',
- ],
-
- 'sources': [
- 'main.m',
- 'MBXAppDelegate.h',
- 'MBXAppDelegate.m',
- 'MBXCustomCalloutView.h',
- 'MBXCustomCalloutView.m',
- 'MBXOfflinePacksTableViewController.h',
- 'MBXOfflinePacksTableViewController.m',
- 'MBXViewController.h',
- 'MBXViewController.m',
- ],
-
- 'xcode_settings': {
- 'SDKROOT': 'iphoneos',
- 'SUPPORTED_PLATFORMS': 'iphonesimulator iphoneos',
- 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
- 'INFOPLIST_FILE': '../platform/ios/app/app-info.plist',
- 'TARGETED_DEVICE_FAMILY': '1,2',
- 'COMBINE_HIDPI_IMAGES': 'NO', # disable combining @2x, @3x images into .tiff files
- 'COPY_PHASE_STRIP': 'NO',
- 'CLANG_ENABLE_OBJC_ARC': 'YES',
- 'CLANG_ENABLE_MODULES': 'YES',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '$(inherited)',
- '@executable_path/Frameworks',
- ],
- },
-
- 'configurations': {
- 'Debug': {
- 'xcode_settings': {
- 'CODE_SIGN_IDENTITY': 'iPhone Developer',
- 'COPY_PHASE_STRIP': 'NO',
- },
- },
- 'Release': {
- 'xcode_settings': {
- 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
- 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
- 'COPY_PHASE_STRIP': 'YES',
- },
- },
- },
-
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/$(FRAMEWORKS_FOLDER_PATH)',
- 'files': [
- '<(PRODUCT_DIR)/Mapbox.framework',
- ],
- 'xcode_code_sign': 1,
- },
- ],
- }
- ]
-}
diff --git a/platform/ios/benchmark/benchmark-ios.gypi b/platform/ios/benchmark/benchmark-ios.gypi
deleted file mode 100644
index 5962a6b338..0000000000
--- a/platform/ios/benchmark/benchmark-ios.gypi
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- 'includes': [
- '../../../gyp/common.gypi',
- ],
- 'targets': [
- { 'target_name': 'ios-bench',
- 'product_name': 'Bench GL',
- 'type': 'executable',
- 'product_extension': 'app',
- 'mac_bundle': 1,
- 'mac_bundle_resources': [
- '<!@(find ../platform/ios/benchmark/img -type f)',
- 'assets/glyphs',
- 'assets/sprites',
- 'assets/tiles',
- ],
-
- 'dependencies': [
- 'iossdk',
- ],
-
- 'sources': [
- './main.m',
- './MBXBenchAppDelegate.h',
- './MBXBenchAppDelegate.m',
- './MBXBenchViewController.h',
- './MBXBenchViewController.mm',
- './locations.hpp',
- './locations.cpp',
- ],
-
- 'xcode_settings': {
- 'SDKROOT': 'iphoneos',
- 'SUPPORTED_PLATFORMS': 'iphoneos',
- 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
- 'INFOPLIST_FILE': '../platform/ios/benchmark/app-info.plist',
- 'TARGETED_DEVICE_FAMILY': '1,2',
- 'COMBINE_HIDPI_IMAGES': 'NO', # don't merge @2x.png images into .tiff files
- 'COPY_PHASE_STRIP': 'NO',
- 'CLANG_ENABLE_OBJC_ARC': 'YES',
- 'CLANG_ENABLE_MODULES': 'YES',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '$(inherited)',
- '@executable_path/Frameworks',
- ],
- 'OTHER_LDFLAGS': [
- '-framework CoreLocation',
- ],
- },
-
- 'configurations': {
- 'Debug': {
- 'xcode_settings': {
- 'CODE_SIGN_IDENTITY': 'iPhone Developer',
- 'COPY_PHASE_STRIP': 'NO',
- },
- },
- 'Release': {
- 'xcode_settings': {
- 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
- 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
- 'COPY_PHASE_STRIP': 'YES',
- },
- },
- },
-
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/$(FRAMEWORKS_FOLDER_PATH)',
- 'files': [
- '<(PRODUCT_DIR)/Mapbox.framework',
- ],
- 'xcode_code_sign': 1,
- },
- ],
- }
- ]
-}
diff --git a/platform/ios/bitrise.yml b/platform/ios/bitrise.yml
index 1322224caf..83dba2239e 100644
--- a/platform/ios/bitrise.yml
+++ b/platform/ios/bitrise.yml
@@ -28,10 +28,11 @@ workflows:
inputs:
- content: |-
#!/bin/bash
-
+ set -eu -o pipefail
gem install jazzy --no-rdoc --no-ri
- make ipackage-sim
- make itest
+ export BUILDTYPE=Debug
+ make ios
+ make test-ios
- is_debug: 'yes'
- slack:
title: Post to Slack
@@ -51,5 +52,3 @@ workflows:
failed'
- icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png
- icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png
- before_run:
- after_run:
diff --git a/platform/ios/framework/framework-ios.gypi b/platform/ios/framework/framework-ios.gypi
deleted file mode 100644
index 3d733d963a..0000000000
--- a/platform/ios/framework/framework-ios.gypi
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- 'includes': [
- '../../../gyp/common.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'iossdk',
- 'product_name': 'Mapbox',
- 'type': 'shared_library',
- 'mac_bundle': 1,
-
- 'dependencies': [
- 'mbgl.gyp:core',
- 'mbgl.gyp:platform-<(platform_lib)',
- 'mbgl.gyp:http-<(http_lib)',
- 'mbgl.gyp:asset-<(asset_lib)',
- ],
-
- 'xcode_settings': {
- 'CLANG_ENABLE_OBJC_ARC': 'YES',
- 'COMBINE_HIDPI_IMAGES': 'NO', # disable combining @2x, @3x images into .tiff files
- 'CURRENT_PROJECT_VERSION': '0',
- 'DEFINES_MODULE': 'YES',
- 'DYLIB_INSTALL_NAME_BASE': '@rpath',
- 'INFOPLIST_FILE': '../platform/ios/framework/Info.plist',
- 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '$(inherited)',
- '@executable_path/Frameworks',
- '@loader_path/Frameworks',
- ],
- 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.sdk.ios',
- 'OTHER_LDFLAGS': [ '-stdlib=libc++', '-lstdc++' ],
- 'SDKROOT': 'iphoneos',
- 'SKIP_INSTALL': 'YES',
- 'SUPPORTED_PLATFORMS': [
- 'iphonesimulator',
- 'iphoneos',
- ],
- 'VERSIONING_SYSTEM': 'apple-generic',
- },
-
- 'mac_framework_headers': [
- 'Mapbox.h',
- '<!@(find ../platform/{darwin,ios}/include -type f \! -name \'.*\' \! -name Mapbox.h)',
- ],
-
- 'sources': [
- 'Mapbox.m',
- ],
-
- 'configurations': {
- 'Debug': {
- 'xcode_settings': {
- 'CODE_SIGN_IDENTITY': 'iPhone Developer',
- 'DEAD_CODE_STRIPPING': 'YES',
- 'GCC_OPTIMIZATION_LEVEL': '0',
- },
- },
- 'Release': {
- 'xcode_settings': {
- 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
- 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
- 'DEAD_CODE_STRIPPING': 'YES',
- 'GCC_OPTIMIZATION_LEVEL': 's',
- },
- },
- },
- },
- ]
-}
diff --git a/platform/ios/platform.gyp b/platform/ios/platform.gyp
new file mode 100644
index 0000000000..f182767b56
--- /dev/null
+++ b/platform/ios/platform.gyp
@@ -0,0 +1,382 @@
+{
+ 'variables': {
+ 'loop_lib': 'darwin',
+ 'headless_lib': 'eagl',
+ },
+ 'xcode_settings': {
+ # Force all build output to the build directory. Must
+ # be an absolute path or xcodebuild will ignore it.
+ 'SYMROOT': '<!(cd ../../build/ios-all && pwd)',
+ },
+ 'includes': [
+ '../../mbgl.gypi',
+ ],
+ 'target_defaults': {
+ 'target_conditions': [
+ ['_type == "static_library"', {
+ 'xcode_settings': {
+ 'SDKROOT': 'iphoneos',
+ 'SUPPORTED_PLATFORMS': 'iphonesimulator iphoneos',
+ 'IPHONEOS_DEPLOYMENT_TARGET': '7.0',
+ 'TARGETED_DEVICE_FAMILY': '1,2',
+ 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
+ 'CODE_SIGN_IDENTITY': 'iPhone Developer',
+ },
+ 'configurations': {
+ 'Release': {
+ 'xcode_settings': {
+ 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
+ },
+ },
+ },
+ }],
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'platform-lib',
+ 'product_name': 'mbgl-platform-ios',
+ 'type': 'static_library',
+ 'standalone_static_library': 1,
+ 'hard_dependency': 1,
+ 'dependencies': [
+ 'core',
+ ],
+
+ 'include_dirs': [
+ 'include',
+ '../darwin/include',
+ '../default',
+ '../../include',
+ '../../src', # TODO: eliminate
+ ],
+
+ 'sources': [
+ '../default/asset_file_source.cpp',
+ '../default/default_file_source.cpp',
+ '../default/online_file_source.cpp',
+ '../default/mbgl/storage/offline.hpp',
+ '../default/mbgl/storage/offline.cpp',
+ '../default/mbgl/storage/offline_database.hpp',
+ '../default/mbgl/storage/offline_database.cpp',
+ '../default/mbgl/storage/offline_download.hpp',
+ '../default/mbgl/storage/offline_download.cpp',
+ '../default/sqlite3.hpp',
+ '../default/sqlite3.cpp',
+ '../darwin/src/http_request_nsurl.mm',
+ '../darwin/src/log_nslog.mm',
+ '../darwin/src/string_nsstring.mm',
+ '../darwin/src/image.mm',
+ '../darwin/src/nsthread.mm',
+ '../darwin/src/reachability.m',
+ '../darwin/src/NSException+MGLAdditions.h',
+ '../darwin/src/NSString+MGLAdditions.h',
+ '../darwin/src/NSString+MGLAdditions.m',
+ '../darwin/src/MGLTypes.m',
+ '../darwin/src/MGLStyle.mm',
+ '../darwin/src/MGLGeometry_Private.h',
+ '../darwin/src/MGLGeometry.mm',
+ '../darwin/src/MGLShape.m',
+ '../darwin/src/MGLMultiPoint_Private.h',
+ '../darwin/src/MGLMultiPoint.mm',
+ '../darwin/src/MGLPointAnnotation.m',
+ '../darwin/src/MGLPolyline.mm',
+ '../darwin/src/MGLPolygon.mm',
+ '../darwin/src/MGLMapCamera.mm',
+ '../darwin/src/MGLOfflinePack.mm',
+ '../darwin/src/MGLOfflinePack_Private.h',
+ '../darwin/src/MGLOfflineStorage.mm',
+ '../darwin/src/MGLOfflineStorage_Private.h',
+ '../darwin/src/MGLOfflineRegion_Private.h',
+ '../darwin/src/MGLTilePyramidOfflineRegion.mm',
+ '../darwin/src/MGLAccountManager_Private.h',
+ '../darwin/src/MGLAccountManager.m',
+ '../darwin/src/NSBundle+MGLAdditions.h',
+ '../darwin/src/NSBundle+MGLAdditions.m',
+ '../darwin/src/NSProcessInfo+MGLAdditions.h',
+ '../darwin/src/NSProcessInfo+MGLAdditions.m',
+ 'src/MGLMapboxEvents.h',
+ 'src/MGLMapboxEvents.m',
+ 'src/MGLAPIClient.h',
+ 'src/MGLAPIClient.m',
+ 'src/MGLLocationManager.h',
+ 'src/MGLLocationManager.m',
+ 'src/MGLMapView.mm',
+ 'src/MGLUserLocation_Private.h',
+ 'src/MGLUserLocation.m',
+ 'src/MGLUserLocationAnnotationView.h',
+ 'src/MGLUserLocationAnnotationView.m',
+ 'src/MGLAnnotationImage_Private.h',
+ 'src/MGLAnnotationImage.m',
+ 'src/MGLCompactCalloutView.h',
+ 'src/MGLCompactCalloutView.m',
+ 'vendor/SMCalloutView/SMCalloutView.h',
+ 'vendor/SMCalloutView/SMCalloutView.m',
+ 'vendor/Fabric/FABAttributes.h',
+ 'vendor/Fabric/FABKitProtocol.h',
+ 'vendor/Fabric/Fabric.h',
+ 'vendor/Fabric/Fabric+FABKits.h',
+ ],
+
+ 'variables': {
+ 'cflags_cc': [
+ '<@(boost_cflags)',
+ '<@(sqlite_cflags)',
+ '<@(zlib_cflags)',
+ '<@(rapidjson_cflags)',
+ '<@(variant_cflags)',
+ ],
+ 'ldflags': [
+ '<@(sqlite_ldflags)',
+ '<@(zlib_ldflags)',
+ ],
+ 'libraries': [
+ '<@(sqlite_static_libs)',
+ '<@(zlib_static_libs)',
+ '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
+ '$(SDKROOT)/System/Library/Frameworks/CoreLocation.framework',
+ '$(SDKROOT)/System/Library/Frameworks/GLKit.framework',
+ '$(SDKROOT)/System/Library/Frameworks/ImageIO.framework',
+ '$(SDKROOT)/System/Library/Frameworks/MobileCoreServices.framework',
+ '$(SDKROOT)/System/Library/Frameworks/OpenGLES.framework',
+ '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Security.framework',
+ '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework',
+ '$(SDKROOT)/System/Library/Frameworks/UIKit.framework',
+ ],
+ },
+
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS': [ '<@(cflags_cc)' ],
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'CLANG_ENABLE_MODULES': 'YES',
+ },
+
+ 'link_settings': {
+ 'libraries': [ '<@(libraries)' ],
+ 'xcode_settings': {
+ 'OTHER_LDFLAGS': [ '<@(ldflags)' ],
+ },
+ },
+
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ 'include',
+ '../darwin/include',
+ '../include',
+ ],
+ 'mac_bundle_resources': [
+ '<!@(find resources -type f \! -name "README" \! -name \'.*\')',
+ '<!@(find ../default/resources -type f \! -name "README" \! -name \'.der\')',
+ ],
+ },
+ },
+ {
+ 'target_name': 'iossdk',
+ 'product_name': 'Mapbox',
+ 'type': 'shared_library',
+ 'mac_bundle': 1,
+
+ 'dependencies': [
+ 'platform-lib',
+ ],
+
+ 'xcode_settings': {
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'COMBINE_HIDPI_IMAGES': 'NO', # disable combining @2x, @3x images into .tiff files
+ 'CURRENT_PROJECT_VERSION': '0',
+ 'DEFINES_MODULE': 'YES',
+ 'DYLIB_INSTALL_NAME_BASE': '@rpath',
+ 'INFOPLIST_FILE': 'framework/Info.plist',
+ 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
+ 'LD_RUNPATH_SEARCH_PATHS': [
+ '$(inherited)',
+ '@executable_path/Frameworks',
+ '@loader_path/Frameworks',
+ ],
+ 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.sdk.ios',
+ 'OTHER_LDFLAGS': [ '-stdlib=libc++', '-lstdc++' ],
+ 'SDKROOT': 'iphoneos',
+ 'SKIP_INSTALL': 'YES',
+ 'SUPPORTED_PLATFORMS': [
+ 'iphonesimulator',
+ 'iphoneos',
+ ],
+ 'VERSIONING_SYSTEM': 'apple-generic',
+ },
+
+ 'mac_framework_headers': [
+ 'framework/Mapbox.h',
+ '<!@(find ../{darwin,ios}/include -type f \! -name \'.*\' \! -name Mapbox.h)',
+ ],
+
+ 'sources': [
+ 'framework/Mapbox.m',
+ ],
+
+ 'configurations': {
+ 'Debug': {
+ 'xcode_settings': {
+ 'CODE_SIGN_IDENTITY': 'iPhone Developer',
+ 'DEAD_CODE_STRIPPING': 'YES',
+ 'GCC_OPTIMIZATION_LEVEL': '0',
+ },
+ },
+ 'Release': {
+ 'xcode_settings': {
+ 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
+ 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
+ 'DEAD_CODE_STRIPPING': 'YES',
+ 'GCC_OPTIMIZATION_LEVEL': 's',
+ },
+ },
+ },
+ },
+ {
+ 'target_name': 'iosapp',
+ 'product_name': 'Mapbox GL',
+ 'type': 'executable',
+ 'product_extension': 'app',
+ 'mac_bundle': 1,
+ 'mac_bundle_resources': [
+ '<!@(find app/img -type f)',
+ 'app/Storyboard.storyboard',
+ 'app/points.geojson',
+ 'app/polyline.geojson',
+ 'app/threestates.geojson',
+ 'app/Settings.bundle/',
+ 'app/app-info.plist',
+ ],
+
+ 'dependencies': [
+ 'iossdk',
+ ],
+
+ 'sources': [
+ 'app/main.m',
+ 'app/MBXAppDelegate.h',
+ 'app/MBXAppDelegate.m',
+ 'app/MBXCustomCalloutView.h',
+ 'app/MBXCustomCalloutView.m',
+ 'app/MBXOfflinePacksTableViewController.h',
+ 'app/MBXOfflinePacksTableViewController.m',
+ 'app/MBXViewController.h',
+ 'app/MBXViewController.m',
+ ],
+
+ 'xcode_settings': {
+ 'SDKROOT': 'iphoneos',
+ 'SUPPORTED_PLATFORMS': 'iphonesimulator iphoneos',
+ 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
+ 'INFOPLIST_FILE': 'app/app-info.plist',
+ 'TARGETED_DEVICE_FAMILY': '1,2',
+ 'COMBINE_HIDPI_IMAGES': 'NO', # disable combining @2x, @3x images into .tiff files
+ 'COPY_PHASE_STRIP': 'NO',
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'CLANG_ENABLE_MODULES': 'YES',
+ 'LD_RUNPATH_SEARCH_PATHS': [
+ '$(inherited)',
+ '@executable_path/Frameworks',
+ ],
+ },
+
+ 'configurations': {
+ 'Debug': {
+ 'xcode_settings': {
+ 'CODE_SIGN_IDENTITY': 'iPhone Developer',
+ 'COPY_PHASE_STRIP': 'NO',
+ },
+ },
+ 'Release': {
+ 'xcode_settings': {
+ 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
+ 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
+ 'COPY_PHASE_STRIP': 'YES',
+ },
+ },
+ },
+
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/$(FRAMEWORKS_FOLDER_PATH)',
+ 'files': [
+ '<(PRODUCT_DIR)/Mapbox.framework',
+ ],
+ 'xcode_code_sign': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'ios-bench',
+ 'product_name': 'Bench GL',
+ 'type': 'executable',
+ 'product_extension': 'app',
+ 'mac_bundle': 1,
+ 'mac_bundle_resources': [
+ '<!@(find benchmark/img -type f)',
+ 'benchmark/assets/glyphs',
+ 'benchmark/assets/sprites',
+ 'benchmark/assets/tiles',
+ ],
+
+ 'dependencies': [
+ 'iossdk',
+ ],
+
+ 'sources': [
+ 'benchmark/main.m',
+ 'benchmark/MBXBenchAppDelegate.h',
+ 'benchmark/MBXBenchAppDelegate.m',
+ 'benchmark/MBXBenchViewController.h',
+ 'benchmark/MBXBenchViewController.mm',
+ 'benchmark/locations.hpp',
+ 'benchmark/locations.cpp',
+ ],
+
+ 'xcode_settings': {
+ 'SDKROOT': 'iphoneos',
+ 'SUPPORTED_PLATFORMS': 'iphoneos',
+ 'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
+ 'INFOPLIST_FILE': 'benchmark/app-info.plist',
+ 'TARGETED_DEVICE_FAMILY': '1,2',
+ 'COMBINE_HIDPI_IMAGES': 'NO', # don't merge @2x.png images into .tiff files
+ 'COPY_PHASE_STRIP': 'NO',
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'CLANG_ENABLE_MODULES': 'YES',
+ 'LD_RUNPATH_SEARCH_PATHS': [
+ '$(inherited)',
+ '@executable_path/Frameworks',
+ ],
+ 'OTHER_LDFLAGS': [
+ '-framework CoreLocation',
+ ],
+ },
+
+ 'configurations': {
+ 'Debug': {
+ 'xcode_settings': {
+ 'CODE_SIGN_IDENTITY': 'iPhone Developer',
+ 'COPY_PHASE_STRIP': 'NO',
+ },
+ },
+ 'Release': {
+ 'xcode_settings': {
+ 'CODE_SIGN_IDENTITY': 'iPhone Distribution',
+ 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
+ 'COPY_PHASE_STRIP': 'YES',
+ },
+ },
+ },
+
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/$(FRAMEWORKS_FOLDER_PATH)',
+ 'files': [
+ '<(PRODUCT_DIR)/Mapbox.framework',
+ ],
+ 'xcode_code_sign': 1,
+ },
+ ],
+ }
+ ],
+}
diff --git a/platform/ios/scripts/after_failure.sh b/platform/ios/scripts/after_failure.sh
deleted file mode 100755
index 88a6427f75..0000000000
--- a/platform/ios/scripts/after_failure.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/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
diff --git a/platform/ios/scripts/defaults.mk b/platform/ios/scripts/defaults.mk
deleted file mode 100644
index 9debff4ce0..0000000000
--- a/platform/ios/scripts/defaults.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-HEADLESS = eagl
-PLATFORM ?= ios
-ASSET ?= fs
-HTTP ?= nsurl
-LOOP ?= darwin
-
-HOST_VERSION = all
-
-PROVISIONING_PROFILE ?= 19324a54-7455-4f0b-8e1c-e6957c718ebc
diff --git a/platform/ios/scripts/install.sh b/platform/ios/scripts/install.sh
deleted file mode 100755
index 437193b1f2..0000000000
--- a/platform/ios/scripts/install.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-git fetch --tags
-
-mapbox_time "checkout_mason" \
-git submodule update --init .mason
-
-mapbox_time "install_recent_git" \
-brew install git
-
-mapbox_time "install_awscli" \
-brew install awscli
-
-mapbox_time "install_jazzy" \
-gem install jazzy
-
-mkdir -p ${KIF_SCREENSHOTS}
diff --git a/platform/ios/scripts/package.sh b/platform/ios/scripts/package.sh
index b0f63478df..02a454aaf7 100755
--- a/platform/ios/scripts/package.sh
+++ b/platform/ios/scripts/package.sh
@@ -72,12 +72,6 @@ echo ${HASH}
echo ${HASH} >> ${VERSION}
-step "Creating build files…"
-export MASON_PLATFORM=ios
-export BUILDTYPE=${BUILDTYPE:-Release}
-export HOST=ios
-make Xcode/ios
-
PROJ_VERSION=$(git rev-list --count HEAD)
if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
@@ -91,13 +85,9 @@ if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
DEPLOYMENT_POSTPROCESSING=YES \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGN_IDENTITY= \
- -project ./build/ios-all/gyp/mbgl.xcodeproj \
+ -project ./build/ios-all/platform/ios/platform.xcodeproj \
-configuration ${BUILDTYPE} \
- -target core \
- -target platform-ios \
- -target http-nsurl \
- -target asset-fs \
- -target headless-eagl \
+ -target platform-lib \
-jobs ${JOBS}
fi
@@ -112,7 +102,7 @@ if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGN_IDENTITY= \
- -project ./build/ios-all/gyp/ios.xcodeproj \
+ -project ./build/ios-all/platform/ios/platform.xcodeproj \
-configuration ${BUILDTYPE} \
-target iossdk \
-jobs ${JOBS}
@@ -125,13 +115,9 @@ if [[ ${BUILD_STATIC} == true ]]; then
ARCHS="x86_64 i386" \
ONLY_ACTIVE_ARCH=NO \
GCC_GENERATE_DEBUGGING_SYMBOLS=${GCC_GENERATE_DEBUGGING_SYMBOLS} \
- -project ./build/ios-all/gyp/mbgl.xcodeproj \
+ -project ./build/ios-all/platform/ios/platform.xcodeproj \
-configuration ${BUILDTYPE} \
- -target core \
- -target platform-ios \
- -target http-nsurl \
- -target asset-fs \
- -target headless-eagl \
+ -target platform-lib \
-jobs ${JOBS}
fi
@@ -143,13 +129,13 @@ if [[ ${BUILD_DYNAMIC} == true ]]; then
GCC_GENERATE_DEBUGGING_SYMBOLS=${GCC_GENERATE_DEBUGGING_SYMBOLS} \
ENABLE_BITCODE=${ENABLE_BITCODE} \
CURRENT_PROJECT_VERSION=${PROJ_VERSION} \
- -project ./build/ios-all/gyp/ios.xcodeproj \
+ -project ./build/ios-all/platform/ios/platform.xcodeproj \
-configuration ${BUILDTYPE} \
-target iossdk \
-jobs ${JOBS}
fi
-LIBS=(core.a platform-ios.a asset-fs.a http-nsurl.a)
+LIBS=(core.a platform-ios.a)
# https://medium.com/@syshen/create-an-ios-universal-framework-148eb130a46c
if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
@@ -159,22 +145,22 @@ if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
libtool -static -no_warning_for_no_symbols \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libgeojsonvt.a` \
-o ${OUTPUT}/static/${NAME}.framework/${NAME} \
- ${LIBS[@]/#/gyp/build/${BUILDTYPE}-iphoneos/libmbgl-} \
- ${LIBS[@]/#/gyp/build/${BUILDTYPE}-iphonesimulator/libmbgl-}
+ ${LIBS[@]/#/build/ios-all/${BUILDTYPE}-iphoneos/libmbgl-} \
+ ${LIBS[@]/#/build/ios-all/${BUILDTYPE}-iphonesimulator/libmbgl-}
fi
if [[ ${BUILD_DYNAMIC} == true ]]; then
step "Copying dynamic framework into place for iOS devices"
cp -r \
- gyp/build/${BUILDTYPE}-iphoneos/${NAME}.framework \
+ build/ios-all/${BUILDTYPE}-iphoneos/${NAME}.framework \
${OUTPUT}/dynamic/
- cp -r gyp/build/${BUILDTYPE}-iphoneos/${NAME}.framework.dSYM \
+ cp -r build/ios-all/${BUILDTYPE}-iphoneos/${NAME}.framework.dSYM \
${OUTPUT}/dynamic/
step "Merging simulator dynamic library into device dynamic library…"
lipo \
- gyp/build/${BUILDTYPE}-iphoneos/${NAME}.framework/${NAME} \
- gyp/build/${BUILDTYPE}-iphonesimulator/${NAME}.framework/${NAME} \
+ build/ios-all/${BUILDTYPE}-iphoneos/${NAME}.framework/${NAME} \
+ build/ios-all/${BUILDTYPE}-iphonesimulator/${NAME}.framework/${NAME} \
-create -output ${OUTPUT}/dynamic/${NAME}.framework/${NAME} | echo
fi
else
@@ -184,15 +170,15 @@ else
libtool -static -no_warning_for_no_symbols \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libgeojsonvt.a` \
-o ${OUTPUT}/static/${NAME}.framework/${NAME} \
- ${LIBS[@]/#/gyp/build/${BUILDTYPE}-iphonesimulator/libmbgl-}
+ ${LIBS[@]/#/build/ios-all/${BUILDTYPE}-iphonesimulator/libmbgl-}
fi
if [[ ${BUILD_DYNAMIC} == true ]]; then
step "Copying dynamic framework into place for iOS Simulator…"
cp -r \
- gyp/build/${BUILDTYPE}-iphonesimulator/${NAME}.framework \
+ build/ios-all/${BUILDTYPE}-iphonesimulator/${NAME}.framework \
${OUTPUT}/dynamic/${NAME}.framework
- cp -r gyp/build/${BUILDTYPE}-iphonesimulator/${NAME}.framework.dSYM \
+ cp -r build/ios-all/${BUILDTYPE}-iphonesimulator/${NAME}.framework.dSYM \
${OUTPUT}/dynamic/
fi
fi
diff --git a/platform/ios/scripts/run.sh b/platform/ios/scripts/run.sh
deleted file mode 100755
index 44c21e7562..0000000000
--- a/platform/ios/scripts/run.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-set -u
-
-source ./platform/ios/scripts/setup.sh
-
-BUILDTYPE=${BUILDTYPE:-Release}
-
-PUBLISH_TAG=($(git show -s --format=%B | sed -n 's/.*\[publish \([a-z]\{1,\}\)-v\([0-9a-z.\-]\{1,\}\)\].*/\1 \2/p'))
-PUBLISH_PLATFORM=${PUBLISH_TAG[0],-}
-PUBLISH_VERSION=${PUBLISH_TAG[1],-}
-
-
-################################################################################
-# Build
-################################################################################
-
-if [[ ${PUBLISH_PLATFORM} = 'ios' ]]; then
- # default, with debug symbols
- mapbox_time "package_ios_symbols" \
- make ipackage
-
- mapbox_time "deploy_ios_symbols"
- ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" symbols
-
- # no debug symbols, for smaller distribution
- mapbox_time "package_ios_stripped" \
- make ipackage-strip
-
- mapbox_time "deploy_ios_stripped"
- ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}"
-
- # dynamic, with debug symbols
- mapbox_time "package_ios_dynamic" \
- make iframework
-
- mapbox_time "deploy_ios_dynamic"
- ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" symbols-dynamic
-
- # dynamic, without debug symbols
- mapbox_time "package_ios_dynamic_stripped" \
- make iframework SYMBOLS=NO
-
- mapbox_time "deploy_ios_dynamic_stripped"
- ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" dynamic
-else
- # build & test iOS
- mapbox_time "run_ios_tests" \
- make itest
-fi
diff --git a/platform/ios/scripts/setup.sh b/platform/ios/scripts/setup.sh
deleted file mode 100644
index d115cf9020..0000000000
--- a/platform/ios/scripts/setup.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-# This script is sourced; do not set -e or -o pipefail here.
-
-# Ensure mason is on the PATH
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
diff --git a/platform/ios/scripts/test.sh b/platform/ios/scripts/test.sh
deleted file mode 100755
index a2515e6fea..0000000000
--- a/platform/ios/scripts/test.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-set -u
-
-# No tests for now. KIF tests are too unreliable.