Commit Graph

1122 Commits

Author SHA1 Message Date
Justin R. Miller
105673efc1 [ios, macos] fixes #6160: allow updating multipoint coordinates (#6565) 2016-10-04 18:42:12 -07:00
Jesse Bounds
26c32f5c11 [ios] Remove double counting of content inset top and bottom (#6566)
This removes the calls to top and bottom for content inset of the
map view when calculating the edge padding for following. A previous
commit added this along with the left and right values. This
eliminates a bug where the map did not scroll to the correct location
for the user dot and also a bug in
`didUpdateLocationWithUserTrackingAnimated:` where the map panning
operations would always occur because the current and correct points
never matched up even if a stream of location values that were the
same were processed.
2016-10-03 17:21:38 -07:00
Minh Nguyễn
d4151c9f36 [ios, macos] Updated changelogs 2016-10-03 19:06:30 -04:00
Jason Wray
f8a0dc0ff9 ios-v3.4.0-alpha.5 2016-10-03 19:06:30 -04:00
Jason Wray
5b28ebbeca [ios][macos] Update changelog for dSYM, symbol stripping fix 2016-09-30 18:49:05 -04: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
Ivo van Dongen
1c11aeb48a [android][ios][macos][linux][qt] included default LocalFileSource 2016-09-30 14:57:26 +02:00
Konstantin Käfer
2ec2860ce5 [core] move OpenGL extension loading to their own headers 2016-09-29 13:19:27 -07:00
Konstantin Käfer
cc78b74098 [core] remove dependence on gl.h types 2016-09-29 10:17:47 -07:00
Minh Nguyễn
b1518944a7 [ios, macos] Rewrote CI scripts
Broke up the iOS and macOS Bitrise scripts into several steps each for more granular progress and failure reporting and to take advantage of better error reporting in the built-in Bitrise steps. Added a step to deploy Xcode test results and (in the event of a failure) raw xcodebuild output to Bitrise.io, with a handy link from the Bitrise UI.
2016-09-28 09:44:19 -07:00
Jesse Bounds
73baa52710 [ios] Update changelog for annotation view fix 2016-09-27 15:24:19 -07:00
Jesse Bounds
c6abc0ea89 [ios] Always show annotation view even when view reuse is not used
This fixes an issue where the map view would drop annotation views
if the developer did not make full use of the reuse queue. The
fixes are:

- Guard against enqueuing a view for reuse if it does not have
a `viewReuseIdentifier`. Previously, if the app developer created a new
annotation view with no reuse id each time
`[MGLMapViewDelegate mapView:viewForAnnotation:]` was called and then
the view was scrolled offscreen, we  attempted to add the view to the
reuse queue (for no good reason) and  did not update the views center
ever again.  This change avoids the reuse queue and just updates the
center always.

- Add any annotation view that should be displayed but is not in the
annotation container view to the annotation container view. Previously,
if the app developer created a new annotation view with a reuse id
each time `[MGLMapViewDelegate mapView:viewForAnnotation:]` was called,
and then if the annotation was scrolled off and then on screen again,
we did not add the new view to the container view because it was
not happening in the normal `addAnnotation` cycle. This adds add
logic to catch that case and add annotation views created in this
way to the view.
2016-09-27 15:24:19 -07:00
Justin R. Miller
a6aa786f35 [ios, macos] flesh out iOS runtime styling docs (#6466)
- fixes #5959: MGLBaseStyleLayer docs
- fixes #5960: MGLSource & subclasses docs
- fixes #6467: concrete layer subclass docs
- move Core Graphics include
- slight code & template cleanups
- add ./documentation to git ignores
2016-09-27 13:53:32 -07:00
Justin R. Miller
6aa00afd31 [ios, android] add visual tests for fill, line, & numeric filter styling (#6433) 2016-09-23 10:13:11 -07:00
Jesse Bounds
3ddb8dfc86 [ios, macos] Add tile template option to raster and vector sources
A new MGLTileSet class that wraps all available core Tileset options can be created and passed into the sources. The sources pass that tileset object along to core.
2016-09-22 17:30:47 -07:00
Justin R. Miller
673d8f90f2 [ios] revamp settings/debug UI in test app (#6421) 2016-09-21 15:07:44 -07:00
Minh Nguyễn
3b546b9646 [ios, macos] Ignore progress updates after suspending
-suspend and -resume are now presumed to be synchronous, even if technically they remain asynchronous under the hood.
2016-09-20 22:34:54 -07:00
Justin R. Miller
13e63dbff5 [ios] add OS_ACTIVITY_MODE=disable for Xcode 8 spew (#6382) 2016-09-19 13:57:22 -07:00
Jason Wray
23eaf6fb86 [ios] Don't specify Swift version for jazzy doc generation (#6377) 2016-09-19 15:43:45 -04:00
Justin R. Miller
0bd66d40dd [ios] fixes #6248: properly handle all NSNumber types in filters (#6290) 2016-09-16 11:46:22 -07:00
Jason Wray
83d0b39adb [ios, macos] Remove changelog lines for WAL db change 2016-09-14 15:46:45 -04:00
Jesse Bounds
922bb3bc37 [ios] Use content inset to calculate edge padding (#6313)
This reverts a previous change that used only the contentInset
when setting the center coordinate of the map view.
Instead of contentInset, edgePaddingForFollowing is used. This fixes
a regression that caused the user dot annotation to be misplaced
when the map was configured to show the annotation in any place other
than in the center of the map.

In addition, edgePaddingForFollowing is updated to account for
contentInset when it calculates its UIEdgeInsets. This fixes a bug
where the user dot would move to the center of the content frame
(when it was adjusted for content insets) but the map would not scroll
along with it yielding the effect of the user dot being misplaced.
2016-09-13 22:24:37 -07:00
Jesse Bounds
4c8d61abf1 [ios, macos] Put MGLStyleLayer inits in respective classes
Previously, we declared MGLStyleLayer initializers in the MGLStyleLayer
protocol as optional methods. This made it easy to opt in and out
of initializers that did or or did not make sense for the subclass.
However, this approach was dangerous since it was easy for an
application developer to initialize an MGLStyleLayer subclass with an
init method that was actually not implemented in that class causing
an exception at runtime.

This commit moves the init methods that each subclass supports to
each subclass so xcode (and the compiler) help the developer avoid
the previously possible runtime exception.

In addition, a new init method is added that takes the source layer
and passes that on to `mbgl::style:Layer` (but only on classes
where this is possible in core). This allows an application developer
to style a specific source layer (i.e. the contour lines of the mapbox
terrain vector source).

Finally, this refactors MGLStyleLayer classes to use an MGLSource instead of a
string identifier for the source when initializing the style.
2016-09-08 09:17:35 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
Jesse Bounds
52f23614b3 [ios] Remove iosapp test stub
The PR to add filter predicates (#6049) added logic to apply some
runtime styling to the iosapp as soon as the map finished loading.
This removes that logic.
2016-09-02 15:37:13 -07:00
Jason Wray
aff278ce52 ios-v3.4.0-alpha.4 2016-09-02 18:23:15 -04:00
Minh Nguyễn
05f129212d [ios] Updated changelog 2016-09-02 15:22:28 -07:00
Jesse Bounds
08f55af914 [ios, macos] Use NSDictionary for geojson source options.
This removes a previous implementation of geojson options that used
a new type to transfer the data around. Added in its place is
an options API that takes an NSDictionary that works similarly to
NSAttributedString and many other Cocoa APIs that take options.

The options parser now expects the developer to send values of the
type noted in the documentation and it simply converts the NSNumber
to the correct type (integer, double, or bool) for mbgl. However, an
exception is raised if the value is not an NSNumber.
2016-09-02 14:48:37 -07:00
Fredrik Karlsson
ad095e458d [ios, macos] fixes #5962 added geojson options to support clustering 2016-09-02 14:41:47 -07:00
Fredrik Karlsson
d77a13eb73 [ios] Added support for filters (NSPredicate)
[ios, macos] cleaned up filters

[ios] added a filter example

[ios] utest filters

[ios, macos] nested predicates

[ios] refactored

[ios] filter -> NSPredicate

[ios] fixed mbgl::Any/AllFilter -> NSPredicate

[ios] translate nested mbgl::NotIn filters

[ios] cleanup and added more utests

[ios] fixed a bug in the None filter conversion and improved utests

[ios, macos] doc

[macos] added missing category

[ios, macos] additional utests

[ios, macos] updated documentation
2016-09-02 22:42:05 +02:00
Jesse Bounds
0c4e51adf8 [ios] Silence MGLCalloutView related warnings in tests (#6231)
The annotation view test uses a fake MGLTestCalloutView that
declares conformance to the MGLCalloutView protocol. However,
several properties and a method were not implemented in the test
which caused several warnings that were visible if you compiled
the SDK tests. This change stubs out the properties and method
so the warnings go away.
2016-09-01 16:49:30 -07:00
Jason Wray
5a3bba6fc4 [ios] Add -ObjC to static podspec; update custom CocoaPods steps 2016-08-31 22:32:47 -04:00
Jason Wray
fcee1a85cd [ios] Allow implicit animation of annotation views
- Allows the user location annotation to again animate its movements while no tracking mode is enabled.
2016-08-31 15:55:34 -04:00
Jason Wray
dd4d1a9927 [ios] Update INSTALL doc for -ObjC; use local podspec path
- Adds -ObjC flag for static lib.
- Fixes link to iOS SDK site.
- Pushes CocoaPods down the list.
- Changes CocoaPods to use local path, not HTTP.
- Emphasizes that INSTALL.MD is only for custom builds.
2016-08-30 21:23:34 -04:00
Jesse Bounds
c95ffe65a6 [ios] Update change log for centerOffset bug fix 2016-08-30 16:57:43 -07:00
Romain Quidet
4d74e73e5e [iOS] Using contentInset for setCenterCoordinate: and flyToCamera methods everywhere. 2016-08-30 16:37:45 -07:00
Fredrik Karlsson
5588935412 [ios, macos] fix imports (#6209) 2016-08-30 17:57:36 +02:00
Jesse Bounds
22cc375da0 [ios] Avoid updating sprite backed annotations in view update method (#6199)
Previously, annotations backed by sprite had their frames updated
by the view backed annotation update method. This guards against
that by aborting an update for an annotation if an associated
view cannot be found.

In addition, some dead code is removed.
2016-08-29 16:20:29 -07:00
Jason Wray
c075a879b8 ios-v3.4.0-alpha.3 2016-08-29 14:17:18 -04:00
Jason Wray
8dff7ab2f0 [ios] Improve user location annotation documentation
- Add note to mapView:viewForAnnotation: delegate method.
- Edit docs in iosapp's implementation of that delegate method.
2016-08-26 17:48:27 -04:00
Jason Wray
018f395442 [ios] Ignore non-conforming user location annotation views 2016-08-26 17:48:27 -04:00
Justin R. Miller
2501b2cc7b [ios] preserve annotation transforms during perspective scaling 2016-08-26 14:29:31 -07:00
Jason Wray
01b0b0bf0b [ios] Move OHHTTPStubs to Git submodule and update to 5.2.0 2016-08-25 13:41:19 -04:00
Jason Wray
9cdbac043d [ios] Clean-up user location annotation heading calculations
- Use MGLRadiansFromDegrees().
- Make indentation more readable.
2016-08-24 21:56:52 -04:00
Jason Wray
cb59589954 [ios] Stop exaggerating heading accuracy indicator size
- 1.5× exaggeration has been removed.
- Maximum accuracy (smallest size) has been increased to 20°.
2016-08-24 21:56:52 -04:00
Minh Nguyễn
5836738906 Document -mapViewDidFailLoadingMap:withError: (#6145)
* [macos] Implement -mapViewDidFailLoadingMap:withError:

* [ios] Documented -mapViewDidFailLoadingMap:withError:
2016-08-24 14:47:28 -07:00
Minh Nguyễn
2523f33ac4 [ios, macos] Expose name and default position of current style (#6127)
* [ios] Reset to style’s default position

* [ios, macos] Added name property to MGLStyle
2016-08-24 11:43:54 -07:00
Thiago Marcos P. Santos
7a84a0e4ea [ios] Fix typo
s/Reponse/Response
2016-08-24 18:17:56 +03:00
Jason Wray
a5b089de62 [ios, macos] Move debug mask options to shared header (#6094)
* [ios, macos] Move debug mask options to shared header

* Limit buffer debug modes to macOS

... because these modes use OpenGL features that aren't supported by iOS.

* Try a different tact: exclude "iPhone"

... which is actually all iOS-like devices.
2016-08-23 20:14:22 -04:00