Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
* develop:
  URLEncode use the new method stringByAddingPercentEncodingWithAllowedCharacters
  Fix deprecated warning: system, CNCopySupportedInterfaces
  Fix deprecated warning
  Fix deprecated warning
  replace all #import with angle brackets
  bump version
  bugfix
  removeAllSubviews: performance optimization
  • Loading branch information
ElfSundae committed Apr 28, 2016
2 parents 3bcacd5 + 2de7e9b commit f076544
Show file tree
Hide file tree
Showing 62 changed files with 197 additions and 140 deletions.
2 changes: 1 addition & 1 deletion ESFramework.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "ESFramework"
s.version = "2.4.12"
s.version = "2.4.13"
s.license = "MIT"
s.summary = "An Effective & Swing Framework for iOS."
s.homepage = "https://github.com/ElfSundae/ESFramework"
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSArray+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSArray+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSArray (ESAdditions)

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSData+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSData+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSData (ESAdditions)

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSData+ESHash.h
Expand Up @@ -6,7 +6,7 @@
// Copyright © 2016年 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESDefines.h>
#import "ESDefines.h"
#import <CommonCrypto/CommonHMAC.h>

@interface NSData (ESHash)
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSDate+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSDate+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSDate (ESAdditions)

Expand Down
6 changes: 3 additions & 3 deletions ESFramework/Core/Additions/NSDictionary+ESAdditions.m
Expand Up @@ -7,9 +7,9 @@
//

#import "NSDictionary+ESAdditions.h"
#import <ESFramework/ESValue.h>
#import <ESFramework/NSString+ESAdditions.h>
#import <ESFramework/NSArray+ESAdditions.h>
#import "ESValue.h"
#import "NSString+ESAdditions.h"
#import "NSArray+ESAdditions.h"

@implementation NSDictionary (ESAdditions)

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSMutableString+ESAdditions.m
Expand Up @@ -6,7 +6,7 @@
// Copyright (c) 2014 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESValue.h>
#import "ESValue.h"
#import "NSString+ESAdditions.h"
#import "NSMutableString+ESAdditions.h"

Expand Down
Expand Up @@ -6,8 +6,8 @@
// Copyright (c) 2015年 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESDefines.h>
#import <ESFramework/ESValue.h>
#import "ESDefines.h"
#import "ESValue.h"

/*!
* The helper additions for NSObject which allows you to easily get or set the associated objects
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSObject+ESAutoCoding.h
Expand Up @@ -6,7 +6,7 @@
// Copyright (c) 2015年 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

#define ES_CODING_IMPLEMENTATION \
- (id)initWithCoder:(NSCoder *)aDecoder { \
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSOrderedSet+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSOrderedSet+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSOrderedSet (ESAdditions)

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSSet+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSSet+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSSet (ESAdditions)

Expand Down
14 changes: 9 additions & 5 deletions ESFramework/Core/Additions/NSString+ESAdditions.h
Expand Up @@ -6,9 +6,9 @@
// Copyright (c) 2014 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESDefines.h>
#import <ESFramework/NSString+ESGTMHTML.h>
#import <ESFramework/NSRegularExpression+ESAdditions.h>
#import "ESDefines.h"
#import "NSString+ESGTMHTML.h"
#import "NSRegularExpression+ESAdditions.h"

@interface NSString (ESAdditions)

Expand Down Expand Up @@ -55,12 +55,16 @@
///=============================================

/**
* Add percent escapes for characters for @":/?#[]@!$&'()*+,;="
* Returns a string in which all non-alphanumeric characters except -_.~ have been replaced
* with a percent (%) sign followed by two hex digits,
* it conforms to [RFC 3986](http://www.faqs.org/rfcs/rfc3986.html)
*/
- (NSString *)URLEncode;

/**
* Replaces "+" to " ", then calls `-stringByReplacingPercentEscapesUsingEncoding:`
* Decodes URL-encoded string.
*
* Decodes any %## encoding in the given string. Plus symbols ('+') are decoded to a space character.
*/
- (NSString *)URLDecode;

Expand Down
32 changes: 27 additions & 5 deletions ESFramework/Core/Additions/NSString+ESAdditions.m
Expand Up @@ -6,7 +6,7 @@
// Copyright (c) 2014 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESValue.h>
#import "ESValue.h"
#import "NSString+ESAdditions.h"
#import "NSMutableString+ESAdditions.h"
#import "NSDictionary+ESAdditions.h"
Expand Down Expand Up @@ -102,16 +102,38 @@ - (NSArray *)splitWithCharacterSet:(NSCharacterSet *)separator
return [self componentsSeparatedByCharactersInSet:separator];
}

