Commit Graph

7375 Commits

Author SHA1 Message Date
Minh Nguyễn
1818576fe6 [ios] Made userTrackingMode KVO-compliant
Fixes #4363.
2016-04-18 15:19:15 -07:00
Minh Nguyễn
96e0857227 [ios] Prompt for access token in iosapp
If no access token is found in user defaults at launch, iosapp prompts the user for an access token. Renamed the user defaults key for the access token to conform to Cocoa naming conventions.

Fixes #4696.
2016-04-18 14:57:20 -07:00
Minh Nguyễn
947f28f8bf [ios] Added action to reload style
Fixes #3102.
2016-04-18 14:57:09 -07:00
Minh Nguyễn
a392f972fc [ios] Use downloaded local assets in ios-bench if present
If you’ve gone through the trouble of running iso-bench’s download.sh scripts, use those assets instead of fetching them at runtime from the server.
2016-04-18 14:19:09 -07:00
John Firebaugh
bc3512773f [ios, osx] Make {ios,osx}app schemes non-shared
This avoids the risk of accidentally checking in a MAPBOX_ACCESS_TOKEN environment variable.
2016-04-18 11:42:43 -07:00
John Firebaugh
d8c4dcc13b [ios, osx] gitignore xcuserdata directories 2016-04-18 11:42:43 -07:00
John Firebaugh
fe894ef95e [build] make clean can now remove build directory wholesale 2016-04-18 10:42:41 -07:00
Thiago Marcos P. Santos
7d80690f91 [android] Restore prior GLContext if exists
Apparently some versions of Android, notable 4.4.4 running
on my Nexus 5, creates a GLContext on the Android UIThread
which is the one we are now using for rendering after #2909.

If the context is not restored, nothing gets rendered (or
sometimes partially, or artifacts) because Android will try
to do GL stuff on the context used by Mapbox GL and mess things up.
2016-04-18 18:57:20 +03:00
Bruno de Oliveira Abinader
378885e51a Fix missing generated header include path 2016-04-18 18:19:09 +03:00
Thiago Marcos P. Santos
301b4c7c4e [build] Use which instead of command
`command` is shell buitin on Linux.
2016-04-18 17:50:18 +03:00
Thiago Marcos P. Santos
87b27711d5 [build] Make run-glfw-app not working on Linux 2016-04-18 17:08:20 +03:00
Bruno de Oliveira Abinader
6857002cb9 [build] Bump geojson-vt-cpp to v4.1.2
Minor version bump to resolve cross-compilation issues while using
geojson-vt-cpp v4.1.0.
2016-04-18 14:17:45 +03:00
Bruno de Oliveira Abinader
f397e30622 [build/osx] Fix missing generated header include path 2016-04-18 14:16:51 +03:00
Minh Nguyễn
52abcb5a73 [ios] Animate user dot between user location updates
Use UIView animation to explicitly animate the user dot between user location updates. There is a tricky special case, which is that the callout must point to the annotation view’s implicit frame but must quickly rendezvous with the explicit frame.

Fixes #1041.
2016-04-17 22:44:18 -07:00
Minh Nguyễn
f936295b76 [ios, osx] Include app/OS name/version in user agent
Fixes #3997.
2016-04-17 00:21:23 -07:00
Minh Nguyễn
943c09f1c7 [ios, osx] Took advantage of C99
Now that #4641 has removed the prohibition against C99 extensions, this change removes many pragma statements that suppress warnings about variadic macros and designated initializers. Designated initializers and Elvis operators have been introduced wherever appropriate.
2016-04-16 23:29:40 -07:00
Minh Nguyễn
6da746ac68 [osx] Fixed type mismatch and selector warnings
Fixed some issues that were obscured by the old gyp-generated build settings.
2016-04-16 22:47:26 -07:00
Minh Nguyễn
15769537c3 [osx] Moved SDK from gyp into Xcode project
Added a new Cocoa dynamic framework target target to the main OS X Xcode project. The target is based on the template provided by Xcode. It contains headers and source files in the darwin/ and osx/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory. Removed the osxsdk target from platform.gypi.

The SDK target has 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.

Added a CI scheme that builds the All aggregate target generated by gyp and the osxapp and SDK test targets.
2016-04-16 22:46:56 -07:00
Minh Nguyễn
7054f808bc [osx] Added Xcode project for osxapp
osx.xcodeproj is an ordinary Xcode project with an ordinary Xcode target for osxapp, contained in an ordinary Xcode workspace that happens to also reference the gyp-generated platform.xcodeproj. The osxapp target links to and embeds Mapbox.framework, which is a product of the gyp-generated platform.xcodeproj.

Moved XIBs into Base.lproj and icons into an asset catalog.

