diff --git a/PPSwiftGifsExample/PPSwiftGifs/Info.plist b/PPSwiftGifsExample/PPSwiftGifs/Info.plist index d4b0263..d3de8ee 100644 --- a/PPSwiftGifsExample/PPSwiftGifs/Info.plist +++ b/PPSwiftGifsExample/PPSwiftGifs/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - Prokop.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/project.pbxproj b/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/project.pbxproj index 523bf3b..9899d63 100644 --- a/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/project.pbxproj +++ b/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/project.pbxproj @@ -303,7 +303,7 @@ 0D748ECF1A0E17AB00B280FF /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 1220; ORGANIZATIONNAME = "Peter Prokop"; TargetAttributes = { 0D748ED61A0E17AB00B280FF = { @@ -323,10 +323,9 @@ }; buildConfigurationList = 0D748ED21A0E17AB00B280FF /* Build configuration list for PBXProject "PPSwiftGifsExample" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -453,24 +452,38 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = 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", @@ -496,17 +509,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -514,6 +539,7 @@ ENABLE_NS_ASSERTIONS = NO; 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_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -523,6 +549,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; @@ -534,8 +561,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = PPSwiftGifsExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "SwiftGifs.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PPSwiftGifsExample/PPSwiftGifsExample-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -548,8 +576,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = PPSwiftGifsExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "SwiftGifs.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PPSwiftGifsExample/PPSwiftGifsExample-Bridging-Header.h"; }; @@ -569,6 +598,7 @@ ); INFOPLIST_FILE = PPSwiftGifsExampleTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "SwiftGifs.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PPSwiftGifsExample.app/PPSwiftGifsExample"; }; @@ -584,6 +614,7 @@ ); INFOPLIST_FILE = PPSwiftGifsExampleTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "SwiftGifs.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PPSwiftGifsExample.app/PPSwiftGifsExample"; }; @@ -658,8 +689,9 @@ "$(inherited)", ); INFOPLIST_FILE = PPSwiftGifsTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "Prokop.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -675,8 +707,9 @@ ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = PPSwiftGifsTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "Prokop.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; diff --git a/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/xcshareddata/xcschemes/PPSwiftGifs.xcscheme b/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/xcshareddata/xcschemes/PPSwiftGifs.xcscheme index b88dab1..b2c6156 100644 --- a/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/xcshareddata/xcschemes/PPSwiftGifs.xcscheme +++ b/PPSwiftGifsExample/PPSwiftGifsExample.xcodeproj/xcshareddata/xcschemes/PPSwiftGifs.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -53,24 +62,16 @@ - - - - - - CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - SwiftGifs.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/PPSwiftGifsExample/PPSwiftGifsExampleTests/Info.plist b/PPSwiftGifsExample/PPSwiftGifsExampleTests/Info.plist index cbd92b2..ba72822 100644 --- a/PPSwiftGifsExample/PPSwiftGifsExampleTests/Info.plist +++ b/PPSwiftGifsExample/PPSwiftGifsExampleTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - SwiftGifs.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/PPSwiftGifsExample/PPSwiftGifsTests/Info.plist b/PPSwiftGifsExample/PPSwiftGifsTests/Info.plist index 41f0c76..ba72822 100644 --- a/PPSwiftGifsExample/PPSwiftGifsTests/Info.plist +++ b/PPSwiftGifsExample/PPSwiftGifsTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - Prokop.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/README.md b/README.md index 2f325b4..969f3ee 100644 --- a/README.md +++ b/README.md @@ -24,28 +24,22 @@ PPSwiftGifs provides a convenient way to show animated GIF images as a part of i ## Requirements -Swift 2.0: -Use [swift-2.0 branch](https://github.com/peterprokop/PPSwiftGifs/tree/swift-2.0) -- iOS 7.0+ (iOS 8.0+ if you use Carthage) -- Xcode 7.0+ - -Swift 1.2: -- iOS 7.0+ (iOS 8.0+ if you use Carthage) -- Xcode 6.3+ - -Swift 1.1: -Use [swift-1.1 branch](https://github.com/peterprokop/PPSwiftGifs/tree/swift-1.1) -- iOS 7.0+ -- Xcode 6.1-6.2 +Swift 5. For older Swift versions please check previous releases. ## Usage -``` -imageView.image = PPSwiftGifs.animatedImageWithGIFNamed("gif_name") +```swift +imageView.image = PPSwiftGifs.animatedImageWithGIF(named: "gif_name") ``` (File named "gif_name.gif" should be present in your project and copied as a bundle resource. -As far as I know, you can't add GIFs to asset catalogs.) +Currently you can't add GIFs to asset catalogs.) + +Alternatively, you can construct animated image from data: +```swift +imageView.image = PPSwiftGifs.animatedImageWithGIF(data: data) +``` + ## Author(s)