diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..165852e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,64 @@
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+build/
+DerivedData/
+
+## Various settings
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata/
+
+## Other
+*.moved-aside
+*.xcuserstate
+*.xcworkspacedata
+
+## Obj-C/Swift specific
+*.hmap
+*.ipa
+*.dSYM.zip
+*.dSYM
+
+# CocoaPods
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+Podfile.lock
+Pods/
+
+# Carthage
+#
+# Add this line if you want to avoid checking in source code from Carthage dependencies.
+# Carthage/Checkouts
+
+Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+
+# Code Injection
+#
+# After new code Injection tools there's a generated folder /iOSInjectionProject
+# https://github.com/johnno1962/injectionforxcode
+
+iOSInjectionProject/
\ No newline at end of file
diff --git a/Demo/JPSThumbnailAnnotation-Info.plist b/Demo/JPSThumbnailAnnotation-Info.plist
index 30e4991..5860c3f 100644
--- a/Demo/JPSThumbnailAnnotation-Info.plist
+++ b/Demo/JPSThumbnailAnnotation-Info.plist
@@ -9,7 +9,7 @@
CFBundleExecutable
${EXECUTABLE_NAME}
CFBundleIdentifier
- com.yourcompany.${PRODUCT_NAME:rfc1034identifier}
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Demo/JPSThumbnailAnnotation.xcodeproj/project.pbxproj b/Demo/JPSThumbnailAnnotation.xcodeproj/project.pbxproj
index 80f40de..760cba2 100644
--- a/Demo/JPSThumbnailAnnotation.xcodeproj/project.pbxproj
+++ b/Demo/JPSThumbnailAnnotation.xcodeproj/project.pbxproj
@@ -1,340 +1,924 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 34C69ED51E2561D400149AF5 /* JPSThumbnail.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C69ED41E2561D400149AF5 /* JPSThumbnail.m */; };
- E875D68A17245D6C00009A6F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E875D68917245D6C00009A6F /* Foundation.framework */; };
- E875D69217245D6C00009A6F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E875D69017245D6C00009A6F /* InfoPlist.strings */; };
- E875D69417245D6C00009A6F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E875D69317245D6C00009A6F /* main.m */; };
- E875D69817245D6C00009A6F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E875D69717245D6C00009A6F /* AppDelegate.m */; };
- E875D69A17245D6C00009A6F /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = E875D69917245D6C00009A6F /* Default.png */; };
- E875D69C17245D6C00009A6F /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E875D69B17245D6C00009A6F /* Default@2x.png */; };
- E875D69E17245D6C00009A6F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E875D69D17245D6C00009A6F /* Default-568h@2x.png */; };
- E875D6A117245D6C00009A6F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E875D6A017245D6C00009A6F /* ViewController.m */; };
- E8B7E7D91724669200E93E96 /* JPSThumbnailAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B7E7D81724669200E93E96 /* JPSThumbnailAnnotation.m */; };
- E8B7E7DC172466B600E93E96 /* JPSThumbnailAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B7E7DB172466B600E93E96 /* JPSThumbnailAnnotationView.m */; };
- E8EF4F2C1725027D0051DB36 /* empire.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E8EF4F2B1725027D0051DB36 /* empire.jpg */; };
- E8EF4F2F1725081E0051DB36 /* ottawa.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E8EF4F2D1725081E0051DB36 /* ottawa.jpg */; };
- E8EF4F301725081E0051DB36 /* apple.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E8EF4F2E1725081E0051DB36 /* apple.jpg */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 34C69ED41E2561D400149AF5 /* JPSThumbnail.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JPSThumbnail.m; sourceTree = ""; };
- E875D68417245D6C00009A6F /* JPSThumbnailAnnotation.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JPSThumbnailAnnotation.app; sourceTree = BUILT_PRODUCTS_DIR; };
- E875D68717245D6C00009A6F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
- E875D68917245D6C00009A6F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- E875D68B17245D6C00009A6F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
- E875D68F17245D6C00009A6F /* JPSThumbnailAnnotation-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "JPSThumbnailAnnotation-Info.plist"; sourceTree = ""; };
- E875D69117245D6C00009A6F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
- E875D69317245D6C00009A6F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- E875D69517245D6C00009A6F /* JPSThumbnailAnnotation-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "JPSThumbnailAnnotation-Prefix.pch"; sourceTree = ""; };
- E875D69617245D6C00009A6F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- E875D69717245D6C00009A6F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- E875D69917245D6C00009A6F /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; };
- E875D69B17245D6C00009A6F /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; };
- E875D69D17245D6C00009A6F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; };
- E875D69F17245D6C00009A6F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
- E875D6A017245D6C00009A6F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
- E875D6AA172461FB00009A6F /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
- E8B7E7D71724669200E93E96 /* JPSThumbnailAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JPSThumbnailAnnotation.h; sourceTree = ""; };
- E8B7E7D81724669200E93E96 /* JPSThumbnailAnnotation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JPSThumbnailAnnotation.m; sourceTree = ""; };
- E8B7E7DA172466B600E93E96 /* JPSThumbnailAnnotationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JPSThumbnailAnnotationView.h; sourceTree = ""; };
- E8B7E7DB172466B600E93E96 /* JPSThumbnailAnnotationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JPSThumbnailAnnotationView.m; sourceTree = ""; };
- E8EF4F241724E30C0051DB36 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
- E8EF4F261724E5870051DB36 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- E8EF4F281724EE840051DB36 /* JPSThumbnail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JPSThumbnail.h; sourceTree = ""; };
- E8EF4F2B1725027D0051DB36 /* empire.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = empire.jpg; sourceTree = ""; };
- E8EF4F2D1725081E0051DB36 /* ottawa.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = ottawa.jpg; sourceTree = ""; };
- E8EF4F2E1725081E0051DB36 /* apple.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = apple.jpg; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- E875D68117245D6C00009A6F /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E875D68A17245D6C00009A6F /* Foundation.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- E875D67B17245D6C00009A6F = {
- isa = PBXGroup;
- children = (
- E8B7E7D61724664A00E93E96 /* JPSThumbnailAnnotation */,
- E875D68D17245D6C00009A6F /* Classes */,
- E875D68617245D6C00009A6F /* Frameworks */,
- E875D68517245D6C00009A6F /* Products */,
- );
- sourceTree = "";
- };
- E875D68517245D6C00009A6F /* Products */ = {
- isa = PBXGroup;
- children = (
- E875D68417245D6C00009A6F /* JPSThumbnailAnnotation.app */,
- );
- name = Products;
- sourceTree = "";
- };
- E875D68617245D6C00009A6F /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- E8EF4F261724E5870051DB36 /* QuartzCore.framework */,
- E8EF4F241724E30C0051DB36 /* CoreLocation.framework */,
- E875D6AA172461FB00009A6F /* MapKit.framework */,
- E875D68717245D6C00009A6F /* UIKit.framework */,
- E875D68917245D6C00009A6F /* Foundation.framework */,
- E875D68B17245D6C00009A6F /* CoreGraphics.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- E875D68D17245D6C00009A6F /* Classes */ = {
- isa = PBXGroup;
- children = (
- E875D69617245D6C00009A6F /* AppDelegate.h */,
- E875D69717245D6C00009A6F /* AppDelegate.m */,
- E875D69F17245D6C00009A6F /* ViewController.h */,
- E875D6A017245D6C00009A6F /* ViewController.m */,
- E875D68E17245D6C00009A6F /* Supporting Files */,
- );
- name = Classes;
- sourceTree = SOURCE_ROOT;
- };
- E875D68E17245D6C00009A6F /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- E8EF4F2D1725081E0051DB36 /* ottawa.jpg */,
- E8EF4F2E1725081E0051DB36 /* apple.jpg */,
- E8EF4F2B1725027D0051DB36 /* empire.jpg */,
- E875D68F17245D6C00009A6F /* JPSThumbnailAnnotation-Info.plist */,
- E875D69017245D6C00009A6F /* InfoPlist.strings */,
- E875D69317245D6C00009A6F /* main.m */,
- E875D69517245D6C00009A6F /* JPSThumbnailAnnotation-Prefix.pch */,
- E875D69917245D6C00009A6F /* Default.png */,
- E875D69B17245D6C00009A6F /* Default@2x.png */,
- E875D69D17245D6C00009A6F /* Default-568h@2x.png */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- E8B7E7D61724664A00E93E96 /* JPSThumbnailAnnotation */ = {
- isa = PBXGroup;
- children = (
- 34C69ED41E2561D400149AF5 /* JPSThumbnail.m */,
- E8B7E7D71724669200E93E96 /* JPSThumbnailAnnotation.h */,
- E8B7E7D81724669200E93E96 /* JPSThumbnailAnnotation.m */,
- E8B7E7DA172466B600E93E96 /* JPSThumbnailAnnotationView.h */,
- E8B7E7DB172466B600E93E96 /* JPSThumbnailAnnotationView.m */,
- E8EF4F281724EE840051DB36 /* JPSThumbnail.h */,
- );
- name = JPSThumbnailAnnotation;
- path = ../JPSThumbnailAnnotation;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- E875D68317245D6C00009A6F /* JPSThumbnailAnnotation */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E875D6A717245D6C00009A6F /* Build configuration list for PBXNativeTarget "JPSThumbnailAnnotation" */;
- buildPhases = (
- E875D68017245D6C00009A6F /* Sources */,
- E875D68117245D6C00009A6F /* Frameworks */,
- E875D68217245D6C00009A6F /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = JPSThumbnailAnnotation;
- productName = JPSThumbnailAnnotation;
- productReference = E875D68417245D6C00009A6F /* JPSThumbnailAnnotation.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- E875D67C17245D6C00009A6F /* Project object */ = {
- isa = PBXProject;
- attributes = {
- CLASSPREFIX = JPS;
- LastUpgradeCheck = 0460;
- ORGANIZATIONNAME = "JP Simard";
- };
- buildConfigurationList = E875D67F17245D6C00009A6F /* Build configuration list for PBXProject "JPSThumbnailAnnotation" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- );
- mainGroup = E875D67B17245D6C00009A6F;
- productRefGroup = E875D68517245D6C00009A6F /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- E875D68317245D6C00009A6F /* JPSThumbnailAnnotation */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- E875D68217245D6C00009A6F /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E875D69217245D6C00009A6F /* InfoPlist.strings in Resources */,
- E875D69A17245D6C00009A6F /* Default.png in Resources */,
- E875D69C17245D6C00009A6F /* Default@2x.png in Resources */,
- E875D69E17245D6C00009A6F /* Default-568h@2x.png in Resources */,
- E8EF4F2C1725027D0051DB36 /* empire.jpg in Resources */,
- E8EF4F2F1725081E0051DB36 /* ottawa.jpg in Resources */,
- E8EF4F301725081E0051DB36 /* apple.jpg in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- E875D68017245D6C00009A6F /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 34C69ED51E2561D400149AF5 /* JPSThumbnail.m in Sources */,
- E875D69417245D6C00009A6F /* main.m in Sources */,
- E875D69817245D6C00009A6F /* AppDelegate.m in Sources */,
- E875D6A117245D6C00009A6F /* ViewController.m in Sources */,
- E8B7E7D91724669200E93E96 /* JPSThumbnailAnnotation.m in Sources */,
- E8B7E7DC172466B600E93E96 /* JPSThumbnailAnnotationView.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- E875D69017245D6C00009A6F /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- E875D69117245D6C00009A6F /* en */,
- );
- name = InfoPlist.strings;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- E875D6A517245D6C00009A6F /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 6.1;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- E875D6A617245D6C00009A6F /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 6.1;
- OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- E875D6A817245D6C00009A6F /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "JPSThumbnailAnnotation-Prefix.pch";
- INFOPLIST_FILE = "JPSThumbnailAnnotation-Info.plist";
- PRODUCT_NAME = JPSThumbnailAnnotation;
- TARGETED_DEVICE_FAMILY = "1,2";
- WRAPPER_EXTENSION = app;
- };
- name = Debug;
- };
- E875D6A917245D6C00009A6F /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "JPSThumbnailAnnotation-Prefix.pch";
- INFOPLIST_FILE = "JPSThumbnailAnnotation-Info.plist";
- PRODUCT_NAME = JPSThumbnailAnnotation;
- TARGETED_DEVICE_FAMILY = "1,2";
- WRAPPER_EXTENSION = app;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- E875D67F17245D6C00009A6F /* Build configuration list for PBXProject "JPSThumbnailAnnotation" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E875D6A517245D6C00009A6F /* Debug */,
- E875D6A617245D6C00009A6F /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- E875D6A717245D6C00009A6F /* Build configuration list for PBXNativeTarget "JPSThumbnailAnnotation" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E875D6A817245D6C00009A6F /* Debug */,
- E875D6A917245D6C00009A6F /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = E875D67C17245D6C00009A6F /* Project object */;
-}
+
+
+
+
+ archiveVersion
+ 1
+ classes
+
+ objectVersion
+ 46
+ objects
+
+ 03DBE47DEB8557C12E876BB4
+
+ explicitFileType
+ archive.ar
+ includeInIndex
+ 0
+ isa
+ PBXFileReference
+ path
+ libPods-JPSThumbnailAnnotation.a
+ sourceTree
+ BUILT_PRODUCTS_DIR
+
+ 4122CF67B3EF72ED935B4574
+
+ includeInIndex
+ 1
+ isa
+ PBXFileReference
+ lastKnownFileType
+ text.xcconfig
+ name
+ Pods-JPSThumbnailAnnotation.debug.xcconfig
+ path
+ Pods/Target Support Files/Pods-JPSThumbnailAnnotation/Pods-JPSThumbnailAnnotation.debug.xcconfig
+ sourceTree
+ <group>
+
+ 59B1CD4F4FB50CDB02EDD7CE
+
+ buildActionMask
+ 2147483647
+ files
+
+ inputPaths
+
+ isa
+ PBXShellScriptBuildPhase
+ name
+ [CP] Embed Pods Frameworks
+ outputPaths
+
+ runOnlyForDeploymentPostprocessing
+ 0
+ shellPath
+ /bin/sh
+ shellScript
+ "${SRCROOT}/Pods/Target Support Files/Pods-JPSThumbnailAnnotation/Pods-JPSThumbnailAnnotation-frameworks.sh"
+
+ showEnvVarsInLog
+ 0
+
+ 5B24D84FE82C69199D5F2114
+
+ fileRef
+ 03DBE47DEB8557C12E876BB4
+ isa
+ PBXBuildFile
+
+ 5B4369E8005C2055CE616A42
+
+ includeInIndex
+ 1
+ isa
+ PBXFileReference
+ lastKnownFileType
+ text.xcconfig
+ name
+ Pods-JPSThumbnailAnnotation.release.xcconfig
+ path
+ Pods/Target Support Files/Pods-JPSThumbnailAnnotation/Pods-JPSThumbnailAnnotation.release.xcconfig
+ sourceTree
+ <group>
+
+ 79B7C8623996E0BFADAA17B1
+
+ children
+
+ 4122CF67B3EF72ED935B4574
+ 5B4369E8005C2055CE616A42
+
+ isa
+ PBXGroup
+ name
+ Pods
+ sourceTree
+ <group>
+
+ B54217C5F1CFE39C6D701FD2
+
+ buildActionMask
+ 2147483647
+ files
+
+ inputPaths
+
+ isa
+ PBXShellScriptBuildPhase
+ name
+ [CP] Check Pods Manifest.lock
+ outputPaths
+
+ runOnlyForDeploymentPostprocessing
+ 0
+ shellPath
+ /bin/sh
+ shellScript
+ diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
+if [[ $? != 0 ]] ; then
+ cat << EOM
+error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
+EOM
+ exit 1
+fi
+
+ showEnvVarsInLog
+ 0
+
+ C9E7DA168F38CB76C97DE880
+
+ buildActionMask
+ 2147483647
+ files
+
+ inputPaths
+
+ isa
+ PBXShellScriptBuildPhase
+ name
+ [CP] Copy Pods Resources
+ outputPaths
+
+ runOnlyForDeploymentPostprocessing
+ 0
+ shellPath
+ /bin/sh
+ shellScript
+ "${SRCROOT}/Pods/Target Support Files/Pods-JPSThumbnailAnnotation/Pods-JPSThumbnailAnnotation-resources.sh"
+
+ showEnvVarsInLog
+ 0
+
+ E875D67B17245D6C00009A6F
+
+ children
+
+ E875D68D17245D6C00009A6F
+ E875D68617245D6C00009A6F
+ E875D68517245D6C00009A6F
+ 79B7C8623996E0BFADAA17B1
+
+ isa
+ PBXGroup
+ sourceTree
+ <group>
+
+ E875D67C17245D6C00009A6F
+
+ attributes
+
+ CLASSPREFIX
+ JPS
+ LastUpgradeCheck
+ 0820
+ ORGANIZATIONNAME
+ JP Simard
+
+ buildConfigurationList
+ E875D67F17245D6C00009A6F
+ compatibilityVersion
+ Xcode 3.2
+ developmentRegion
+ English
+ hasScannedForEncodings
+ 0
+ isa
+ PBXProject
+ knownRegions
+
+ en
+
+ mainGroup
+ E875D67B17245D6C00009A6F
+ productRefGroup
+ E875D68517245D6C00009A6F
+ projectDirPath
+
+ projectReferences
+
+ projectRoot
+
+ targets
+
+ E875D68317245D6C00009A6F
+
+
+ E875D67F17245D6C00009A6F
+
+ buildConfigurations
+
+ E875D6A517245D6C00009A6F
+ E875D6A617245D6C00009A6F
+
+ defaultConfigurationIsVisible
+ 0
+ defaultConfigurationName
+ Release
+ isa
+ XCConfigurationList
+
+ E875D68017245D6C00009A6F
+
+ buildActionMask
+ 2147483647
+ files
+
+ E875D69417245D6C00009A6F
+ E875D69817245D6C00009A6F
+ E875D6A117245D6C00009A6F
+
+ isa
+ PBXSourcesBuildPhase
+ runOnlyForDeploymentPostprocessing
+ 0
+
+ E875D68117245D6C00009A6F
+
+ buildActionMask
+ 2147483647
+ files
+
+ E875D68A17245D6C00009A6F
+ 5B24D84FE82C69199D5F2114
+
+ isa
+ PBXFrameworksBuildPhase
+ runOnlyForDeploymentPostprocessing
+ 0
+
+ E875D68217245D6C00009A6F
+
+ buildActionMask
+ 2147483647
+ files
+
+ E875D69217245D6C00009A6F
+ E875D69A17245D6C00009A6F
+ E875D69C17245D6C00009A6F
+ E875D69E17245D6C00009A6F
+ E8EF4F2C1725027D0051DB36
+ E8EF4F2F1725081E0051DB36
+ E8EF4F301725081E0051DB36
+
+ isa
+ PBXResourcesBuildPhase
+ runOnlyForDeploymentPostprocessing
+ 0
+
+ E875D68317245D6C00009A6F
+
+ buildConfigurationList
+ E875D6A717245D6C00009A6F
+ buildPhases
+
+ B54217C5F1CFE39C6D701FD2
+ E875D68017245D6C00009A6F
+ E875D68117245D6C00009A6F
+ E875D68217245D6C00009A6F
+ 59B1CD4F4FB50CDB02EDD7CE
+ C9E7DA168F38CB76C97DE880
+
+ buildRules
+
+ dependencies
+
+ isa
+ PBXNativeTarget
+ name
+ JPSThumbnailAnnotation
+ productName
+ JPSThumbnailAnnotation
+ productReference
+ E875D68417245D6C00009A6F
+ productType
+ com.apple.product-type.application
+
+ E875D68417245D6C00009A6F
+
+ explicitFileType
+ wrapper.application
+ includeInIndex
+ 0
+ isa
+ PBXFileReference
+ path
+ JPSThumbnailAnnotation.app
+ sourceTree
+ BUILT_PRODUCTS_DIR
+
+ E875D68517245D6C00009A6F
+
+ children
+
+ E875D68417245D6C00009A6F
+
+ isa
+ PBXGroup
+ name
+ Products
+ sourceTree
+ <group>
+
+ E875D68617245D6C00009A6F
+
+ children
+
+ E8EF4F261724E5870051DB36
+ E8EF4F241724E30C0051DB36
+ E875D6AA172461FB00009A6F
+ E875D68717245D6C00009A6F
+ E875D68917245D6C00009A6F
+ E875D68B17245D6C00009A6F
+ 03DBE47DEB8557C12E876BB4
+
+ isa
+ PBXGroup
+ name
+ Frameworks
+ sourceTree
+ <group>
+
+ E875D68717245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ UIKit.framework
+ path
+ System/Library/Frameworks/UIKit.framework
+ sourceTree
+ SDKROOT
+
+ E875D68917245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ Foundation.framework
+ path
+ System/Library/Frameworks/Foundation.framework
+ sourceTree
+ SDKROOT
+
+ E875D68A17245D6C00009A6F
+
+ fileRef
+ E875D68917245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D68B17245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ CoreGraphics.framework
+ path
+ System/Library/Frameworks/CoreGraphics.framework
+ sourceTree
+ SDKROOT
+
+ E875D68D17245D6C00009A6F
+
+ children
+
+ E875D69617245D6C00009A6F
+ E875D69717245D6C00009A6F
+ E875D69F17245D6C00009A6F
+ E875D6A017245D6C00009A6F
+ E875D68E17245D6C00009A6F
+
+ isa
+ PBXGroup
+ name
+ Classes
+ sourceTree
+ SOURCE_ROOT
+
+ E875D68E17245D6C00009A6F
+
+ children
+
+ E8EF4F2D1725081E0051DB36
+ E8EF4F2E1725081E0051DB36
+ E8EF4F2B1725027D0051DB36
+ E875D68F17245D6C00009A6F
+ E875D69017245D6C00009A6F
+ E875D69317245D6C00009A6F
+ E875D69517245D6C00009A6F
+ E875D69917245D6C00009A6F
+ E875D69B17245D6C00009A6F
+ E875D69D17245D6C00009A6F
+
+ isa
+ PBXGroup
+ name
+ Supporting Files
+ sourceTree
+ <group>
+
+ E875D68F17245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ text.plist.xml
+ path
+ JPSThumbnailAnnotation-Info.plist
+ sourceTree
+ <group>
+
+ E875D69017245D6C00009A6F
+
+ children
+
+ E875D69117245D6C00009A6F
+
+ isa
+ PBXVariantGroup
+ name
+ InfoPlist.strings
+ sourceTree
+ <group>
+
+ E875D69117245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ text.plist.strings
+ name
+ en
+ path
+ en.lproj/InfoPlist.strings
+ sourceTree
+ <group>
+
+ E875D69217245D6C00009A6F
+
+ fileRef
+ E875D69017245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69317245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.objc
+ path
+ main.m
+ sourceTree
+ <group>
+
+ E875D69417245D6C00009A6F
+
+ fileRef
+ E875D69317245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69517245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.h
+ path
+ JPSThumbnailAnnotation-Prefix.pch
+ sourceTree
+ <group>
+
+ E875D69617245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.h
+ path
+ AppDelegate.h
+ sourceTree
+ <group>
+
+ E875D69717245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.objc
+ path
+ AppDelegate.m
+ sourceTree
+ <group>
+
+ E875D69817245D6C00009A6F
+
+ fileRef
+ E875D69717245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69917245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.png
+ path
+ Default.png
+ sourceTree
+ <group>
+
+ E875D69A17245D6C00009A6F
+
+ fileRef
+ E875D69917245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69B17245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.png
+ path
+ Default@2x.png
+ sourceTree
+ <group>
+
+ E875D69C17245D6C00009A6F
+
+ fileRef
+ E875D69B17245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69D17245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.png
+ path
+ Default-568h@2x.png
+ sourceTree
+ <group>
+
+ E875D69E17245D6C00009A6F
+
+ fileRef
+ E875D69D17245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D69F17245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.h
+ path
+ ViewController.h
+ sourceTree
+ <group>
+
+ E875D6A017245D6C00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ sourcecode.c.objc
+ path
+ ViewController.m
+ sourceTree
+ <group>
+
+ E875D6A117245D6C00009A6F
+
+ fileRef
+ E875D6A017245D6C00009A6F
+ isa
+ PBXBuildFile
+
+ E875D6A517245D6C00009A6F
+
+ buildSettings
+
+ ALWAYS_SEARCH_USER_PATHS
+ NO
+ CLANG_CXX_LANGUAGE_STANDARD
+ gnu++0x
+ CLANG_CXX_LIBRARY
+ libc++
+ CLANG_ENABLE_OBJC_ARC
+ YES
+ CLANG_WARN_BOOL_CONVERSION
+ YES
+ CLANG_WARN_CONSTANT_CONVERSION
+ YES
+ CLANG_WARN_EMPTY_BODY
+ YES
+ CLANG_WARN_ENUM_CONVERSION
+ YES
+ CLANG_WARN_INFINITE_RECURSION
+ YES
+ CLANG_WARN_INT_CONVERSION
+ YES
+ CLANG_WARN_SUSPICIOUS_MOVE
+ YES
+ CLANG_WARN_UNREACHABLE_CODE
+ YES
+ CLANG_WARN__DUPLICATE_METHOD_MATCH
+ YES
+ CODE_SIGN_IDENTITY[sdk=iphoneos*]
+ iPhone Developer
+ COPY_PHASE_STRIP
+ NO
+ ENABLE_STRICT_OBJC_MSGSEND
+ YES
+ ENABLE_TESTABILITY
+ YES
+ GCC_C_LANGUAGE_STANDARD
+ gnu99
+ GCC_DYNAMIC_NO_PIC
+ NO
+ GCC_NO_COMMON_BLOCKS
+ YES
+ GCC_OPTIMIZATION_LEVEL
+ 0
+ GCC_PREPROCESSOR_DEFINITIONS
+
+ DEBUG=1
+ $(inherited)
+
+ GCC_SYMBOLS_PRIVATE_EXTERN
+ NO
+ GCC_WARN_64_TO_32_BIT_CONVERSION
+ YES
+ GCC_WARN_ABOUT_RETURN_TYPE
+ YES
+ GCC_WARN_UNDECLARED_SELECTOR
+ YES
+ GCC_WARN_UNINITIALIZED_AUTOS
+ YES
+ GCC_WARN_UNUSED_FUNCTION
+ YES
+ GCC_WARN_UNUSED_VARIABLE
+ YES
+ IPHONEOS_DEPLOYMENT_TARGET
+ 8.0
+ ONLY_ACTIVE_ARCH
+ YES
+ SDKROOT
+ iphoneos
+
+ isa
+ XCBuildConfiguration
+ name
+ Debug
+
+ E875D6A617245D6C00009A6F
+
+ buildSettings
+
+ ALWAYS_SEARCH_USER_PATHS
+ NO
+ CLANG_CXX_LANGUAGE_STANDARD
+ gnu++0x
+ CLANG_CXX_LIBRARY
+ libc++
+ CLANG_ENABLE_OBJC_ARC
+ YES
+ CLANG_WARN_BOOL_CONVERSION
+ YES
+ CLANG_WARN_CONSTANT_CONVERSION
+ YES
+ CLANG_WARN_EMPTY_BODY
+ YES
+ CLANG_WARN_ENUM_CONVERSION
+ YES
+ CLANG_WARN_INFINITE_RECURSION
+ YES
+ CLANG_WARN_INT_CONVERSION
+ YES
+ CLANG_WARN_SUSPICIOUS_MOVE
+ YES
+ CLANG_WARN_UNREACHABLE_CODE
+ YES
+ CLANG_WARN__DUPLICATE_METHOD_MATCH
+ YES
+ CODE_SIGN_IDENTITY[sdk=iphoneos*]
+ iPhone Developer
+ COPY_PHASE_STRIP
+ YES
+ ENABLE_STRICT_OBJC_MSGSEND
+ YES
+ GCC_C_LANGUAGE_STANDARD
+ gnu99
+ GCC_NO_COMMON_BLOCKS
+ YES
+ GCC_WARN_64_TO_32_BIT_CONVERSION
+ YES
+ GCC_WARN_ABOUT_RETURN_TYPE
+ YES
+ GCC_WARN_UNDECLARED_SELECTOR
+ YES
+ GCC_WARN_UNINITIALIZED_AUTOS
+ YES
+ GCC_WARN_UNUSED_FUNCTION
+ YES
+ GCC_WARN_UNUSED_VARIABLE
+ YES
+ IPHONEOS_DEPLOYMENT_TARGET
+ 8.0
+ OTHER_CFLAGS
+ -DNS_BLOCK_ASSERTIONS=1
+ SDKROOT
+ iphoneos
+ VALIDATE_PRODUCT
+ YES
+
+ isa
+ XCBuildConfiguration
+ name
+ Release
+
+ E875D6A717245D6C00009A6F
+
+ buildConfigurations
+
+ E875D6A817245D6C00009A6F
+ E875D6A917245D6C00009A6F
+
+ defaultConfigurationIsVisible
+ 0
+ defaultConfigurationName
+ Release
+ isa
+ XCConfigurationList
+
+ E875D6A817245D6C00009A6F
+
+ baseConfigurationReference
+ 4122CF67B3EF72ED935B4574
+ buildSettings
+
+ CLANG_ENABLE_MODULES
+ YES
+ GCC_PRECOMPILE_PREFIX_HEADER
+ YES
+ GCC_PREFIX_HEADER
+ JPSThumbnailAnnotation-Prefix.pch
+ INFOPLIST_FILE
+ JPSThumbnailAnnotation-Info.plist
+ PRODUCT_BUNDLE_IDENTIFIER
+ com.yourcompany.${PRODUCT_NAME:rfc1034identifier}
+ PRODUCT_NAME
+ JPSThumbnailAnnotation
+ TARGETED_DEVICE_FAMILY
+ 1,2
+ WRAPPER_EXTENSION
+ app
+
+ isa
+ XCBuildConfiguration
+ name
+ Debug
+
+ E875D6A917245D6C00009A6F
+
+ baseConfigurationReference
+ 5B4369E8005C2055CE616A42
+ buildSettings
+
+ CLANG_ENABLE_MODULES
+ YES
+ GCC_PRECOMPILE_PREFIX_HEADER
+ YES
+ GCC_PREFIX_HEADER
+ JPSThumbnailAnnotation-Prefix.pch
+ INFOPLIST_FILE
+ JPSThumbnailAnnotation-Info.plist
+ PRODUCT_BUNDLE_IDENTIFIER
+ com.yourcompany.${PRODUCT_NAME:rfc1034identifier}
+ PRODUCT_NAME
+ JPSThumbnailAnnotation
+ TARGETED_DEVICE_FAMILY
+ 1,2
+ WRAPPER_EXTENSION
+ app
+
+ isa
+ XCBuildConfiguration
+ name
+ Release
+
+ E875D6AA172461FB00009A6F
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ MapKit.framework
+ path
+ System/Library/Frameworks/MapKit.framework
+ sourceTree
+ SDKROOT
+
+ E8EF4F241724E30C0051DB36
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ CoreLocation.framework
+ path
+ System/Library/Frameworks/CoreLocation.framework
+ sourceTree
+ SDKROOT
+
+ E8EF4F261724E5870051DB36
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ wrapper.framework
+ name
+ QuartzCore.framework
+ path
+ System/Library/Frameworks/QuartzCore.framework
+ sourceTree
+ SDKROOT
+
+ E8EF4F2B1725027D0051DB36
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.jpeg
+ path
+ empire.jpg
+ sourceTree
+ <group>
+
+ E8EF4F2C1725027D0051DB36
+
+ fileRef
+ E8EF4F2B1725027D0051DB36
+ isa
+ PBXBuildFile
+
+ E8EF4F2D1725081E0051DB36
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.jpeg
+ path
+ ottawa.jpg
+ sourceTree
+ <group>
+
+ E8EF4F2E1725081E0051DB36
+
+ isa
+ PBXFileReference
+ lastKnownFileType
+ image.jpeg
+ path
+ apple.jpg
+ sourceTree
+ <group>
+
+ E8EF4F2F1725081E0051DB36
+
+ fileRef
+ E8EF4F2D1725081E0051DB36
+ isa
+ PBXBuildFile
+
+ E8EF4F301725081E0051DB36
+
+ fileRef
+ E8EF4F2E1725081E0051DB36
+ isa
+ PBXBuildFile
+
+
+ rootObject
+ E875D67C17245D6C00009A6F
+
+
diff --git a/Demo/Podfile b/Demo/Podfile
new file mode 100644
index 0000000..e587b69
--- /dev/null
+++ b/Demo/Podfile
@@ -0,0 +1,11 @@
+# Uncomment this line to define a global platform for your project
+platform :ios, '8.0'
+
+target 'JPSThumbnailAnnotation' do
+ # Uncomment this line if you're using Swift or would like to use dynamic frameworks
+ # use_frameworks!
+
+ # Pods for JPSThumbnailAnnotation
+ pod 'JPSThumbnailAnnotation', :path => '../'
+
+end
\ No newline at end of file
diff --git a/Demo/ViewController.m b/Demo/ViewController.m
index f422c3f..ea29775 100644
--- a/Demo/ViewController.m
+++ b/Demo/ViewController.m
@@ -54,9 +54,21 @@ - (NSArray *)annotations {
ottawa.coordinate = CLLocationCoordinate2DMake(45.43f, -75.70f);
ottawa.disclosureBlock = ^{ NSLog(@"selected Ottawa"); };
+ // Web Image Example
+ // Seattle Space Needle Building
+ JPSThumbnail *spaceNeedle = [[JPSThumbnail alloc] init];
+ NSString *stringUrl = @"https://upload.wikimedia.org/wikipedia/commons/2/23/Space_Needle_2011-07-04.jpg"; // Non-squared big image
+ spaceNeedle.imageUrl = [NSURL URLWithString:stringUrl]; // Set web image from url
+ spaceNeedle.contentMode = UIViewContentModeScaleAspectFit; // Set image Aspect to see all image
+ spaceNeedle.title = @"Space Needle";
+ spaceNeedle.subtitle = @"Seattle Landmark";
+ spaceNeedle.coordinate = CLLocationCoordinate2DMake(47.6205f, -122.3493f);
+ spaceNeedle.disclosureBlock = ^{ NSLog(@"selected Space Needle"); };
+
return @[[JPSThumbnailAnnotation annotationWithThumbnail:empire],
[JPSThumbnailAnnotation annotationWithThumbnail:apple],
- [JPSThumbnailAnnotation annotationWithThumbnail:ottawa]];
+ [JPSThumbnailAnnotation annotationWithThumbnail:ottawa],
+ [JPSThumbnailAnnotation annotationWithThumbnail:spaceNeedle]];
}
#pragma mark - MKMapViewDelegate
diff --git a/JPSThumbnailAnnotation.podspec b/JPSThumbnailAnnotation.podspec
index 97ff13d..2693027 100644
--- a/JPSThumbnailAnnotation.podspec
+++ b/JPSThumbnailAnnotation.podspec
@@ -10,7 +10,9 @@ Pod::Spec.new do |s|
s.description = 'JPSThumbnailAnnotation is a simple mapkit annotation view for displaying images with clean design and animations.'
+ s.ios.deployment_target = '7.0'
s.source_files = 'JPSThumbnailAnnotation/*.{h,m}'
s.frameworks = 'QuartzCore', 'MapKit', 'CoreLocation'
s.requires_arc = true
+ s.dependency 'SDWebImage'
end
diff --git a/JPSThumbnailAnnotation/JPSThumbnail.h b/JPSThumbnailAnnotation/JPSThumbnail.h
index e04458d..f97480c 100644
--- a/JPSThumbnailAnnotation/JPSThumbnail.h
+++ b/JPSThumbnailAnnotation/JPSThumbnail.h
@@ -14,6 +14,7 @@ typedef void (^ActionBlock)();
@interface JPSThumbnail : NSObject
@property (nonatomic, strong) UIImage *image;
+@property (nonatomic, strong) NSURL *imageUrl;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
diff --git a/JPSThumbnailAnnotation/JPSThumbnailAnnotationView.m b/JPSThumbnailAnnotation/JPSThumbnailAnnotationView.m
index a288c40..1dd5828 100755
--- a/JPSThumbnailAnnotation/JPSThumbnailAnnotationView.m
+++ b/JPSThumbnailAnnotation/JPSThumbnailAnnotationView.m
@@ -9,6 +9,7 @@
@import QuartzCore;
#import "JPSThumbnailAnnotationView.h"
#import "JPSThumbnail.h"
+#import
NSString * const kJPSThumbnailAnnotationViewReuseID = @"JPSThumbnailAnnotationView";
@@ -138,7 +139,19 @@ - (void)updateWithThumbnail:(JPSThumbnail *)thumbnail {
self.coordinate = thumbnail.coordinate;
self.titleLabel.text = thumbnail.title;
self.subtitleLabel.text = thumbnail.subtitle;
- self.imageView.image = thumbnail.image;
+ if(thumbnail.imageUrl){
+ [self.imageView setIndicatorStyle:UIActivityIndicatorViewStyleGray];
+ [self.imageView setShowActivityIndicatorView:YES];
+ [self.imageView sd_setImageWithURL:thumbnail.imageUrl
+ placeholderImage:thumbnail.image
+ options:SDWebImageAllowInvalidSSLCertificates
+ completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
+ [self.imageView setShowActivityIndicatorView:NO];
+ }];
+ }
+ else{
+ self.imageView.image = thumbnail.image;
+ }
self.disclosureBlock = thumbnail.disclosureBlock;
self.imageView.contentMode = thumbnail.contentMode;
}