Commit Graph

7347 Commits

Author SHA1 Message Date
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
John Firebaugh
3af3e72bb3 [all] Replace HTTPContextBase/HTTPRequestBase with FileSource 2016-04-14 14:18:19 -07:00
John Firebaugh
6d88a23a60 [core] Remove internal threading from OnlineFileRequest
There's no need to do the work that OnlineFileRequest does on a separate thread from the DefaultFileSource thread, and having AsyncTasks proxy to other tasks across a thread boundary adds needless complexity.
2016-04-14 14:18:19 -07:00
Thiago Marcos P. Santos
7bb74ac8db [android] Do not annotate methods with @UIThread
Not needed, same thread already.
2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
ba3125142e [android] Make the correct GL context current 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
7b3c61f619 [android] Do not attach/detach to threads
Not needed as everything is now running on the same thread.
2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
a65c19c569 [android] Only render after the surface is created 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
02db7fa852 [android] Create a RunLoop for the main thread 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
40e590b681 [android] Use ALooper_addFd() and callbacks to wake up
This is needed for plugging into an existing Looper because
we won't call ::run() on the main thread (this is called
on the Java side of the application automatically by Android).

But we still need to wake up and process the events. For that
we create a pipe and write to the pipe to wake up the main
loop and we process events on the callback of the fd handler.

Fixes #4682
2016-04-14 13:44:08 -07:00
John Firebaugh
204c7fee03 [core] Render from the main thread
Do not create a thread for the MapContext anymore.
2016-04-14 13:44:08 -07:00
John Firebaugh
18d8e80f52 [core] Demote "Unable to make space for entry" message from Warning to Debug (#4708) 2016-04-14 13:43:24 -07:00
John Firebaugh
a47ab85283 [core] Don't put static objects in a header file (#4707)
This causes duplicate objects -- one for every file that includes that header.
2016-04-14 12:11:02 -07:00
John Firebaugh
db9fb97ea8 [test] Fix use of uninitialized dimensions value (#4697)
Instead of calling resize, which would compare against the uninitialized dimensions values, initialize dimensions and needsResize directly.
2016-04-13 18:00:46 -07:00
John Firebaugh
009a28943c [build] Fail configure if a mason command fails 2016-04-13 17:07:29 -07:00
Jason Wray
7e0a2e36e6 [ios] Convert telemetry test server setting to user default
- Previously looked in app's Info.plist, now looks at NSUserDefaults
2016-04-13 18:04:06 -04:00
Tobrun
ef65d2015c [android] #4335 - add clear method for removing annotations to MapboxMap 2016-04-13 18:15:51 +02:00
Brad Leege
7fa32a0d08 [android] #4689 - Adding Debug Mode Example 2016-04-12 18:13:45 -05:00
Konstantin Käfer
618b9f1dbf [darwin] use CFRunLoopSourceInvalidate() to also cancel any pending AsyncTask invocations 2016-04-12 12:46:59 -07:00
John Firebaugh
23a0e2a84e [osx] Yet another attempt at getting crash traces 2016-04-12 11:55:10 -07:00
Thiago Marcos P. Santos
2d580364a6 [core] Do the MapContext::cleanup() synchronously
This used to be async assuming the libuv behavior of holding the
main loop until all the messages are processed and also for avoiding
a deadlock at exit that no longer exits.

Now that we support multiple main loops implementation on different
platforms, we do the cleanup synchronously to make sure all the
platforms have the same behavior at exit.

Fixes #4631
2016-04-12 20:15:25 +03:00
Minh Nguyễn
24b4b1b514 [osx] Scroll to zoom
Added a hidden preference to MGLMapView that enables “unnatural zooming”, in which the scroll wheel zooms in and out, as in a Web browser, instead of scrolling the map, as is the platform convention on iOS and OS X.

Added a checkbox to osxapp’ preferences window that toggles this hidden preference via a binding. You can either use this checkbox or set the MGLScrollWheelZoomsMapView user default to YES.

Fixes #4670.
2016-04-12 09:27:28 -07:00
John Firebaugh
e37e08d225 [ios, osx] Avoid generating dSYM files in Debug configurations
Per https://labs.spotify.com/2013/11/04/shaving-off-time-from-the-ios-edit-build-test-cycle/
2016-04-11 21:22:34 -07:00
John Firebaugh
88ea342580 [ios] Build only i386 2016-04-11 21:21:36 -07:00
John Firebaugh
d8d3690010 [ios] Use the same build configuration for make ios and make test-ios 2016-04-11 21:21:36 -07:00
Jason Wray
eda132d922 [ios] Restart user location heading updates on validation
Fixes #4668. Thanks to @JThramer for reporting.
2016-04-11 23:21:05 -04:00
John Firebaugh
c3bed1dab8 [core] Fix race condition that could lead to a UNIQUE constraint failure (#4677) 2016-04-11 19:46:45 -07:00
John Firebaugh
be47e35a97 [ios, osx] The return of xcpretty, part II (#4676) 2016-04-11 16:45:14 -07:00
Mike Morris
c1a38b66e5 node-v3.1.1 2016-04-11 16:43:12 -07:00
Mike Morris
18768d6f88 unbundle node-pre-gyp to work around bundledDependencies bug in npm2 2016-04-11 16:40:33 -07:00