Commit Graph

697 Commits

Author SHA1 Message Date
Brad Leege
abec88642b [android] [ios] #4432 - Splitting the CHANGELOG into iOS and Android specific CHANGELOGS 2016-03-25 10:17:57 -05:00
Minh Nguyễn
b57f0fb987 [ios] Fix up center coordinate after lopsided pinch gesture
The gesture recognizer only reports the gesture’s current center point, so use the previous center point to anchor the transition.

Fixes #4315.
2016-03-22 10:52:10 -07:00
Jesse Bounds
b163e99499 [iOS] Send turnstile event as much as once per day
Previously, the post of the turnstile event was a side effect of the
map.load event and would happen when the host app was started from a
terminated state at the first initialization of MGLMapView. The
turnstile event post was guarded with dispatch_once so that it would
only ever be sent once during the lifecycle of the application after
it started from the terminated state.

This changes that behavior by:

- Allowing a new turnstile event to be posted as much as once per
day
- Only triggering a map.view event when a map is initialized if the map
is loaded outside of the 'background' application state
- Sending a map.view event whenever a MGLMapView is instantiated
and the application did become active or enters foreground

iOS turnstile event sending behavior is now:

- A map.view event is generated whenever a map is loaded and also
when a map is shown again when the host app becomes active and moves
into the foreground
- Turnstile events are still triggered by mapviews and will be sent as
frequently as once per day for a host app that is not terminated and
also whenever a host app is terminated and restarted
w
2016-03-21 14:09:11 -07:00
Minh Nguyễn
7155c9bb81 ios-v3.2.0-beta.2 2016-03-18 14:34:22 -07:00
Jesse Bounds
4f816dcfbe [iOS] Increase distance filter to 5 m 2016-03-18 14:20:18 -07:00
Minh Nguyễn
b493bdc649 [ios, osx] Unified offline and ambient caches
There is now only one instance of mbgl::OfflineFileSource, created when the shared MGLOfflineStorage object is initialized. Also create and use the shared MGLOfflineStorage object when initializing an MGLMapView object. The unified cache file is located in a subdirectory of Application Support, where the SDK has control over the file’s lifetime. The subdirectory is already named after the host application’s bundle identifier, ensuring that each Mapbox-powered application has an independent tile limit. If there’s an ambient cache in a subdirectory of Caches, delete it. If there’s an offline cache in a subdirectory of Documents on iOS or Caches on OS X, move it to the unified cache location in a subdirectory of Application Support.

Fixes the iOS/OS X side of #4338.
2016-03-18 14:02:32 -07:00
Minh Nguyễn
0a26d8448a Merge pull request #4378 from mapbox/1ec5-offline-umbrella
Include offline headers in static umbrella header
2016-03-18 01:24:27 -07:00
Minh Nguyễn
ec072b437a [ios] Copy dynamic framework .dSYM into distribution 2016-03-18 00:29:58 -07:00
Minh Nguyễn
35e6aa70bc [ios] Include offline headers in static umbrella header
Include offline headers in the umbrella header used by the static framework. These includes are already present in the umbrella header used by the dynamic framework. jazzy relies on the static umbrella header to include all the headers, so the offline headers were also missing from documentation.
2016-03-18 00:15:36 -07:00
Jesse Bounds
aa60d29534 [iOS] Use CFBundleIdentifier instead of CFBundleName in UA string
Although often recommended, CFBundleName is not guaranteed to exist in
an app's configuration. As an identifier of telemetry data, even when
it is present it can be inconsistent because of localization.

CFBundleIdentifier, although possibly longer, will be consistent
across locales and for the lifetime of an app in the App Store even
if the app name changes in any locale.
2016-03-17 14:01:48 -07:00
Minh Nguyễn
2ab075b309 ios-v3.2.0-beta.1 2016-03-15 11:11:16 -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
76bb6b8746 ios-v3.2.0-pre.3 2016-03-14 15:38:19 -07:00
Minh Nguyễn
6f86bee283 [ios] Only set preferred action on iOS 9+
Fixed a crash on iOS 8 when presenting the Add Offline Pack dialog.

