Skip to content

Commit

Permalink
drop support for iOS 8.
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangao0086 committed May 14, 2020
1 parent 661d414 commit ab44e92
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 44 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,9 @@
# Change Log

## [4.3.0](https://github.com/zhangao0086/DKImagePickerController/tree/4.3.0) (2020-04-27)

- Drop support for iOS 8

## [4.2.1](https://github.com/zhangao0086/DKImagePickerController/tree/4.2.1) (2019-11-08)

- Fixed #632
Expand Down
4 changes: 2 additions & 2 deletions DKImagePickerController.podspec
@@ -1,11 +1,11 @@
Pod::Spec.new do |s|
s.name = "DKImagePickerController"
s.version = "4.2.2"
s.version = "4.3.0"
s.summary = "DKImagePickerController is a highly customizable, pure-Swift library."
s.homepage = "https://github.com/zhangao0086/DKImagePickerController"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "Bannings" => "zhangao0086@gmail.com" }
s.platform = :ios, "8.0"
s.platform = :ios, "9.0"
s.source = { :git => "https://github.com/zhangao0086/DKImagePickerController.git",
:tag => s.version.to_s }

Expand Down
26 changes: 17 additions & 9 deletions Example/DKImagePickerControllerDemo.xcodeproj/project.pbxproj
Expand Up @@ -301,11 +301,12 @@
TargetAttributes = {
9C35CBFE19DBB00700557269 = {
CreatedOnToolsVersion = 6.0;
DevelopmentTeam = 85M74MVK78;
DevelopmentTeam = 7MLVDVH5PU;
LastSwiftMigration = 0800;
};
9CF72B101B8F073400238B9A = {
CreatedOnToolsVersion = 6.4;
DevelopmentTeam = 7MLVDVH5PU;
LastSwiftMigration = 1100;
TestTargetID = 9C35CBFE19DBB00700557269;
};
Expand Down Expand Up @@ -544,7 +545,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -593,7 +594,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
Expand All @@ -611,9 +612,9 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 85M74MVK78;
DEVELOPMENT_TEAM = 7MLVDVH5PU;
INFOPLIST_FILE = DKImagePickerControllerDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.shaozi.production;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -633,9 +634,9 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 85M74MVK78;
DEVELOPMENT_TEAM = 7MLVDVH5PU;
INFOPLIST_FILE = DKImagePickerControllerDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.shaozi.production;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -651,15 +652,17 @@
baseConfigurationReference = F840B5B530FE126DAB8B4EE3 /* Pods-DKImagePickerControllerDemoTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 7MLVDVH5PU;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = DKImagePickerControllerDemoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.4;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.zhangao.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -673,15 +676,20 @@
baseConfigurationReference = 0BCDF3E35114F29DBA9349D9 /* Pods-DKImagePickerControllerDemoTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 7MLVDVH5PU;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = DKImagePickerControllerDemoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.4;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.zhangao.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DKImagePickerControllerDemo.app/DKImagePickerControllerDemo";
};
Expand Down
2 changes: 1 addition & 1 deletion Example/Podfile
@@ -1,4 +1,4 @@
platform :ios, '8.0'
platform :ios, '9.0'
use_frameworks!
use_modular_headers!

Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -23,7 +23,7 @@ DKImagePickerController
* Dark Mode Support

## Requirements
* iOS 8.0+
* iOS 9.0+ (Drop support for iOS 8 in 4.3.0 or above)
* ARC
* Swift 4 & 5

Expand Down
37 changes: 6 additions & 31 deletions Sources/DKImagePickerController/DKImagePickerController.swift
Expand Up @@ -8,7 +8,6 @@

import UIKit
import Photos
import AssetsLibrary

/**
- AllPhotos: Get all photos assets in the assets group.
Expand Down Expand Up @@ -483,14 +482,10 @@ open class DKImagePickerController: DKUINavigationController, DKImageBaseManager
if let metadata = metadata {
let imageData = image.jpegData(compressionQuality: 1)!

if #available(iOS 9.0, *) {
if let imageDataWithMetadata = self.writeMetadata(metadata, into: imageData) {
self.saveImageDataToAlbumForiOS9(imageDataWithMetadata, completeBlock)
} else {
self.saveImageDataToAlbumForiOS9(imageData, completeBlock)
}
if let imageDataWithMetadata = self.writeMetadata(metadata, into: imageData) {
self.saveImageDataToAlbumForiOS9(imageDataWithMetadata, completeBlock)
} else {
self.saveImageDataToAlbumForiOS8(imageData, metadata, completeBlock)
self.saveImageDataToAlbumForiOS9(imageData, completeBlock)
}
} else {
self.saveImageToAlbum(image, completeBlock)
Expand All @@ -514,32 +509,13 @@ open class DKImagePickerController: DKUINavigationController, DKImageBaseManager
}
}

@objc open func saveImageDataToAlbumForiOS8(_ imageData: Data,
_ metadata: Dictionary<AnyHashable, Any>?,
_ completeBlock: @escaping ((_ asset: DKAsset) -> Void)) {
let library = ALAssetsLibrary()
library.writeImageData(toSavedPhotosAlbum: imageData, metadata: metadata, completionBlock: { (newURL, error) in
if let _ = error {
completeBlock(DKAsset(image: UIImage(data: imageData)!))
} else {
if let newAsset = PHAsset.fetchAssets(withALAssetURLs: [newURL!], options: nil).firstObject {
completeBlock(DKAsset(originalAsset: newAsset))
}
}
})
}

@objc open func saveImageDataToAlbumForiOS9(_ imageDataWithMetadata: Data, _ completeBlock: @escaping ((_ asset: DKAsset) -> Void)) {
var newImageIdentifier: String!

PHPhotoLibrary.shared().performChanges({
if #available(iOS 9.0, *) {
let assetRequest = PHAssetCreationRequest.forAsset()
assetRequest.addResource(with: .photo, data: imageDataWithMetadata, options: nil)
newImageIdentifier = assetRequest.placeholderForCreatedAsset!.localIdentifier
} else {
// Fallback on earlier versions
}
let assetRequest = PHAssetCreationRequest.forAsset()
assetRequest.addResource(with: .photo, data: imageDataWithMetadata, options: nil)
newImageIdentifier = assetRequest.placeholderForCreatedAsset!.localIdentifier
}) { (success, error) in
DispatchQueue.main.async(execute: {
if success, let newAsset = PHAsset.fetchAssets(withLocalIdentifiers: [newImageIdentifier], options: nil).firstObject {
Expand All @@ -548,7 +524,6 @@ open class DKImagePickerController: DKUINavigationController, DKImageBaseManager
completeBlock(DKAsset(image: UIImage(data: imageDataWithMetadata)!))
}
})

}
}

Expand Down

0 comments on commit ab44e92

Please sign in to comment.