static NSString *const kESCharactersToBeEscaped = @":/?#[]@!$&'()*+,;=";
- (NSString *)URLEncode
{
CFStringRef encoded = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)self, NULL, (__bridge CFStringRef)kESCharactersToBeEscaped, kCFStringEncodingUTF8);
return CFBridgingRelease(encoded);
if ([self respondsToSelector:@selector(stringByAddingPercentEncodingWithAllowedCharacters:)]) {
static NSCharacterSet *__allowedCharacters = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSMutableCharacterSet *charset = [NSMutableCharacterSet alphanumericCharacterSet];
[charset addCharactersInString:@"-_.~"];
__allowedCharacters = [charset copy];
});
return [self stringByAddingPercentEncodingWithAllowedCharacters:__allowedCharacters];
} else {
static NSString *const __charactersToBeEscaped = @":/?#[]@!$&'()*+,;=";
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
CFStringRef encoded = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)self, NULL, (__bridge CFStringRef)__charactersToBeEscaped, kCFStringEncodingUTF8);
#pragma clang diagnostic pop
return CFBridgingRelease(encoded);
}
}

- (NSString *)URLDecode
{
NSString *decoded = [self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
return [decoded stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if ([decoded respondsToSelector:@selector(stringByRemovingPercentEncoding)]) {
return [decoded stringByRemovingPercentEncoding];
} else {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
return [decoded stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
#pragma clang diagnostic pop
}
}

- (NSDictionary *)queryDictionary
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSString+ESGTMHTML.m
Expand Up @@ -19,7 +19,7 @@

//#import "GTMDefines.h"
#import "NSString+ESGTMHTML.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

// Taken from http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_Special_characters
// Ordered by uchar lowest to highest for bsearching
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSString+ESHash.h
Expand Up @@ -6,7 +6,7 @@
// Copyright © 2016年 www.0x123.com. All rights reserved.
//

#import <ESFramework/ESDefines.h>
#import "ESDefines.h"
#import <CommonCrypto/CommonHMAC.h>

@interface NSString (ESHash)
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSTimer+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSTimer+ESAdditions.h"
#import <ESFramework/NSObject+ESAssociatedObjectHelper.h>
#import "NSObject+ESAssociatedObjectHelper.h"

ESDefineAssociatedObjectKey(taskBlock);

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/NSUserDefaults+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "NSUserDefaults+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation NSUserDefaults (ESAdditions)

Expand Down
3 changes: 3 additions & 0 deletions ESFramework/Core/Additions/UIActionSheet+ESBlock.h
Expand Up @@ -8,7 +8,10 @@

#import <UIKit/UIKit.h>

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
typedef void (^ESUIActionSheetDidDismissBlock)(UIActionSheet *actionSheet, NSInteger buttonIndex);
#pragma clang diagnostic pop

/**
* `UIActionSheet` with blocks.
Expand Down
5 changes: 4 additions & 1 deletion ESFramework/Core/Additions/UIActionSheet+ESBlock.m
Expand Up @@ -7,10 +7,12 @@
//

#import "UIActionSheet+ESBlock.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

static const void *_didDismissBlockKey = &_didDismissBlockKey;

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
@implementation UIActionSheet (ESBlock)

- (ESUIActionSheetDidDismissBlock)didDismissBlock
Expand All @@ -36,6 +38,7 @@ - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSIn
self.didDismissBlock(self, buttonIndex);
}
}
#pragma clang diagnostic pop

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
3 changes: 3 additions & 0 deletions ESFramework/Core/Additions/UIAlertView+ESBlock.h
Expand Up @@ -8,7 +8,10 @@

#import <UIKit/UIKit.h>

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
typedef void (^ESUIAlertViewDidDismissBlock)(UIAlertView *alertView, NSInteger buttonIndex);
#pragma clang diagnostic pop

/**
* `UIAlertView` with blocks.
Expand Down
5 changes: 4 additions & 1 deletion ESFramework/Core/Additions/UIAlertView+ESBlock.m
Expand Up @@ -7,10 +7,12 @@
//

#import "UIAlertView+ESBlock.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

static const void *_didDismissBlockKey = &_didDismissBlockKey;

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
@implementation UIAlertView (ESBlock)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -39,6 +41,7 @@ - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)
self.didDismissBlock(self, buttonIndex);
}
}
#pragma clang diagnostic pop

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
4 changes: 2 additions & 2 deletions ESFramework/Core/Additions/UIBarButtonItem+ESAdditions.h
Expand Up @@ -7,7 +7,7 @@
//

#import <UIKit/UIKit.h>
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

typedef void (^ESUIBarButtonItemHandler)(UIBarButtonItem *barButtonItem);

Expand All @@ -25,7 +25,7 @@ typedef void (^ESUIBarButtonItemHandler)(UIBarButtonItem *barButtonItem);
+ (instancetype)itemWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem handler:(ESUIBarButtonItemHandler)handler;

/**
* With `UIBarButtonItemStyleBordered` style.
* With `UIBarButtonItemStylePlain` style.
*/
+ (instancetype)itemWithTitle:(NSString *)title handler:(ESUIBarButtonItemHandler)handler;

Expand Down
6 changes: 3 additions & 3 deletions ESFramework/Core/Additions/UIBarButtonItem+ESAdditions.m
Expand Up @@ -94,7 +94,7 @@ + (instancetype)itemWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem ha

+ (instancetype)itemWithTitle:(NSString *)title handler:(ESUIBarButtonItemHandler)handler
{
return [self itemWithTitle:title style:UIBarButtonItemStyleBordered handler:handler];
return [self itemWithTitle:title style:UIBarButtonItemStylePlain handler:handler];
}

+ (instancetype)itemWithTitle:(NSString *)title tintColor:(UIColor *)tintColor style:(UIBarButtonItemStyle)style handler:(ESUIBarButtonItemHandler)handler
Expand All @@ -106,13 +106,13 @@ + (instancetype)itemWithTitle:(NSString *)title tintColor:(UIColor *)tintColor s

+ (instancetype)itemWithTitle:(NSString *)title tintColor:(UIColor *)tintColor handler:(ESUIBarButtonItemHandler)handler
{
return [self itemWithTitle:title tintColor:tintColor style:UIBarButtonItemStyleBordered handler:handler];
return [self itemWithTitle:title tintColor:tintColor style:UIBarButtonItemStylePlain handler:handler];
}


+ (instancetype)itemWithRedStyle:(NSString *)title handler:(ESUIBarButtonItemHandler)handler
{
return [self itemWithTitle:title tintColor:UIColorWithRGBHex(0xfa140e) style:UIBarButtonItemStyleBordered handler:handler];
return [self itemWithTitle:title tintColor:UIColorWithRGBHex(0xfa140e) style:UIBarButtonItemStylePlain handler:handler];
}

+ (instancetype)itemWithDoneStyle:(NSString *)title handler:(ESUIBarButtonItemHandler)handler
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/UIColor+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "UIColor+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

@implementation UIColor (ESAdditions)

Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/UIControl+ESAdditions.m
Expand Up @@ -7,7 +7,7 @@
//

#import "UIControl+ESAdditions.h"
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion ESFramework/Core/Additions/UIDevice+ESInfo.h
Expand Up @@ -7,7 +7,7 @@
//

#import <UIKit/UIKit.h>
#import <ESFramework/ESDefines.h>
#import "ESDefines.h"

#define kESNetworkInterfaceFamilyIPv4 @"IPv4"
#define kESNetworkInterfaceFamilyIPv6 @"IPv6"
Expand Down
10 changes: 8 additions & 2 deletions ESFramework/Core/Additions/UIDevice+ESInfo.m
Expand Up @@ -12,8 +12,8 @@
#import <CoreGraphics/CoreGraphics.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <SystemConfiguration/CaptiveNetwork.h>
#import <ESFramework/ESDefines.h>
#import <ESFramework/ESValue.h>
#import "ESDefines.h"
#import "ESValue.h"
#import <sys/sysctl.h>
#import <mach/mach.h>
#include <ifaddrs.h>
Expand Down Expand Up @@ -89,10 +89,13 @@ + (NSString *)currentWiFiSSID
{
NSString *ssid = nil;
#if !TARGET_IPHONE_SIMULATOR
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
NSArray *interfaces = CFBridgingRelease(CNCopySupportedInterfaces());
for (NSString *name in interfaces) {
CFStringRef interface = (__bridge CFStringRef)name; // @"en0"
NSDictionary *info = CFBridgingRelease(CNCopyCurrentNetworkInfo(interface));
#pragma clang diagnostic pop
if (info[@"SSID"]) {
ssid = info[@"SSID"];
break;
Expand Down Expand Up @@ -122,9 +125,12 @@ + (BOOL)isJailbroken
break;
}
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
if (!__isJailBroken && 0 == system("ls")) {
__isJailBroken = YES;
}
#pragma clang diagnostic pop
});
#endif
return __isJailBroken;
Expand Down

0 comments on commit f076544

Please sign in to comment.