Fixes #4305.
2016-03-14 13:30:11 -07:00
Minh Nguyễn
922269cd7c [ios] Immediately remove offline pack from table
Remove all references to an offline pack before the call to -removePackWithCompletionHander:.

Cherry-picked from d64b8ad25c.
2016-03-14 12:54:10 -07:00
Minh Nguyễn
3b225d57d9 ios-v3.2.0-pre.2 2016-03-11 13:50:06 -08:00
Minh Nguyễn
4bcc24d5af [ios] Fixed iosapp build
MBXDownloadsTableViewController.{h,m} had been renamed MBXOfflinePacksTableViewController.{h,m}, but the project had not been.
2016-03-10 20:22:19 -08:00
Minh Nguyễn
641c31507d [ios] Renamed downloads to offline packs in iosapp 2016-03-10 17:14:14 -08:00
Minh Nguyễn
ff9c3a57b0 [ios, osx] Renamed MGLOfflineTask to MGLOfflinePack
“Offline pack” more effectively communicates the persistent nature of the downloaded content.
2016-03-10 17:14:14 -08:00
Minh Nguyễn
77d99584ce [ios, osx] Distinguish between unknown and inactive state 2016-03-10 17:08:58 -08:00
Minh Nguyễn
8824237e2d [ios, osx] Documented offline APIs
Also categorized offline symbols for jazzy and moved styleURL from MGLOfflineRegion to MGLTilePyramidOfflineRegion, since you never know if there will be a region type not constrained by a style in the future.
2016-03-10 17:08:58 -08:00
Minh Nguyễn
0348c1ee96 [ios] Tap to pause/resume
Tapping on a download now pauses or resumes it. Tapping on a completed download navigates to the downloaded region and switches to the downloaded style.
2016-03-10 17:08:58 -08:00
Minh Nguyễn
f5ac63dfec [ios, osx] Renamed offline classes
Renamed SDK classes related to offline viewing to more closely match the terminology used by mbgl and the Android SDK while remaining consistent with Cocoa naming principles.
2016-03-10 17:08:58 -08:00
Minh Nguyễn
e36218a866 [osx] Added OS X support for offline downloads 2016-03-10 17:08:58 -08:00
Minh Nguyễn
081ee9fbef [ios] Added download manager to iosapp 2016-03-10 17:08:58 -08:00
Minh Nguyễn
77657b3896 [ios] Implemented offline API in iOS SDK
Fixes #3892.
2016-03-10 17:08:58 -08:00
Minh Nguyễn
a65730803e [ios] Converted iosapp to use storyboard 2016-03-10 17:08:58 -08:00
Minh Nguyễn
29688e2cd8 [ios] Disable implicit animation of user dot bounds
ref #1125
2016-03-10 12:03:26 -08:00
Jason Wray
64b163ee5d [ios] Add description strings to constituent classes 2016-03-10 13:48:00 -05: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
Minh Nguyễn
0875a066cb [ios] Cleaned up NSLocalizedString usage
The format string would be localized, not the string resulting from expanding its placeholders. Also unindented a wildly indented block of code.
2016-03-05 21:49:57 -08:00
Minh Nguyễn
2d2ba3a482 [ios] Use MGLErrorDomain for errors 2016-03-05 21:44:22 -08:00
Jason Wray
2ed4a16605 [ios] Update telemetry opt-out docs link 2016-03-04 13:48:26 -05:00
boundsj
d10d3eef43 [iOS] #4148 Update event serialization to the V2 specification.
This updates the endpoint for events to "v2" and updates
appUserTurnstile, map.load, map.click, map.dragend, and location
to the V2 spec.
2016-03-03 17:45:10 -08:00
Jesse Bounds
c6d84f0d71 Merge branch 'release-ios-v3.2.0' 2016-03-03 15:47:23 -08:00
Bruno de Oliveira Abinader
c17e954983 [android|ios|osx] Fix return type for pixelForLatLng 2016-03-01 20:58:54 +00:00
Bruno de Oliveira Abinader
4994b3dc57 [core] PrecisionPoint is now ScreenCoordinate 2016-03-01 20:58:54 +00:00
Minh Nguyễn
73430aed38 [ios] Moved static include file
This file was originally added on the release-ios-v3.1.0 branch, before #3913 merged ios/ into platform/ios/. When the release branch was merged back into master in 17f44d7bd9, the file was left in the old ios/ directory.
2016-02-27 13:43:39 -08:00
Jesse Bounds
cb9054f9ec Update package script to reflect file path change 2016-02-27 06:58:31 -08:00
Jesse Bounds
ca82ae4be1 Update podspec, changelog for 3.2.0-pre.1-symbols 2016-02-27 06:13:51 -08:00
Jesse Bounds
09c9100891 Introduce MGLLocation Manager
https://github.com/mapbox/mapbox-gl-native/pull/4115

