diff options
Diffstat (limited to 'platform')
-rw-r--r-- | platform/osx/app/AppDelegate.m | 5 | ||||
-rw-r--r-- | platform/osx/app/Info.plist | 2 | ||||
-rw-r--r-- | platform/osx/app/mapboxgl-app.gypi | 13 | ||||
-rw-r--r-- | platform/osx/sdk/Info.plist | 22 | ||||
-rw-r--r-- | platform/osx/sdk/Mapbox.m | 27 | ||||
-rw-r--r-- | platform/osx/sdk/NSBundle+MGLAdditions.m | 22 | ||||
-rw-r--r-- | platform/osx/sdk/framework-osx.gypi | 46 | ||||
-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.m | 13 | ||||
-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) | bin | 2601 -> 2601 bytes | |||
-rw-r--r-- | platform/osx/src/resources/mapbox.pdf (renamed from platform/osx/sdk/resources/mapbox.pdf) | bin | 3762 -> 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 Binary files differindex 4e2e332301..4e2e332301 100644 --- a/platform/osx/sdk/resources/default_marker.pdf +++ b/platform/osx/src/resources/default_marker.pdf diff --git a/platform/osx/sdk/resources/mapbox.pdf b/platform/osx/src/resources/mapbox.pdf Binary files differindex c08a0e3135..c08a0e3135 100644 --- a/platform/osx/sdk/resources/mapbox.pdf +++ b/platform/osx/src/resources/mapbox.pdf |