Commit Graph

69 Commits

Author SHA1 Message Date
Jason Wray
93ecf9ae30 [ios, build] Stop packaging local podspec with releases 2019-07-02 11:43:01 -07:00
Alf Watt
a33aaceaa9 Update to mapbox-events-ios release v0.9.1 (#14194)
MMENSDateWrapper -> MMEDate
Add SKIP_DOCS flag to build pipeline for iOS
2019-03-21 17:20:43 -07:00
Jason Wray
05026b704a [build, darwin] Disable Xcode indexing-while-compiling on CI 2019-03-04 15:59:01 -08:00
Jason Wray
ffe0624d77 [ios, build] Move symbol strip settings to Xcode project 2018-12-05 12:34:39 -05:00
Jason Wray
e49953df14 [ios, build] Replace -symbols with -stripped build flavor 2018-12-05 12:34:39 -05:00
Jason Wray
a30bcff725 [ios, build] Use make iframework for all packaging 2018-09-26 07:56:36 -07:00
Nadia Barbosa
a991eec597 [ios] Remove Settings target; move Settings.bundle to iosapp
[ios] Remove copying of Settings.bundle from packaging script

[ios] Move Settings bundle under ios/app in file system

[ios] Copy bundle to iosapp in packaging script

[ios] Remove stranded Root.strings from SDK

[ios] Add English localization to example Settings.bundle
2018-09-19 14:16:22 -07:00
Jason Wray
b0beb8bfcb [ios, build] Remove broken/unused demo project 2018-07-03 13:31:58 -04:00
Jason Wray
614aab4ea2 [ios, build] Log raw xcodebuild output for package commands 2018-07-03 13:31:58 -04:00
Jason Wray
0d067e3925 [ios, build] Re-add support for 32-bit simulators (i386) 2018-05-11 16:38:31 -04:00
Jason Wray
7c2e8c5eb1 [ios] Remove support for 32-bit simulators (i386)
And restore some docs that got lost in a merge.
2018-01-19 10:25:17 -05:00
Jason Wray
c6169ab50c [ios] Re-add i386 slice to framework; strip from dSYM 2017-12-21 12:09:43 -08:00
Jason Wray
8e69a35d75 [ios, build] Stop packaging i386 simulator arch
Only builds and packages x86_64 architecture in our frameworks and dSYM. Removes support for 32-bit simulators, such as the iPhone 5 and iPad 2. This does not affect device support — 32-bit devices are still supported via the arm7 architecture.
2017-12-20 17:36:06 -08:00
Jesse Bounds
bcfe51c16c [ios] Add easy to use demo app for developers (#10524)
This updates the package script to include a pre-built iOS app in the published assets of the dynamic SDK. It symlinks the Mapbox.framework in that dynamic build to the demo app so the only real increase in size is the demo Xcode project itself.

The addtional step in the publish script checks that the Mapbox.framework that is symlinked in for building in the demo project can actually be built. If it cannot, then the step is skipped and the build will continue as it normally would. Since the demo app is currently not required for publishing it should not block publishing a build.
2017-11-22 10:28:43 -08:00
Jason Wray
5cad92cc33 [ios] Print Xcode and SDK version during packaging 2017-08-25 16:12:00 -04:00
Jason Wray
82c2d4b3ca [build] Include bcsymbolmap files in iOS dynamic framework package 2017-07-26 15:49:23 -04:00
Jason Wray
612a1e8377 [build] Remove unused iOS 'self contained' static framework packaging
This was a faux framework once required by Fabric.
2017-07-25 14:31:40 -04:00
Jesse Bounds
655b7c035c [ios] Search for ICU path using cmake cache 2017-02-16 10:59:54 -08:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
Jason Wray
9a92a3a5dd [ios][build] Validate dSYM and framework UUIDs 2016-09-30 18:49:05 -04:00
Jason Wray
c72deacdcf [ios][build] Generate debug symbols for all builds
Fixes the issue where our stripped dynamic build did not have a valid dSYM.

Disabling GCC_GENERATE_DEBUGGING_SYMBOLS for SYMBOLS=NO builds meant
that those builds had no debug symbols to strip or add to a dSYM.
2016-09-30 18:49:05 -04:00
Konstantin Käfer
94ceeb739d [build] fix iOS packaging 2016-08-05 11:42:22 +02:00
Konstantin Käfer
692fe1f3ff [build] switch to CMake
This is very much a work in progress.
2016-08-05 11:42:22 +02:00
Romain Quidet
e1351751c2 5782: build static framework correctly (#5783)
* 5782: build static framework correctly

* 5782: updated changelog
2016-07-25 11:26:43 -07:00
Jesse Bounds
e686d32922 [ios] Add simulator dSYM slices to build output. (#5740)
Our release builds for device (with lipoed simulator binary) create
a dSYM files for both the device and simulator. However the script
only copied the device dSYM file to the output location.

This adds a step to lipo together both the device and simulator dSYM files.
Mapbox.framework.dSYM now holds armv7 and arm64 slices.
2016-07-21 11:51:42 -07:00
Minh Nguyễn
244700e560 Merge branch 'release-ios-v3.3.0' 2016-07-14 16:31:08 -07:00
Fredrik Karlsson
c531686ecc [ios] fixes #4536 include podspec for static framework (#5653)
* [ios] fixes #4536 include podspec for static framework

* [ios] removed excessive frameworks, libraries and flags from the static podspec

* [ios] cleaned up the podspec
2016-07-14 11:30:20 +02:00
Jesse Bounds
23caa9f7aa Merge branch 'release-ios-v3.3.0' into master 2016-07-07 15:40:07 -07:00
Young Hahn
71a3b1d0db [core] geometry@0.8.0 / geojsonvt@6.0.0 (#5514)
* [core] geometry.hpp 0.8.0

* geojsonvt @ 6.0.0

* Update platform deps, build scripts

* Perf optimizations/cleanup

* Rebase in geometry@080

* D.R.Y. etc

* Ensure fill annotation geometries have closed rings.

* Optimizations

* Update to geojsonvt @ 6.1.0 for clean handoff between geojson parsing and geojsonvt

* Apply close multi/poly geoms for line annotations as well
2016-07-06 17:29:34 -04:00
Fredrik Karlsson
d4f5a37c43 [ios] omit podspec for static lib (#5595) 2016-07-06 22:13:02 +02:00
Fredrik Karlsson
9993017cc9 [ios] fixes #4536 include podspec in iOS releases (#5569) 2016-07-06 11:09:50 +02:00
Jason Wray
f41546e614 [ios] Default to Debug BUILDTYPE, but explicitly set Release for deploys 2016-06-01 15:54:46 -04:00
Jason Wray
c08a54dd82 [ios] Fix static framework conglomeration
- Include libMapbox.a, which contains our Obj-C classes, in the fat archive.
- Simulator libraries now always include x86_64 slices.
2016-06-01 15:54:46 -04:00
Minh Nguyễn
c376380112 [ios] Added separate target for Settings.bundle
Added a separate target to produce the example Settings.bundle. Use the build product in iosapp instead of a folder reference.

Added the bundle and settings targets as dependencies on the dynamic and static targets instead of listing them explicitly in various schemes.
2016-04-24 17:58:05 -07:00
Minh Nguyễn
f85f4f4105 [ios] Streamlined resource bundling
Added a target that produces Mapbox.bundle.

Replaced $BUNDLE_RESOURCES and $PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK with a single variable, $SELF_CONTAINED, that determines whether the output static framework is self-contained – that is, whether it contains Mapbox.bundle, Settings.bundle, and LICENSE.md. Eliminated the ability to produce a static framework that has the same layout as a dynamic framework. Now, resources are always in Mapbox.bundle; self-containment only determines where that bundle resides.

Added a separate source Info.plist to be placed in both the static framework and its resource bundle, but only after we give the build system a chance to expand variables within it. Now nearly all the Info.plist keys are filled in by the build system rather than using plutil in package.sh.
2016-04-24 16:18:23 -07:00
John Firebaugh
4bc4d35c60 [ios] Build output goes to build/ios 2016-04-19 16:28:30 -07:00
Minh Nguyễn
f83c7a8b81 [ios] Force workspace-relative DerivedData
A workspace places derived data under ~/Library/ by default. We need it to live under build/ for all users. Instead of a legacy-style build products directory, force a workspace-relative DerivedData directory that matches the standard Xcode 4+ layout. Share the workspace settings file that forces the setting. Note that Xcode places its build and index output one level deeper than xcodebuild does.

Also fixed make ipackage-sim by conditionalizing anything related to the .dSYM file, which isn’t generated in the Debug configuration.
2016-04-16 22:46:26 -07:00
Minh Nguyễn
f791eb32b9 [ios] Streamlined package.sh
Halved the number of xcodebuild invocations, using a new scheme to string the dynamic and static builds together in each invocation. Removed unnecessary build flag overrides like ARCHS.

Removed support for building the SDK without Bitcode support via an environment variable. If you need to build without Bitcode support, set the ENABLE_BITCODE build setting in the project editor for the relevant Xcode target.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
b8c39667ff [ios] Moved SDK from gyp into Xcode project
Added a new Cocoa Touch dynamic framework target and Cocoa Touch static library target to the main iOS Xcode project. The targets are based on the templates provided by Xcode. They contain headers and source files in the darwin/ and ios/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory.

The SDK targets have a few dependencies that are managed by mason. Transform the config.gypi generated by configure into an .xcconfig file that Xcode uses to fill in compiler and linker flags.

Removed the iossdk target from platform.gypi and pared down the platform-lib target. make iproj opens the overall Xcode workspace instead of just the core project.

Resolved some warnings that are only now appearing because we’re using the standard warning and error flags instead of the pedantic and somewhat inappropriate flags that were forced by the gyp configuration files. Removed a console message informing developers of a long-ago deleted delegate method; the message was triggering a “selector not found” warning. Conditionalized some deprecated symbol usage that’s still needed for the static framework but not the dynamic framework, due to differing minimum deployment targets.

Added a build phase to the static library target that copies headers for use with the static library itself. This would allow us to potentially include a header in the dynamic framework but not the static library and vice-versa.

Updated the changelog to note that unused SVG files have been removed from the distribution.
2016-04-16 22:45:59 -07:00
Minh Nguyễn
96d3ccb022 [ios] Added Xcode project for iosapp, ios-bench; workspace for ios-tests
ios.xcodeproj is an ordinary Xcode project with ordinary Xcode targets for iosapp and ios-bench, all contained in an ordinary Xcode workspace that happens to also reference the gyp-generated platform.xcodeproj. The iosapp target links to and embeds Mapbox.framework, which is a product of the gyp-generated platform.xcodeproj. ios-tests.xcodeproj is also in the workspace, enabling simultaneous debugging of KIF tests, the SDK, and core code.

Moved storyboards into Base.lproj and image assets into an asset catalog. Removed iOS 6 assets from the iosapp asset catalog. Moved the original ios-bench application icon SVG into a non-project location.

Removed app/Settings.bundle, which is identical to framework/Settings.bundle.

Removed a broken reference to an unused header from the ios-tests project.
2016-04-16 13:20:12 -07:00
John Firebaugh
be47e35a97 [ios, osx] The return of xcpretty, part II (#4676) 2016-04-11 16:45:14 -07:00
John Firebaugh
f964e40e7e [build] Refactor and simplify build system
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
2016-04-07 18:01:02 -07:00
John Firebaugh
08d12f860e [ios] Fix make ipackage 2016-04-05 15:03:05 -07:00
John Firebaugh
879382f724 [ios, osx] Replace libuv with native implementations 2016-04-01 09:26:54 -07:00
Jesse Bounds
62f636f0c0 [ios] Fix issues with static lib signing and app store submission
Fix issues with static build configuration that caused it to be
problematic for host applications when they were installed on device.
Also fixes issues that broke the iTunes Connect validation and upload
process. This also updates the `binary` instructions in INSTALL.md to reflect
these changes.
2016-03-28 09:52:36 -07:00
Minh Nguyễn
8cdb4f74e1 [ios] Fixed changelog processing
Fixed a regression introduced in #4466 in which the changelog is essentially empty.

Fixes #4469.
2016-03-25 12:24:14 -07:00
Minh Nguyễn
ec072b437a [ios] Copy dynamic framework .dSYM into distribution 2016-03-18 00:29:58 -07:00
Minh Nguyễn
1962fce1de [ios] Copy .der files into static framework
Fixes #4316.
2016-03-15 11:08:34 -07:00
Minh Nguyễn
c2cd9335e9 [ios] Non-embedded static framework
Added a new ifabric Make target for packaging up a static framework similar to the one released as 3.0.1. Place artwork and certificate assets inside Mapbox.bundle inside Mapbox.framework. Link SystemConfiguration in the umbrella header.

Distinguish between the framework bundle and the resources bundle. For the dynamic frameworks and embedded static frameworks, the two are the same; for the non-embedded static framework, the latter resides inside the former.
2016-03-08 11:20:12 -08:00
Jesse Bounds
cb9054f9ec Update package script to reflect file path change 2016-02-27 06:58:31 -08:00