Skip to content

Commit

Permalink
Support ios10 and xcode8.
Browse files Browse the repository at this point in the history
  • Loading branch information
chiya.wjw committed Oct 27, 2016
1 parent 84db766 commit 5940cf9
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 13 deletions.
12 changes: 11 additions & 1 deletion AImage.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,13 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 0720;
LastUpgradeCheck = 0800;
ORGANIZATIONNAME = JW;
TargetAttributes = {
280E30151C8AD8CF002ACA3D = {
CreatedOnToolsVersion = 7.2.1;
DevelopmentTeam = 7EGABX8KQS;
LastSwiftMigration = 0800;
};
};
};
Expand Down Expand Up @@ -156,8 +157,10 @@
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_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
Expand Down Expand Up @@ -204,8 +207,10 @@
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_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
Expand All @@ -225,6 +230,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
Expand All @@ -236,6 +242,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
Expand All @@ -247,13 +254,15 @@
PRODUCT_NAME = AImage;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 2.3;
};
name = Debug;
};
280E30201C8AD8CF002ACA3D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
Expand All @@ -264,6 +273,7 @@
PRODUCT_BUNDLE_IDENTIFIER = me.wjw.AniImage;
PRODUCT_NAME = AImage;
SKIP_INSTALL = YES;
SWIFT_VERSION = 2.3;
};
name = Release;
};
Expand Down
2 changes: 1 addition & 1 deletion AImage.xcodeproj/xcshareddata/xcschemes/AImage.xcscheme
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0720"
LastUpgradeVersion = "0800"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
11 changes: 5 additions & 6 deletions AImage/AImage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ import UIKit
let DEFAULT_CLARITY:Float = 0.8
let FLOAT_EPS:Float = 1E-6
let CHECK_INTERVAL = [60,30,20,15,12,10,6,5,4,3,2,1]
let GIF_ID = "GIF"
let APNG_ID = "PNG"

let _imageStorageKey = malloc(8)
public extension UIImage
Expand Down Expand Up @@ -58,14 +56,15 @@ public extension UIImage
}

var frameProperties = [CFDictionary]()
if(CFDictionaryContainsKey(imageProperties[1],unsafeAddressOf("{GIF}"))){

if(CFDictionaryContainsKey(imageProperties[1],unsafeAddressOf(kCGImagePropertyGIFDictionary))){
frameProperties = imageProperties.map(){
unsafeBitCast(CFDictionaryGetValue($0,unsafeAddressOf("{GIF}")),CFDictionary.self)
unsafeBitCast(CFDictionaryGetValue($0,unsafeAddressOf(kCGImagePropertyGIFDictionary)),CFDictionary.self)
}//gif
}
else if(CFDictionaryContainsKey(imageProperties[1],unsafeAddressOf("{PNG}"))){
else if(CFDictionaryContainsKey(imageProperties[1],unsafeAddressOf(kCGImagePropertyPNGDictionary))){
frameProperties = imageProperties.map(){
unsafeBitCast(CFDictionaryGetValue($0,unsafeAddressOf("{PNG}")),CFDictionary.self)
unsafeBitCast(CFDictionaryGetValue($0,unsafeAddressOf(kCGImagePropertyPNGDictionary)),CFDictionary.self)
}//apng
}
else{
Expand Down
5 changes: 3 additions & 2 deletions AImage/AImageView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,17 @@ public extension UIImageView{
func prepareCache(){
self.m_!.cache = NSCache()
for i in 0..<self.GetAImage().GetDisplayOrder().count {
let image = UIImage(CGImage: CGImageSourceCreateImageAtIndex(self.GetAImage().GetImageSource(),self.GetAImage().GetDisplayOrder()[i],nil)!)
let image = UIImage(CGImage: CGImageSourceCreateImageAtIndex(self.GetAImage().GetImageSource(),self.GetAImage().GetDisplayOrder()[i],[(kCGImageSourceShouldCacheImmediately as String): kCFBooleanTrue])!)
self.GetImageCache().setObject(image,forKey:i)
}
}

//bound to 'displayLink'
func updateFrameWithoutCache(){
if(self.GetPlayJudge() == true){
self.image = self.GetCurrentImage()
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0)){
self.m_!.currentImage = UIImage(CGImage: CGImageSourceCreateImageAtIndex(self.GetAImage().GetImageSource(),self.GetAImage().GetDisplayOrder()[self.GetDisplayOrderIndex()],[(kCGImageSourceShouldCacheImmediately as String): true])!)
self.m_!.currentImage = UIImage(CGImage: CGImageSourceCreateImageAtIndex(self.GetAImage().GetImageSource(),self.GetAImage().GetDisplayOrder()[self.GetDisplayOrderIndex()],[(kCGImageSourceShouldCacheImmediately as String): kCFBooleanFalse])!)
self.m_!.displayOrderIndex = (self.GetDisplayOrderIndex()+1)%self.GetAImage().GetImageNumber()
}
}
Expand Down
10 changes: 9 additions & 1 deletion Sample/AImageSample.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,13 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 0730;
LastUpgradeCheck = 0800;
ORGANIZATIONNAME = wangjwchn;
TargetAttributes = {
28C66A401D6EED84005B88CE = {
CreatedOnToolsVersion = 7.3.1;
DevelopmentTeam = 7EGABX8KQS;
LastSwiftMigration = 0800;
ProvisioningStyle = Automatic;
};
};
Expand Down Expand Up @@ -266,8 +267,10 @@
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_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
Expand Down Expand Up @@ -312,8 +315,10 @@
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_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
Expand All @@ -332,6 +337,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
Expand All @@ -347,6 +353,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = me.wjw.AImageSample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 2.3;
};
name = Debug;
};
Expand All @@ -360,6 +367,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = me.wjw.AImageSample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 2.3;
};
name = Release;
};
Expand Down
4 changes: 2 additions & 2 deletions Sample/AImageSample/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class ViewController: UIViewController {
let image = UIImage(AImageData:imageData!)

let imageview = UIImageView(AImage: image)
imageview.frame = CGRect(x: 7.0, y: 50.0, width: 400.0, height: 224.0)
imageview.frame = CGRect(x: 0.0, y: 50.0, width: 380.0, height: 212.0)
view.addSubview(imageview)
imageview.APlay();

Expand All @@ -47,7 +47,7 @@ class ViewController: UIViewController {

let image = UIImage(AImageData:imageData!)
let imageview = UIImageView(AImage: image)
imageview.frame = CGRect(x: 7.0, y: 50.0, width: 400.0, height: 224.0)
imageview.frame = CGRect(x: 7.0, y: 50.0, width: 380.0, height: 212.0)
view.addSubview(imageview)
imageview.APlay();
}
Expand Down

0 comments on commit 5940cf9

Please sign in to comment.