summaryrefslogtreecommitdiff
path: root/platform/osx
diff options
context:
space:
mode:
Diffstat (limited to 'platform/osx')
-rw-r--r--platform/osx/app/AppDelegate.m5
-rw-r--r--platform/osx/app/Info.plist2
-rw-r--r--platform/osx/app/mapboxgl-app.gypi13
-rw-r--r--platform/osx/sdk/Info.plist22
-rw-r--r--platform/osx/sdk/Mapbox.m27
-rw-r--r--platform/osx/sdk/NSBundle+MGLAdditions.m22
-rw-r--r--platform/osx/sdk/framework-osx.gypi46
-rw-r--r--platform/osx/src/MGLAccountManager.m (renamed from platform/osx/sdk/MGLAccountManager.m)10
-rw-r--r--platform/osx/src/MGLAccountManager_Private.h (renamed from platform/osx/sdk/MGLAccountManager_Private.h)0
-rw-r--r--platform/osx/src/MGLAnnotationImage.m (renamed from platform/osx/sdk/MGLAnnotationImage.m)0
-rw-r--r--platform/osx/src/MGLAttributionButton.h (renamed from platform/osx/sdk/MGLAttributionButton.h)0
-rw-r--r--platform/osx/src/MGLAttributionButton.m (renamed from platform/osx/sdk/MGLAttributionButton.m)0
-rw-r--r--platform/osx/src/MGLCompassCell.h (renamed from platform/osx/sdk/MGLCompassCell.h)0
-rw-r--r--platform/osx/src/MGLCompassCell.m (renamed from platform/osx/sdk/MGLCompassCell.m)0
-rw-r--r--platform/osx/src/MGLMapView+IBAdditions.m (renamed from platform/osx/sdk/MGLMapView+IBAdditions.m)0
-rw-r--r--platform/osx/src/MGLMapView.mm (renamed from platform/osx/sdk/MGLMapView.mm)6
-rw-r--r--platform/osx/src/MGLMapView_Private.h (renamed from platform/osx/sdk/MGLMapView_Private.h)0
-rw-r--r--platform/osx/src/MGLOpenGLLayer.h (renamed from platform/osx/sdk/MGLOpenGLLayer.h)0
-rw-r--r--platform/osx/src/MGLOpenGLLayer.mm (renamed from platform/osx/sdk/MGLOpenGLLayer.mm)0
-rw-r--r--platform/osx/src/NSBundle+MGLAdditions.h (renamed from platform/osx/sdk/NSBundle+MGLAdditions.h)3
-rw-r--r--platform/osx/src/NSBundle+MGLAdditions.m13
-rw-r--r--platform/osx/src/NSProcessInfo+MGLAdditions.h (renamed from platform/osx/sdk/NSProcessInfo+MGLAdditions.h)0
-rw-r--r--platform/osx/src/NSProcessInfo+MGLAdditions.m (renamed from platform/osx/sdk/NSProcessInfo+MGLAdditions.m)0
-rw-r--r--platform/osx/src/resources/MGLAnnotationCallout.xib (renamed from platform/osx/sdk/resources/MGLAnnotationCallout.xib)0
-rw-r--r--platform/osx/src/resources/default_marker.pdf (renamed from platform/osx/sdk/resources/default_marker.pdf)bin2601 -> 2601 bytes
-rw-r--r--platform/osx/src/resources/mapbox.pdf (renamed from platform/osx/sdk/resources/mapbox.pdf)bin3762 -> 3762 bytes
26 files changed, 121 insertions, 48 deletions
diff --git a/platform/osx/app/AppDelegate.m b/platform/osx/app/AppDelegate.m
index dd4562090c..1bea883eb2 100644
--- a/platform/osx/app/AppDelegate.m
+++ b/platform/osx/app/AppDelegate.m
@@ -4,7 +4,7 @@
#import "LocationCoordinate2DTransformer.h"
#import "NSValue+Additions.h"
-#import <mbgl/osx/Mapbox.h>
+#import <Mapbox/Mapbox.h>
static NSString * const MGLMapboxAccessTokenDefaultsKey = @"MGLMapboxAccessToken";
static NSString * const MGLDroppedPinAnnotationImageIdentifier = @"dropped";
@@ -526,7 +526,8 @@ static NSString * const MGLDroppedPinAnnotationImageIdentifier = @"dropped";
- (MGLAnnotationImage *)mapView:(MGLMapView *)mapView imageForAnnotation:(id <MGLAnnotation>)annotation {
MGLAnnotationImage *annotationImage = [self.mapView dequeueReusableAnnotationImageWithIdentifier:MGLDroppedPinAnnotationImageIdentifier];
if (!annotationImage) {
- NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"default_marker" ofType:@"pdf"];
+ NSString *imagePath = [[NSBundle bundleForClass:[MGLMapView class]]
+ pathForResource:@"default_marker" ofType:@"pdf"];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:imagePath];
NSRect alignmentRect = image.alignmentRect;
alignmentRect.origin.y = NSMidY(alignmentRect);
diff --git a/platform/osx/app/Info.plist b/platform/osx/app/Info.plist
index 0d178d4b9e..118f2c1b11 100644
--- a/platform/osx/app/Info.plist
+++ b/platform/osx/app/Info.plist
@@ -36,7 +36,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
- <string>0.1.0</string>
+ <string>1</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>NSHighResolutionCapable</key>
diff --git a/platform/osx/app/mapboxgl-app.gypi b/platform/osx/app/mapboxgl-app.gypi
index 8ab0320d31..99a5f3d099 100644
--- a/platform/osx/app/mapboxgl-app.gypi
+++ b/platform/osx/app/mapboxgl-app.gypi
@@ -3,7 +3,8 @@
'../../../gyp/common.gypi',
],
'targets': [
- { 'target_name': 'osxapp',
+ {
+ 'target_name': 'osxapp',
'product_name': 'Mapbox GL',
'type': 'executable',
'product_extension': 'app',
@@ -15,11 +16,7 @@
],
'dependencies': [
- 'mbgl.gyp:core',
- 'mbgl.gyp:platform-<(platform_lib)',
- 'mbgl.gyp:http-<(http_lib)',
- 'mbgl.gyp:asset-<(asset_lib)',
- 'mbgl.gyp:cache-<(cache_lib)',
+ 'osxsdk',
],
'sources': [
@@ -39,10 +36,10 @@
'xcode_settings': {
'SDKROOT': 'macosx',
'SUPPORTED_PLATFORMS':'macosx',
- 'OTHER_LDFLAGS': [ '-stdlib=libc++', '-lstdc++' ],
'INFOPLIST_FILE': '../platform/osx/app/Info.plist',
'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.MapboxGL',
},
- }
+ },
]
}
diff --git a/platform/osx/sdk/Info.plist b/platform/osx/sdk/Info.plist
new file mode 100644
index 0000000000..aeebbb5072
--- /dev/null
+++ b/platform/osx/sdk/Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>0.0.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.0</string>
+</dict>
+</plist>
diff --git a/platform/osx/sdk/Mapbox.m b/platform/osx/sdk/Mapbox.m
new file mode 100644
index 0000000000..08d12579fe
--- /dev/null
+++ b/platform/osx/sdk/Mapbox.m
@@ -0,0 +1,27 @@
+#import <mbgl/osx/Mapbox.h>
+
+#import "../src/NSBundle+MGLAdditions.h"
+#import "../src/NSProcessInfo+MGLAdditions.h"
+#import "../../darwin/NSString+MGLAdditions.h"
+
+__attribute__((constructor))
+static void InitializeMapbox() {
+ static int initialized = 0;
+ if (initialized) {
+ return;
+ }
+
+ mgl_linkBundleCategory();
+ mgl_linkStringCategory();
+ mgl_linkProcessInfoCategory();
+
+ [MGLAccountManager class];
+ [MGLAnnotationImage class];
+ [MGLMapView class];
+ [MGLMultiPoint class];
+ [MGLPointAnnotation class];
+ [MGLPolygon class];
+ [MGLPolyline class];
+ [MGLShape class];
+ [MGLStyle class];
+}
diff --git a/platform/osx/sdk/NSBundle+MGLAdditions.m b/platform/osx/sdk/NSBundle+MGLAdditions.m
deleted file mode 100644
index a53802c343..0000000000
--- a/platform/osx/sdk/NSBundle+MGLAdditions.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#import "NSBundle+MGLAdditions.h"
-
-#import "MGLAccountManager.h"
-
-void mgl_linkBundleCategory() {}
-
-@implementation NSBundle (MGLAdditions)
-
-+ (instancetype)mgl_resourceBundle {
- return [self bundleWithPath:[self mgl_resourceBundlePath]];
-}
-
-+ (NSString *)mgl_resourceBundlePath {
- NSString *resourceBundlePath = [[self bundleForClass:[MGLAccountManager class]]
- pathForResource:@"Mapbox" ofType:@"bundle"];
- if (!resourceBundlePath) {
- resourceBundlePath = [[self mainBundle] bundlePath];
- }
- return resourceBundlePath;
-}
-
-@end
diff --git a/platform/osx/sdk/framework-osx.gypi b/platform/osx/sdk/framework-osx.gypi
new file mode 100644
index 0000000000..0c7c89d3ec
--- /dev/null
+++ b/platform/osx/sdk/framework-osx.gypi
@@ -0,0 +1,46 @@
+{
+ 'includes': [
+ '../../../gyp/common.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'osxsdk',
+ 'product_name': 'Mapbox',
+ 'type': 'shared_library',
+ 'mac_bundle': 1,
+
+ 'dependencies': [
+ 'mbgl.gyp:core',
+ 'mbgl.gyp:platform-<(platform_lib)',
+ 'mbgl.gyp:http-<(http_lib)',
+ 'mbgl.gyp:asset-<(asset_lib)',
+ 'mbgl.gyp:cache-<(cache_lib)',
+ ],
+
+ 'xcode_settings': {
+ 'SDKROOT': 'macosx',
+ 'SUPPORTED_PLATFORMS':'macosx',
+ 'OTHER_LDFLAGS': [ '-stdlib=libc++', '-lstdc++' ],
+ 'INSTALL_PATH': '@executable_path/../Frameworks',
+ 'INFOPLIST_FILE': '../platform/osx/sdk/Info.plist',
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.MapboxGL',
+ },
+
+ 'mac_framework_headers': [
+ '<!@(find ../include/mbgl/{darwin,osx} -type f \! -name \'.*\')',
+ ],
+
+ 'sources': [
+ './Mapbox.m',
+ ],
+
+ 'direct_dependent_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+ '$(SDKROOT)/System/Library/Frameworks/CoreLocation.framework',
+ ],
+ },
+ },
+ ]
+}
diff --git a/platform/osx/sdk/MGLAccountManager.m b/platform/osx/src/MGLAccountManager.m
index d6bc82defe..14969c101b 100644
--- a/platform/osx/sdk/MGLAccountManager.m
+++ b/platform/osx/src/MGLAccountManager.m
@@ -2,10 +2,6 @@
#import <mbgl/osx/MGLMapView.h>
-#import "NSBundle+MGLAdditions.h"
-#import "NSProcessInfo+MGLAdditions.h"
-#import "../../darwin/NSString+MGLAdditions.h"
-
@interface MGLAccountManager ()
@property (atomic) NSString *accessToken;
@@ -17,12 +13,6 @@
#pragma mark - Internal
+ (void)load {
- mgl_linkBundleCategory();
- mgl_linkStringCategory();
- mgl_linkProcessInfoCategory();
-
- [MGLMapView restorableStateKeyPaths];
-
// Read the initial configuration from Info.plist.
NSString *accessToken = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MGLMapboxAccessToken"];
if (accessToken.length) {
diff --git a/platform/osx/sdk/MGLAccountManager_Private.h b/platform/osx/src/MGLAccountManager_Private.h
index c0b8d2666a..c0b8d2666a 100644
--- a/platform/osx/sdk/MGLAccountManager_Private.h
+++ b/platform/osx/src/MGLAccountManager_Private.h
diff --git a/platform/osx/sdk/MGLAnnotationImage.m b/platform/osx/src/MGLAnnotationImage.m
index 855105fded..855105fded 100644
--- a/platform/osx/sdk/MGLAnnotationImage.m
+++ b/platform/osx/src/MGLAnnotationImage.m
diff --git a/platform/osx/sdk/MGLAttributionButton.h b/platform/osx/src/MGLAttributionButton.h
index 7bc0fa5357..7bc0fa5357 100644
--- a/platform/osx/sdk/MGLAttributionButton.h
+++ b/platform/osx/src/MGLAttributionButton.h
diff --git a/platform/osx/sdk/MGLAttributionButton.m b/platform/osx/src/MGLAttributionButton.m
index 642f71f608..642f71f608 100644
--- a/platform/osx/sdk/MGLAttributionButton.m
+++ b/platform/osx/src/MGLAttributionButton.m
diff --git a/platform/osx/sdk/MGLCompassCell.h b/platform/osx/src/MGLCompassCell.h
index 8c89b43e18..8c89b43e18 100644
--- a/platform/osx/sdk/MGLCompassCell.h
+++ b/platform/osx/src/MGLCompassCell.h
diff --git a/platform/osx/sdk/MGLCompassCell.m b/platform/osx/src/MGLCompassCell.m
index 88911de2ff..88911de2ff 100644
--- a/platform/osx/sdk/MGLCompassCell.m
+++ b/platform/osx/src/MGLCompassCell.m
diff --git a/platform/osx/sdk/MGLMapView+IBAdditions.m b/platform/osx/src/MGLMapView+IBAdditions.m
index 504bc789de..504bc789de 100644
--- a/platform/osx/sdk/MGLMapView+IBAdditions.m
+++ b/platform/osx/src/MGLMapView+IBAdditions.m
diff --git a/platform/osx/sdk/MGLMapView.mm b/platform/osx/src/MGLMapView.mm
index 350b59e208..a1cfe3c33d 100644
--- a/platform/osx/sdk/MGLMapView.mm
+++ b/platform/osx/src/MGLMapView.mm
@@ -66,7 +66,7 @@ typedef std::map<MGLAnnotationID, MGLAnnotationContext> MGLAnnotationContextMap;
/// Returns an NSImage for the default marker image.
NSImage *MGLDefaultMarkerImage() {
- NSString *path = [[NSBundle mgl_resourceBundle] pathForResource:MGLDefaultStyleMarkerSymbolName
+ NSString *path = [[NSBundle mgl_frameworkBundle] pathForResource:MGLDefaultStyleMarkerSymbolName
ofType:@"pdf"];
return [[NSImage alloc] initWithContentsOfFile:path];
}
@@ -266,7 +266,7 @@ public:
_logoView = [[NSImageView alloc] initWithFrame:NSZeroRect];
_logoView.wantsLayer = YES;
NSImage *logoImage = [[NSImage alloc] initWithContentsOfFile:
- [[NSBundle mgl_resourceBundle] pathForResource:@"mapbox" ofType:@"pdf"]];
+ [[NSBundle mgl_frameworkBundle] pathForResource:@"mapbox" ofType:@"pdf"]];
logoImage.alignmentRect = NSInsetRect(logoImage.alignmentRect, 3, 3);
_logoView.image = logoImage;
_logoView.translatesAutoresizingMaskIntoConstraints = NO;
@@ -1396,7 +1396,7 @@ public:
}
if (!viewController) {
viewController = [[NSViewController alloc] initWithNibName:@"MGLAnnotationCallout"
- bundle:[NSBundle mgl_resourceBundle]];
+ bundle:[NSBundle mgl_frameworkBundle]];
}
NSAssert(viewController, @"Unable to load MGLAnnotationCallout view controller");
viewController.representedObject = annotation;
diff --git a/platform/osx/sdk/MGLMapView_Private.h b/platform/osx/src/MGLMapView_Private.h
index 3b37ce24b4..3b37ce24b4 100644
--- a/platform/osx/sdk/MGLMapView_Private.h
+++ b/platform/osx/src/MGLMapView_Private.h
diff --git a/platform/osx/sdk/MGLOpenGLLayer.h b/platform/osx/src/MGLOpenGLLayer.h
index 9429b01bb5..9429b01bb5 100644
--- a/platform/osx/sdk/MGLOpenGLLayer.h
+++ b/platform/osx/src/MGLOpenGLLayer.h
diff --git a/platform/osx/sdk/MGLOpenGLLayer.mm b/platform/osx/src/MGLOpenGLLayer.mm
index 06a7be961c..06a7be961c 100644
--- a/platform/osx/sdk/MGLOpenGLLayer.mm
+++ b/platform/osx/src/MGLOpenGLLayer.mm
diff --git a/platform/osx/sdk/NSBundle+MGLAdditions.h b/platform/osx/src/NSBundle+MGLAdditions.h
index c09ba38a5d..6d6ebc35ad 100644
--- a/platform/osx/sdk/NSBundle+MGLAdditions.h
+++ b/platform/osx/src/NSBundle+MGLAdditions.h
@@ -8,8 +8,7 @@ void mgl_linkBundleCategory();
@interface NSBundle (MGLAdditions)
-+ (instancetype)mgl_resourceBundle;
-+ (NSString *)mgl_resourceBundlePath;
++ (instancetype)mgl_frameworkBundle;
@end
diff --git a/platform/osx/src/NSBundle+MGLAdditions.m b/platform/osx/src/NSBundle+MGLAdditions.m
new file mode 100644
index 0000000000..658d515ebf
--- /dev/null
+++ b/platform/osx/src/NSBundle+MGLAdditions.m
@@ -0,0 +1,13 @@
+#import "NSBundle+MGLAdditions.h"
+
+#import "MGLAccountManager.h"
+
+void mgl_linkBundleCategory() {}
+
+@implementation NSBundle (MGLAdditions)
+
++ (instancetype)mgl_frameworkBundle {
+ return [self bundleForClass:[MGLAccountManager class]];
+}
+
+@end
diff --git a/platform/osx/sdk/NSProcessInfo+MGLAdditions.h b/platform/osx/src/NSProcessInfo+MGLAdditions.h
index 6b34f54756..6b34f54756 100644
--- a/platform/osx/sdk/NSProcessInfo+MGLAdditions.h
+++ b/platform/osx/src/NSProcessInfo+MGLAdditions.h
diff --git a/platform/osx/sdk/NSProcessInfo+MGLAdditions.m b/platform/osx/src/NSProcessInfo+MGLAdditions.m
index 16f869703c..16f869703c 100644
--- a/platform/osx/sdk/NSProcessInfo+MGLAdditions.m
+++ b/platform/osx/src/NSProcessInfo+MGLAdditions.m
diff --git a/platform/osx/sdk/resources/MGLAnnotationCallout.xib b/platform/osx/src/resources/MGLAnnotationCallout.xib
index edf84a26a7..edf84a26a7 100644
--- a/platform/osx/sdk/resources/MGLAnnotationCallout.xib
+++ b/platform/osx/src/resources/MGLAnnotationCallout.xib
diff --git a/platform/osx/sdk/resources/default_marker.pdf b/platform/osx/src/resources/default_marker.pdf
index 4e2e332301..4e2e332301 100644
--- a/platform/osx/sdk/resources/default_marker.pdf
+++ b/platform/osx/src/resources/default_marker.pdf
Binary files differ
diff --git a/platform/osx/sdk/resources/mapbox.pdf b/platform/osx/src/resources/mapbox.pdf
index c08a0e3135..c08a0e3135 100644
--- a/platform/osx/sdk/resources/mapbox.pdf
+++ b/platform/osx/src/resources/mapbox.pdf
Binary files differ