- Add new device models: 2023 Mac mini, MacBook Pro, Mac Studio, Mac Pro
- Add new device models: iPad (10th generation), iPad Pro 11-inch (4th generation), iPad Pro 12.9-inch (6th generation)
- Add new device models: iPhone 14 series
- Add new device models: Apple Virtual Machine, MacBook Air (M2, 2022), MacBook Pro (13-inch, M2, 2022)
- Rename device models:
iPad Air (5th generation)
->iPad Air 5
Mac13,1
->Mac Studio (M1 Max)
Mac13,2
->Mac Studio (M1 Ultra)
- Add new device models: iPad Air (5th generation), iPhone SE (3rd generation), Mac Studio
- Add new device models: MacBook Pro (16-inch, 2021), MacBook Pro (14-inch, 2021)
- Change
-[NSURL queryParameters]
to-[NSURL es_queryParameters]
- Add new device models: iMac 2021, iPad 2021, iPhone 13 series
- Add new device models: (M1, 2020) MacBook Air, MacBook Pro, Mac mini
- Add new device models: iPad 8, iPad Air 4, iPhone 12
- Update iOS deployment target to 9.0
- Make
-[UIDevice isJailbroken]
available for tvOS
- Add
CTTelephonyNetworkInfo
category methods:-dataServiceSubscriberCellularProvider
,-dataServiceCurrentRadioAccessTechnology
- Add
ESNetworkInfo
class, removeESNetworkHelper
- Rename UIImage
-resizedImageWithContentMode:
to-resizedImageWithScalingMode:
- Remove
ESNetworkInterfaceVPN
constant - Fix compatibility for watchOS and Mac Catalyst
- Fix
ESNetworkInterfaceWiFi
for Mac Catalyst - Include
Network
,UIKit
subspecs for watchOS - Turn on
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER
build setting, angle-bracketed include headers in framework headers
- Renamed
ESAppStoreLink()
->ESAppStoreURL()
,ESAppStoreDirectLink()
->ESAppStoreDirectURL()
,ESAppStoreReviewLink()
->ESAppStoreReviewURL()
- Fixed
-[NSObject dictionaryRepresentation]
to removenil
values - Renamed
-[UIApplication dismissViewControllersAnimated:completion:]
to-dismissAllViewControllersAnimated:completion:
- Renamed
ESAppLink()
toESAppStoreLink()
- Renamed
ESAppStoreLink()
toESAppStoreDirectLink()
- Added
-[NSObject observeNotification:object:selector:]
- Added initialization methods with
actionBlock
parameters forUIBarButtonItem
- Changed return type of
-[UIToolbar replaceItemWithTag:toItem:animated:]
toBOOL
- Exposed
ESControlActionBlockContainer
- Fixed Carthage installation: changed framework type from static to dynamic since Carthage does not currently support static library schemes.
- Configured separate bundle identifier for watchOS framework. ITMS-90806: CFBundleIdentifier collision Alamofire/Alamofire#2925 AFNetworking/AFNetworking#4533
- Decreased macOS deployment target to 10.10
- Migrated CI to GitHub Actions
- Fixed
frameworks
configuration for pod subspecNetwork
. - Generate single Xcode project
ESFramework.xcodeproj
includes framework targets and examples targets.
- Added
__()
function for retrieving localized string.
- Fixed
+[NSNumber numberWithString:]
: treat dot "." as decimal points, not separator
- Removed
[UIApplication registerForRemoteNotificationsWithSuccess:failure:]
- Removed UIDevice methods:
-deviceToken
,-deviceTokenString
- Removed
device_token
from-[UIApplication analyticsInfo]
- Updated iOS minimum deployment target to 8.0
- Moved
Core
pod subspec toFoundation
- Moved numeric value related APIs to new file
ESNumericValue.h
, including:- ESHelpers.h:
ES***Value()
functions - NSNumber+ESExtension.h:
+[NSNumber numberWithString:]
- NSString+ESExtension.h:
-[NSString numberValue]
,-[NSString charValue]
etc
- ESHelpers.h:
- Renamed methods of getting unsigned value from
ESU***Value
toESUnsigned***Value
, e.g.ESUCharValue
toESUnsignedCharValue()
- Removed AFNetworking dependency
- Removed
network
key from-[UIApplication analyticsInfo]
- Removed NSString methods
-contains:
,-containsCaseInsensitive:
,-contains:options:
- Removed
ESScreenSizeString(CGSize size)
function - Removed
screen_size
from-[UIApplication analyticsInfo]
, addedscreen_width
andscreen_height
- Removed
Screen
from-[UIApplication userAgentForHTTPRequest]
- Removed
ESUUIDString()
- Generate Xcode projects through XcodeGen
- Added
-[NSObject observeNotification:selector:]
- Added
-[NSArray groupedDictionaryUsingBlock:]
,-[NSArray groupedDictionaryByKeyPath:]
- Added iPad 7 for
-[UIDevice modelName]
- Improved
ESRandomData()
- Added Apple Watch Series 5 for
-[UIDevice modelName]
- Update
-[UIDevice modelName]
for iPhone 11, iPod touch 7. Unifyi386
andx86_64
model name to "Simulator".
- Refactor
ESMeasureExecution()
toESBenchmark()
- Fixed podspec: 'Security' framework should be linked in the Core subspec
- Added AES Encryption methods to NSData and NSString extensions
- Improved
ESUniqueNumericIdentifier()
function.
- Improved
ESUniqueNumericIdentifier()
function.
- Improved
ESUniqueNumericIdentifier()
function.
- Removed
ESDefineAssociatedObjectKey()
- Removed semaphore lock macros
ESNewLock()
,ESLock(lock)
,ESUnlock(lock)
- Added semaphore lock macros
ESNewLock()
,ESLock(lock)
,ESUnlock(lock)
- Added macro
ESAssertOnMainThread()
- Added helpers:
es_dispatch_is_queue()
,es_dispatch_async()
,es_dispatch_sync()
- Removed
es_dispatch_async_main()
, usees_dispatch_async(dispatch_get_main_queue(), block)
instead - Removed
es_dispatch_sync_main()
, usees_dispatch_sync(dispatch_get_main_queue(), block)
instead - Removed unnecessary imports
<objc/runtime.h>
,"ESMacros.h"
from ESHelpers.h
- Remove comma for ESMaskSet, ESMaskUnset
- Restore bits-mask helpers macros:
ESMaskIsSet
,ESMaskSet
,ESMaskUnset
- Added
ESUniqueNumericIdentifier()
helper
- Moved
-[NSString UUIDString]
toESUUIDString()
helper - Moved
-[NSString randomStringWithLength:]
toESRandomString()
helper - Moved
-[NSData randomDataWithLength:]
toESRandomData()
helper - Moved
-[UIColor randomColor]
toESRandomColor()
helper - Make
ESIsPadUI()
,ESIsPadDevice()
,ESIsRetinaScreen()
etc public for tvOS
- Replaced
makeObjectsPerformSelector:
with for-in fast loop
- Added
-JSONObject
,-JSONObjectWithOptions:
toNSString
.
- Check if it is a valid JSON object in
-JSONString
. - Added
-JSONData
,-JSONDataWithOptions:
toNSArray
,NSDictionary
. - Added
-JSONObject
,-JSONObjectWithOptions:
toNSData
.
- Added
-JSONString
,-JSONStringWithOptions:
toNSArray
,NSDictionary
category.
- Added UIAlertController methods:
+actionSheetWithTitle:
,+alertWithTitle:
.
- Rename NSDate
-dateFromHTTPDateString:
to-dateWithHTTPDateString:
. - Added
-[NSHTTPURLResponse date]
.
- Support Carthage.
- Split
ESFrameworkUI
to a separate git repo.
- Updated domain of App Store Links from
itunes.apple.com
toapps.apple.com
forESAppLink()
,ESAppStoreLink()
,ESAppStoreReviewLink()
. - Make
ESAppLink()
,ESAppStoreLink()
,ESAppStoreReviewLink()
available for all platforms.
- Add support for multi platforms: macOS, tvOS, watchOS.
- Remove
AFNetworkingExtension
dependency to fix "Cycle in dependencies" issue on the new Xcode build system.
- Create pod subspecs:
Core
,Foundation
,Network
,UIKit
. - Move
#import <objc/runtime.h>
,#import "ESMacros.h"
toESHelpers.h
for convenience.
- Changed the default value of
-[UIApplication appChannel]
to"AppStore"
, before is"App Store"
. - Replace whitespace to
"-"
for the default value of-[UIApplication appName]
. - Removed
"Network"
from-[UIApplication userAgentForHTTPRequest]
. - Renamed NSURLComponents
-queryItemsDictionary
to-queryParameters
,-addQueryItemsDictionary:
to-addQueryParameters:
. - Renamed NSURL
-queryDictionary
to-queryParameters
,-URLByAddingQueryDictionary:
to-URLByAddingQueryParameters:
. - Renamed NSString
-queryDictionary
to-URLQueryParameters
,-stringByAddingQueryDictionary:
to-stringByAddingURLQueryParameters:
- Sort URL query keys alphabetically.
- Removed
ESAppPreviousVersionUserDefaultsKey
defination. - Added
ESStringFromNetworkReachabilityStatus(AFNetworkReachabilityStatus status)
function.
- Removed param
retainArguments:(BOOL)
for+[NSInvocation invocationWithTarget:selector: ,...]
. - Changed:
ESInvokeSelector()
now retains arguments for NSInvocation object.
- Added
NSMapTable (ESExtension)
category.
- Renamed
-[UIApplication registerForRemoteNotificationsWithCompletion:]
to-registerForRemoteNotificationsWithSuccess:failure:
.
- Added UIAlertController methods:
-actionSheetWithTitle:cancelActionTitle:
,-alertWithTitle:cancelActionTitle:
,+showAlertWithTitle:cancelActionTitle:
. - Added param
minorVersion
toESOSVersionIsAtLeast()
:BOOL ESOSVersionIsAtLeast(NSInteger majorVersion, NSInteger minorVersion)
. - Renamed
ESBenchmark()
toESMeasureExecution()
. - Renamed
ESRandomColor()
to+[UIColor randomColor]
. - Renamed
ESRandomDataOfLength()
to+[NSData randomDataWithLength:]
. - Renamed
ESRandomStringOfLength()
to+[NSString randomStringWithLength:]
. - Renamed
ESUUIDString()
to+[NSString UUIDString]
. - Removed
ESIsStringWithAnyText()
,ESIsArrayWithItems()
,ESIsDictionaryWithItems()
,ESIsSetWithItems()
,ESIsOrderedSetWithItems()
a3b80c - Removed
ESCreateNonretainedMutableSet()
,ESCreateNonretainedMutableArray()
,ESCreateNonretainedMutableDictionary()
d237e3 - Removed named color methods:
+es_redNavigationBarColor
,+es_primaryButtonColor
,+es_twitterColor
etc, you may use Chameleon instead. 094cc70 - Removed utilities methods from BButton. 6dbb2db
- Removed
ESButton
, you may use TORoundedButton or BButton instead. - Improved
+[NSString randomStringWithLength:]
. - Renamed files from "ESAdditions" to "ESExtension".
- Add
module_name
for podspec files.
- Improved generic support.
- Renamed NSArray
-reversedArray
to-arrayByReversingObjects
.
- Renamed UIView
-findSuperviewOf:
=>-findSuperviewOfClass:
,-findSubviewOf:
=>-findSubviewOfClass:
. - Swizzled NSString numeric methods like
-doubleValue
,-boolValue
. - Added missing numeric methods for NSString:
-charValue
,-longValue
, etc. - Added
ESCharValue(id)
,ESUCharValue(id)
,ESShortValue(id)
,ESUShortValue(id)
.
- Removed
es_dispatch_is_main_queue()
.
- Renamed UIView
-snapshotViewAfterScreenUpdates
to-snapshotImageAfterScreenUpdates
. - Added UIView
-addTapGestureRecognizerWithBlock:
.
- Added UIView
-moveSubviewToCenter:
. - Renamed UIView
-moveToCenterOfSuperview
to-moveToCenter
. - Renamed UIView
-setLayerShadowWithColor:offset:radius:
to-setLayerShadowWithColor:offset:radius:opacity:
(addopacity
param).
- Added
ESActionBlockContainer
class. - Added action block methods for
UIBarButtonItem
,UIGestureRecognizer
,UIControl
. - Removed bitmask helper macros:
#define ESMaskIsSet(value, flag) (((value) & (flag)) == (flag)) #define ESMaskSet(value, flag) ((value) |= (flag)); #define ESMaskUnset(value, flag) ((value) &= ~(flag));
- Removed
-[UIApplication isUIViewControllerBasedStatusBarAppearance]
. - Renamed UIApplication
-appIconFile
to-appIconFilename
. - Cache value for
-appBundleIdentifier
,-appVersion
,-appBuildVersion
.
- Fixed C++ compiler error
⚠️ Updated iOS deployment target to 9.0.- Split UI components to separate pod
ESFrameworkUI
. - Replaced
ESFramework/Reachability
withAFNetworking/Reachability
. - Made the main queue dispatching functions safer.
⚠️ Moved ESApp+AppInfo methods to UIApplication category:-appName
,-appVersion
,-appChannel
,-isFreshLaunch
,-appPreviousVersion
,-analyticsInfo
,-userAgentForHTTPRequest
,-allURLSchemes
,-URLSchemesForIdentifier:
etc.⚠️ Removed automatically multitasking background task and related methods such as-enableMultitasking
. If you want to do some background tasks, call-beginBackgroundTask...
in-applicationDidEnterBackground:
, or use theNSURLSession
background networking transfer, see https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html⚠️ Moved ESApp+Helper methods to UIApplication category:-appWindow
,-rootViewController
,-rootViewControllerForPresenting
=>-topmostViewController
,-presentViewController:
,-dismissViewControllersAnimated:
,-dismissKeyboard
,-simulateMemoryWarning
,-canMakePhoneCalls
,-makePhoneCall:
etc.-[UIApplication analyticsInfo]
changes:- Added:
model_name
,device_token
,wwan
,bssid
,wwan_ip
,wwan_ipv6
- Renamed keys:
platform
=>model_identifier
,name
=>device_name
,app_launch
=>app_uptime
timezone_gmt
returns "seconds from GMT" now, previously returns "hours from GMT"
- Added:
- Added:
BOOL es_dispatch_is_main_queue(void)
BOOL ESIsOrderedSetWithItems(id)
NSURL *ESDocumentDirectoryURL()
,NSURL *ESDocumentURL(NSString *pathComponent)
,ESLibraryDirectoryURL()
,ESLibraryURL(NSString *)
,ESCachesDirectoryURL()
,ESCachesURL(NSString *)
,ESTemporaryDirectoryURL()
,ESTemporaryURL(NSString *)
ESAppLink(NSInteger appIdentifier)
,ESAppStoreLink(NSInteger appIdentifier)
,ESAppStoreReviewLink(NSInteger appIdentifier)
ESWeakProxy
class+[NSCharacterSet URLEncodingAllowedCharacterSet]
+[NSNumber numberWithString:]
- NSString methods:
-numberValue
,-dataValue
NSURLComponents (ESAdditions)
category- NSURL methods:
-URLByAddingQueryDictionary:
- NSData methods:
+dataWithHexString:
,-uppercaseHexString
,-lowercaseHexString
- NSDate methods:
+dateFromHTTPDateString:
,-isInWeekend
,-isInWorkday
,-isToday
,-isYesterday
,-isTomorrow
,-isThisWeek
,-isThisMonth
,-isThisYear
,-isInPast
,-isInFuture
- NSDateFormatter additions:
+RFC1123DateFormatter
,+RFC1036DateFormatter
,+ANSIDateFormatter
- NSArray methods:
-objectOrNilAtIndex:
,-reversedArray
,-previousObjectToIndex:
,-previousObjectToObject:
,-nextObjectToIndex:
,-nextObjectToObject:
- NSDictionary methods:
-entriesForKeys:
- NSMutableArray methods:
-removeFirstObject
,-shiftFirstObject
,-popLastObject
,-reverseObjects
,-shuffleObjects
- NSOrderedSet methods:
objectOrNilAtIndex:
- UIApplication methods:
-appWindow
,-registerForRemoteNotificationsWithCompletion:
,-appIconFile
,-appIconImage
- UIDevice methods:
-modelName
,-deviceToken
,-deviceTokenString
ESNetworkHelper
class-[UIView snapshotViewAfterScreenUpdates:]
- UIScrollView methods:
-scrollToTop
,-scrollToBottom
,-scrollToLeft
,-scrollToRight
-[UITableView performBatchUpdates:]
- UIWindow methods:
-topMostViewController
- Renamed:
ES_STOPWATCH_BEGIN
ES_STOPWATCH_END
=>ESBenchmark()
ESDispatchOnMainThreadAsynchrony
=>es_dispatch_async_main
ESDispatchOnMainThreadSynchrony
=>es_dispatch_sync_main
ESDispatchOnGlobalQueue
=>es_dispatch_async_global_queue
ESDispatchOnHighQueue
=>es_dispatch_async_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, block)
ESDispatchOnDefaultQueue
=>es_dispatch_async_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, block)
ESDispatchOnLowQueue
=>es_dispatch_async_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, block)
ESDispatchOnBackgroundQueue
=>es_dispatch_async_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, block)
ESDispatchAfter
=>es_dispatch_after
ESPathForDocuments
=>ESDocumentDirectory
,ESPathForDocumentsResource
=>ESDocumentPath
,ESPathForLibrary
=>ESLibraryDirectory
,ESPathForLibraryResource
=>ESLibraryPath
,ESPathForCaches
=>ESCachesDirectory
,ESPathForCachesResource
=>ESCachesPath
,ESPathForTemporary
=>ESTemporaryDirectory
,ESPathForTemporaryResource
=>ESTemporaryPath
UIScreenIsRetina()
=>ESIsRetinaScreen()
ESUUID()
=>ESUUIDString()
- NSObject methods:
+es_codableProperties
=>+codableProperties
,-es_codableProperties
=>-codableProperties
,-es_dictionaryRepresentation
=>-dictionaryRepresentation
-[NSString stringByAppendingQueryDictionary:]
=>-stringByAddingQueryDictionary:
- NSString methods:
-trim
=>trimmedString
,-URLEncode
=>-URLEncodedString
,-URLDecode
=>-URLDecodedString
- NSString, NSData methods:
-base64Encoded
=>-base64EncodedData
- NSData methods:
-stringValue
=>-UTF8String
,-hexStringValue
=>-lowercaseHexString
-[NSString stringByEncodingHTMLEntitiesUsingTable:]
=>-stringByEscapingHTMLUsingTable:
-[NSString stringByEncodingHTMLEntitiesForUnicode]
=>-stringByEscapingHTML
-[NSString stringByEncodingHTMLEntitiesForASCII]
=>-stringByEscapingAsciiHTML
-[NSString stringByDecodingHTMLEntities]
=>-stringByUnescapingHTML
- NSMutableString methods:
replace:to:options:
=>replaceOccurrencesOfString:withString:options:
- NSArray methods:
matchObject:
=>objectPassingTest
,matchesObjects
=>objectsPassingTest
-[NSDictionary queryString]
=>-URLQueryString
-[NSDictionary matchesDictionary:]
=>entriesPassingTest:
-[NSMutableDictionary es_setValue:forKeyPath:]
=>-setObject:forKeyPath:
- NSOrderedSet methods:
matchObject:
=>objectPassingTest
,matchesObjects
=>objectsPassingTest
,matchesOrderedSets
=>orderedSetPassingTest
- Add
es_
prefix for NSTimer methods:-es_timerWithTimeInterval:
,-es_scheduledTimerWithTimeInterval:
- NSUserDefaults methods:
+registeredDefaults
=>-registrationDictionary
,+registerDefaults:
=>-setRegistrationDictionary:
,+unregisterDefaultsForKeys:
=>-removeRegistrationObjectsForKeys:
,+replaceRegisteredObject:forKey:
=>-setRegistrationObject:forKey:
- UIDevice class methods to instance methods:
+platform
=>-modelIdentifier
,+carrierString
=>-carrierName
,+currentWiFiSSID
=>-WiFiSSID
,+isJailbroken
=>-isJailbroken
,+diskTotalSize
=>-diskTotalSpace
,+diskFreeSize
=>-diskFreeSpace
,+screenSizeString:
=>ESScreenSizeString()
- UIColor methods:
-es_RGBAString
=>-RGBAString
,-es_HexString
=>-RGBHexString
- UIView methods:
-findViewWithClassInSuperviews:
=>-findSuperviewOf:
,-findViewWithClassInSubviews:
=>-findSubviewOf:
,-setShadowOffset:
=>-setLayerShadowWithColor:
,-setBackgroundGradientColor:
=>setGradientBackgroundColor:
-[UIToolbar replaceItemWithTag:withItem:]
=>-replaceItemWithTag:toItem:animated:
+[ESApp deleteHTTPCookiesForURL:]
=>-[NSHTTPCookieStorage deleteCookiesForURL:]
+[ESApp deleteAllHTTPCookies]
=>-[NSHTTPCookieStorage deleteAllCookies]
- Removed:
⚠️ ESApp
class, useUIApplication+ESAdditions
and the originalAppDelegate
directly⚠️ ESStoreProductViewControllerManager
class, useStoreProductViewController
directly⚠️ ESMoviePlayerViewController
class, useAVPlayerViewController
instead- Seconds constants: ES_MINUTE, ES_HOUR, ES_DAY, ES_5_DAYS, ES_WEEK, ES_MONTH, ES_YEAR
ESStoreHelper
classUIProgressView+ESStyle
categoryESLocalizedString()
,_e()
,ESLocalizedStringWithFormat()
ES_SINGLETON_DEC
,ES_SINGLETON_IMP_AS
,ES_SINGLETON_IMP
,CFReleaseSafely
ESOSVersion
,ESBundleWithName()
ESGetAssociatedObject()
,ESSetAssociatedObject()
,OBJC_ASSOCIATION_WEAK
, useobjc_getAssociatedObject
,objc_setAssociatedObject
directlyESOSVersionIsAbove*()
,ESStringFromSize()
,NSStringWith()
,UIImageFromCache()
,UIImageFrom()
ESPathForBundleResource()
,ESPathForMainBundleResource()
ESTouchDirectory()
,ESTouchDirectoryAtFilePath
,ESTouchDirectoryAtFileURL()
: use-[NSFileManager createDirectoryAtPath:]
or-[NSFileManager createDirectoryAtURL:]
instead before writing to the filesystemESSharedNumberFormatter
,NSNumberFromString(id)
,ES...ValueWithDefault(id)
,ES...Val(... *, id)
-[NSObject es_description]
NSObject (ESAssociatedObjectHelper)
categoryNSRegularExpression (ESAdditions)
categoryUIAlertView+ESBlock
,UIActionSheet+ESBlock
- NSString methods:
-isEqualToStringCaseInsensitive
,-match:
,-match:caseInsensitive:
,-isMatch:
,-isMatch:caseInsensitive:
- NSString methods:
-trimWithCharactersInString:
,-stringByReplacing:
,-stringByReplacingCaseInsensitive:
,-stringByReplacing:with:options:
,-stringByReplacingInRange:with:
,-stringByReplacingRegex:with:caseInsensitive
,-splitWith:
,-splitWithCharacterSet:
- NSMutableString methods:
replaceCaseInsensitive:to:
,replaceInRange:to:
,replaceRegex:to:caseInsensitive:
-[NSString writeToFile:::]
,-[NSString writeToURL:::]
- NSString methods:
-URLSafeBase64String:
,-base64StringFromURLSafeString:
es_
prefix forNSString
andNSData
hashing methods-[NSData writeToFile:atomically:completion]
- NSArray methods:
-each:
-each:option:
, useenumerateObjectsUsingBlock:
instead - NSArray methods:
-match:
matches:
, useindexOfObjectPassingTest:
instead -[NSArray writeToFile:atomically:completion]
-[NSMutableArray matchWith:]
- NSDictionary methods:
-esObjectForKey
,-each:
,-each:option:
,match:
,matchDictionary:
,matches:
,matches:option:
,matchWith:
,writeToFile:atomically:completion:
-[NSError isLocalNetworkError]
- NSOrderedSet methods:
-each:
,-each:option:
,-match:
,matchWith:
- NSSet methods:
each
,match
,matches
,matchWith
-isEmpty
on NSString, NSArray, NSDictionary, NSOrderedSet, NSSet+[NSDate timeIntervalSince1970]
-[NSURL isEqualToURL:]
- Quick methods for NSUserDefaults.standardUserDefaults, such as
+[NSUserDefaults objectForKey:]
,+setObject:forKey:
,+registerDefaults:
- UIAlertController methods:
-addTextFieldWithPlaceholder:configurationHandler:
,-addSecureTextFieldWithPlaceholder:configurationHandler:
, propertydefaultAction
- UIDevice methods:
+name
,+systemName
,+systemVersion
,+model
,+systemBuildIdentifier
,+isPhoneDevice
,+isPadDevice
,+isRetinaScreen
,+isIPhoneRetina35InchScreen
,+isIPhoneRetina4InchScreen
,+isIPhoneRetina47InchScreen
,+isIPhoneRetina55InchScreen
,+localTimeZone
,+localTimeZoneFromGMT
,+currentLocale
,+currentLocaleLanguageCode
,+currentLocaleCountryCode
,+currentLocaleIdentifier
,+getNetworkInterfacesIncludesLoopback:
,+localIPv4Address
,+localIPv6Address
- UIColor methods:
+es_iOS6GroupTableViewBackgroundColor
,+es_viewBackgroundColor
- UIGestureRecognizer block methods:
-initWithHandler:
,+recognizerWithHandler:
- UIControl block methods:
-addEventHandler:forControlEvents:
,-removeEventHandlersForControlEvents:
,-removeAllEventHandlersAndTargetsActions
,existsEventHandlersForControlEvents:
- UIView methods:
-addTapGestureHandler:
,-addLongPressGestureHandler:
,-all...GestureRecognizers
,-removeAll...GestureRecognizers
,-setCornerRadius:borderWidth:borderColor:
- UITableView methods:
-scrollToFirstRow:
,-scrollToLastRow:
- UIBarButtonItem block methods
-[UIViewController currentVisibleViewController]
-[UITabBarController setBadgeValue:forTabBarItemAtIndex:]
+[NSDateFormatter appServerDateFormatterWith...Style]
- ESApp methods:
-appWebServerTimeZone
,+defaultUserAgentOfWebView
,-userAgentForWebView
,+clearApplicationIconBadgeNumber
,+loadPreferencesDefaultsFromSettingsPlistAtURL:
,+registerPreferencesDefaultsWithDefaultValues:
,+registerPreferencesDefaultsWithDefaultValuesForAppDefaultRootSettingsPlist:
- Refactored:
NSObject (ESAutoCoding)
-queryDictionary
ofNSURL
/NSString
to use theNSURLComponents
API
- Add
-[UIAlertController defaultAction]
to access the preferred alert action. - Add
UIAlertController
creation methods that without any parameters.
- Add
UIAlertController
additions.
- Rename method
-[UIScrollView refreshControl]
toes_refreshControl
1907d6d - Add
UNUserNotificationCenter
support for-[ESApp registerForRemoteNotificationsWithTypes:...]
, make it compatible with iOS 10. - Minor refactor ESApp private methods.
- Fix callback of failed registering remote notification. 6a3afb6
- Add function
ESOSVersionIsAbove10()
c894ba8