Shared an Objective-C exception breakpoint, disabled by default.
2016-04-16 22:46:26 -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
61c9faaf99 [ios] Build for 64-bit simulator 2016-04-16 22:46:25 -07:00
Minh Nguyễn
f0cf8a733a [ios] Updated contributor documentation 2016-04-16 22:46:25 -07:00
Minh Nguyễn
ab9b4b9171 [ios] Specify simulator device
The default is iPhone 4 running iOS 8.1, which doesn’t seem to be the intended device.
2016-04-16 22:46:25 -07:00
Minh Nguyễn
da88060c5c [ios, osx] Fixed project upgrade warnings
Fixed project upgrade warnings in projects managed by gyp.
2016-04-16 22:46:25 -07:00
Minh Nguyễn
85b01eed5b [ios] Fixed make test-ios
For some reason, the SDK tests are less accurate when run on the command line than when run in Xcode or on OS X.

Also fixed unused variable warnings in the tests.
2016-04-16 22:46:25 -07:00
Minh Nguyễn
20b1c19b63 [ios] Run SDK tests on CI
Added SDK tests to make test-ios rule. Disabled code coverage.
2016-04-16 22:46:24 -07:00
Minh Nguyễn
be8f83770d [ios, osx] Shared test bundle
The iOS and OS X SDKs now share a non-UI test bundle. Moved the iOS UI test bundle into a uitest/ subdirectory and moved the OS X SDK tests into the darwin/ subdirectory.

Upgraded KIF to v3.4.2.
2016-04-16 22:46:24 -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
b3be8ee8f7 [ios] Removed armv7s slice from iOS gyp targets
All gyp-generated iOS targets build for the standard architectures, which do not include armv7s.

Fixes #4704.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
7a38e56819 [ios] Removed alternative to -ObjC
Xcode’s static library template comes with the -ObjC linker flag by default. Instead of removing that flag, this change removes the various imperfect workarounds we’ve been using to ensure that private SDK categories link. Given the size decrease in this static library since #2966 was fixed, we should have room to spare for the more straightforward approach. Moreover, an application that uses MGLMapView in a storyboard no longer needs to add -ObjC to the application target, which bloated the entire application, including other frameworks that had no need for -ObjC.

-ObjC isn’t even needed for dynamic frameworks, and the OS X SDK is only built as a dynamic framework.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
4175a09b4b [ios] Build CI-specific scheme in CI
The new scheme builds both the All aggregate target generated by gyp and the iosapp target.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
cc4da960c0 [ios] Moved KIF project out of ios-tests project 2016-04-16 22:46:23 -07:00
Minh Nguyễn
7ae6b13003 [ios] Only assert protocol conformance in Debug
Fixed some warnings when building Release.
2016-04-16 22:46:22 -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
1549b2b249 [ios] Shared Objective-C exception breakpoint
It’s common enough to need a general Objective-C exception breakpoint that it should be made available to all developers by default. It’s disabled by default, since it may obscure the exception message.
2016-04-16 13:20:22 -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
2fcfc2a939 [ios] Don't try to launch test server (#4719) 2016-04-15 13:18:31 -07:00
Ansis Brammanis
70362662f7 [core] look for loaded parent tiles in cache (#4595)
fix #4047

port https://github.com/mapbox/mapbox-gl-js/pull/2158
2016-04-15 13:10:50 -07:00
Bruno de Oliveira Abinader
a2a6e22bdd [glfw] Workaround for OS X (#4666) 2016-04-15 12:18:16 -07:00
Thiago Marcos P. Santos
d51944fbea [core] Don't copy TransformState (#3501) 2016-04-15 12:17:19 -07:00
John Firebaugh
1ee0055710 [core] Eliminate MapData 2016-04-15 09:56:18 -07:00
John Firebaugh
9d18d65eda [core] Remove MapData dependency from Painter 2016-04-15 09:56:18 -07:00
John Firebaugh
ed489e7649 [core] Remove MapData dependency from Style 2016-04-15 09:56:18 -07:00
John Firebaugh
25ff2696a1 [core] Remove MapData dependency from AnnotationTile and StyleUpdateParameters 2016-04-15 09:56:18 -07:00
John Firebaugh
ce4270b01c [core] Convert MapContext to Map::Impl; eliminate indirection 2016-04-15 09:56:18 -07:00
John Firebaugh
6e78eabfff [core] Clean up ThreadContext vestiges 2016-04-15 09:56:18 -07:00
Jason Wray
253a007d99 [ios][bench] Add total and avg FPS to final summary 2016-04-14 22:33:33 -04:00
Ansis Brammanis
d2b9b1c348 [core] always set activeTexture before binding a texture 2016-04-14 17:12:56 -07:00
John Firebaugh
b55692132a [tests] Use StubFileSource where a real FileSource is not required 2016-04-14 14:18:19 -07:00
John Firebaugh
7de9e196d7 [tests] Rationalize storage tests
Properly divide Storage tests into DefaultFileSource, OnlineFileSource, and HTTPFileSource tests.
2016-04-14 14:18:19 -07:00