This change makes background data gathering more efficient by disabling
standard location updates when the device has been stationary for at
least five minutes. It also establishes region monitoring and
significant location change monitoring so that if the device appears to
be in motion again then background telemetry data collection can resume.
All of this reduces the amount of time required for telemetry data
collection to the time the device is in motion only. It also only
applies to host apps that already run in the background and have the
always location permission from their users.

This also includes some changes to make the internal pause/resume API of
the MGLMapboxEvents class less complex and autonomous. The side effects
of the map view waking or sleeping are no longer required for mapbox
events to work as intended.
2016-02-26 14:19:04 -08:00
Minh Nguyễn
fe7b52e792 [ios] Clarified schemes and destinations 2016-02-26 10:23:40 -08:00
Jesse Bounds
9a97a4d34f [ios] Introduce API Client
Addresses https://github.com/mapbox/mapbox-gl-native/issues/3704

This introduces a new utility class that wraps networking via
NSURLSession. All related code that used to live inside the telemetry
MGLMapboxEvents class has been pulled into the new MGLAPIClient.
An API client instance is used as a service by telemetry and can be
reused in the future when and if our networking needs grow or become
more complex.
2016-02-24 14:45:42 -08:00
Minh Nguyễn
d8c066ce0a [ios] Deleted redundant certificates
These certificates were copied to platform/default/resources/ in 4719b73ac7 but remained here, producing build warnings about duplicate build rules.
2016-02-24 12:24:08 -08:00
Jesse Bounds
f3ff38d125 [ios] Reduce async complexity 2016-02-24 09:32:26 -08:00
Minh Nguyễn
17f44d7bd9 Merge branch 'release-ios-v3.1.0' 2016-02-24 09:06:43 -08:00
Konstantin Käfer
662edea020 [ios] fix benchmark app 2016-02-24 16:49:05 +01:00
Minh Nguyễn
7bed2cebd2 [ios] Restored framework dependencies to static installation instructions
Backed out documentation about #4029 because it doesn’t apply when using a storyboard, and the installation instructions use a storyboard.
2016-02-22 10:44:49 -08:00
Minh Nguyễn
d836638407 [ios] Fixed zoom level for map feedback tool
The map feedback tool uses mapbox.js, so its zoom levels are one off the zoom levels used by Mapbox GL.
2016-02-22 09:44:43 -08:00
Jason Wray
15b9f3171a [ios] Refactor MGLMapView's location services
- Pause location services when the app goes to sleep; address iOS 8 blue bar issue.
- Only ask for location permissions if not already granted/denied.
- Cleanup usage of `.isDormant` → `.dormant`

Partially addresses #2945, for which a full and complete fix waits until #4030.
2016-02-19 13:14:54 -05:00