Commit 50da73b7 authored by gomore@gomoretech.com's avatar gomore@gomoretech.com

优化打包路径

parent ca148f97
...@@ -15,14 +15,14 @@ PODS: ...@@ -15,14 +15,14 @@ PODS:
- AFNetworking/UIKit (3.1.0): - AFNetworking/UIKit (3.1.0):
- AFNetworking/NSURLSession - AFNetworking/NSURLSession
- AliyunOSSiOS (2.6.0) - AliyunOSSiOS (2.6.0)
- Bugly (2.4.7) - Bugly (2.4.8)
- DACircularProgress (2.3.1) - DACircularProgress (2.3.1)
- DZNEmptyDataSet (1.8.1) - DZNEmptyDataSet (1.8.1)
- FDFullscreenPopGesture (1.1) - FDFullscreenPopGesture (1.1)
- iCarousel (1.8.3) - iCarousel (1.8.3)
- IQKeyboardManager (4.0.8) - IQKeyboardManager (4.0.10)
- JCore (1.1.1) - JCore (1.1.5)
- JPush (3.0.2): - JPush (3.0.6):
- JCore (~> 1.1.1) - JCore (~> 1.1.1)
- JSONModel (1.2.0) - JSONModel (1.2.0)
- Masonry (1.0.2) - Masonry (1.0.2)
...@@ -52,15 +52,15 @@ PODS: ...@@ -52,15 +52,15 @@ PODS:
- UICountingLabel (1.2.0) - UICountingLabel (1.2.0)
- UITableView+FDTemplateLayoutCell (1.6) - UITableView+FDTemplateLayoutCell (1.6)
- UMengAnalytics (4.2.4) - UMengAnalytics (4.2.4)
- UMengUShare/Core (6.4.1): - UMengUShare/Core (6.4.5):
- UMengUShare/Network - UMengUShare/Network
- UMengUShare/Network (6.4.1) - UMengUShare/Network (6.4.5)
- UMengUShare/Social/ReducedSina (6.4.1): - UMengUShare/Social/ReducedSina (6.4.5):
- UMengUShare/Core - UMengUShare/Core
- UMengUShare/Social/ReducedWeChat (6.4.1): - UMengUShare/Social/ReducedWeChat (6.4.5):
- UMengUShare/Core - UMengUShare/Core
- WYPopoverController (0.3.9) - WYPopoverController (0.3.9)
- WZLBadge (1.2.5) - WZLBadge (1.2.6)
- YXAlertController (1.0.7) - YXAlertController (1.0.7)
DEPENDENCIES: DEPENDENCIES:
...@@ -91,14 +91,14 @@ DEPENDENCIES: ...@@ -91,14 +91,14 @@ DEPENDENCIES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
AliyunOSSiOS: '058b038cc82000dadb8f8e3893a97243124f2898' AliyunOSSiOS: '058b038cc82000dadb8f8e3893a97243124f2898'
Bugly: 2c256069145f550171907c5cb1c0f84ad291f6c1 Bugly: da3c02408c14838d498429320545a8e439392978
DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71 DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71
DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0 FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0
iCarousel: d782f635afac190c49bb8ee455882284cff8b85f iCarousel: d782f635afac190c49bb8ee455882284cff8b85f
IQKeyboardManager: 1a8189fa153bf09044355ee0ad36826f6767e7f7 IQKeyboardManager: 593ee99b88381f4b9ccb22bd680f22606351bd41
JCore: 2210a789c8efb7dc2a46b1c24d2209b995b18ad2 JCore: 9bd9c770c877c583d98b90a68792b8361974c231
JPush: 01a693fafe51b93eafc2e368bbc7a7cc07e12ce4 JPush: c41be50eb1a574a66aeb68d237f00a4ec6ec3a82
JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c
Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e
MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1 MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1
...@@ -110,9 +110,9 @@ SPEC CHECKSUMS: ...@@ -110,9 +110,9 @@ SPEC CHECKSUMS:
UICountingLabel: 1db4e7d023e1762171eb226d6dff47a7a84f27aa UICountingLabel: 1db4e7d023e1762171eb226d6dff47a7a84f27aa
UITableView+FDTemplateLayoutCell: 5c949b4a5059c404b442926c0e80f81d10a2d66f UITableView+FDTemplateLayoutCell: 5c949b4a5059c404b442926c0e80f81d10a2d66f
UMengAnalytics: ef8d45f94c0e5771dc364cf6a5731d9d3b101da2 UMengAnalytics: ef8d45f94c0e5771dc364cf6a5731d9d3b101da2
UMengUShare: 7756e2e46ceba04e3000fb2c9b1d3f61784ca2ff UMengUShare: a5711c54e640b04e3048e931d2b88d50f9cfa55c
WYPopoverController: a9db25ac2841a686acdc0f3a99bdb21545db32f4 WYPopoverController: a9db25ac2841a686acdc0f3a99bdb21545db32f4
WZLBadge: 16c08aa0a645e2591690f21cbcb410a3d878c7ac WZLBadge: 9ec779dcfd94c825518b395e8315fccaabff1bfa
YXAlertController: 68e27c48976fa9ecc0b82e63166b67863be8b70b YXAlertController: 68e27c48976fa9ecc0b82e63166b67863be8b70b
PODFILE CHECKSUM: 4b56e3ba89ba6d8693f5d5775770671ed0c82ac3 PODFILE CHECKSUM: 4b56e3ba89ba6d8693f5d5775770671ed0c82ac3
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Bugly.h // Bugly.h
// Bugly // Bugly
// //
// Version: 2.4(7) // Version: 2.4(8)
// //
// Copyright (c) 2016年 Bugly. All rights reserved. // Copyright (c) 2016年 Bugly. All rights reserved.
// //
...@@ -135,6 +135,8 @@ BLY_START_NONNULL ...@@ -135,6 +135,8 @@ BLY_START_NONNULL
*/ */
+ (BOOL)isAppCrashedOnStartUpExceedTheLimit; + (BOOL)isAppCrashedOnStartUpExceedTheLimit;
+ (void)setComponentIdentifier:(NSString *)componentId version:(NSString *)version;
BLY_END_NONNULL BLY_END_NONNULL
@end @end
// //
// BuglyLog.h // BuglyLog.h
// //
// Copyright © 2016年 tencent.com. All rights reserved. // Copyright © 2017 tencent.com. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
...@@ -17,9 +17,9 @@ typedef NS_ENUM(NSUInteger, BuglyLogLevel) { ...@@ -17,9 +17,9 @@ typedef NS_ENUM(NSUInteger, BuglyLogLevel) {
}; };
#pragma mark - #pragma mark -
FOUNDATION_EXPORT void BLYLog(BuglyLogLevel level, NSString *format, ...); OBJC_EXTERN void BLYLog(BuglyLogLevel level, NSString *format, ...) NS_FORMAT_FUNCTION(2, 3);
FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list args); OBJC_EXTERN void BLYLogv(BuglyLogLevel level, NSString *format, va_list args) NS_FORMAT_FUNCTION(2, 0);
#pragma mark - #pragma mark -
#define BUGLY_LOG_MACRO(_level, fmt, ...) [BuglyLog level:_level tag:nil log:fmt, ##__VA_ARGS__] #define BUGLY_LOG_MACRO(_level, fmt, ...) [BuglyLog level:_level tag:nil log:fmt, ##__VA_ARGS__]
...@@ -40,14 +40,14 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar ...@@ -40,14 +40,14 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar
* *
* @param printConsole 是否打印到控制台,默认NO * @param printConsole 是否打印到控制台,默认NO
*/ */
+ (void)initLogger:(BuglyLogLevel) level consolePrint:(BOOL) printConsole; + (void)initLogger:(BuglyLogLevel) level consolePrint:(BOOL)printConsole;
/** /**
* @brief 打印BLYLogLevelInfo日志 * @brief 打印BLYLogLevelInfo日志
* *
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200 * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/ */
+ (void)log:(NSString *)format, ...; + (void)log:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2);
/** /**
* @brief 打印日志 * @brief 打印日志
...@@ -63,7 +63,7 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar ...@@ -63,7 +63,7 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar
* @param level 日志级别 * @param level 日志级别
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200 * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/ */
+ (void)level:(BuglyLogLevel) level log:(NSString *)format, ...; + (void)level:(BuglyLogLevel) level log:(NSString *)format, ... NS_FORMAT_FUNCTION(2, 3);
/** /**
* @brief 打印日志 * @brief 打印日志
...@@ -72,6 +72,6 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar ...@@ -72,6 +72,6 @@ FOUNDATION_EXPORT void BLYLogv(BuglyLogLevel level, NSString *format, va_list ar
* @param tag 日志模块分类 * @param tag 日志模块分类
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200 * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/ */
+ (void)level:(BuglyLogLevel) level tag:(NSString *) tag log:(NSString *)format, ...; + (void)level:(BuglyLogLevel) level tag:(NSString *) tag log:(NSString *)format, ... NS_FORMAT_FUNCTION(3, 4);
@end @end
framework module Bugly {
umbrella header "Bugly.h"
export *
module * { export * }
link framework "Foundation"
link framework "Security"
link framework "SystemConfiguration"
link "c++"
link "z"
}
../../../../UMengUShare/UShareSDK/UMSocialSDK/UMSocialCore.framework/Headers/UMSBaeViewController.h
\ No newline at end of file
../../../../UMengUShare/UShareSDK/UMSocialSDK/UMSocialCore.framework/Headers/UMSocialSOAuthViewController.h
\ No newline at end of file
../../../../UMengUShare/UShareSDK/UMSocialSDK/UMSocialCore.framework/Headers/UMSocialShareEditViewController.h
\ No newline at end of file
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
/** /**
Returns YES if IQKeyboardManager asking for `canBecomeFirstResponder. Useful when doing custom work in `textFieldShouldBeginEditing:` delegate. Returns YES if IQKeyboardManager asking for `canBecomeFirstResponder. Useful when doing custom work in `textFieldShouldBeginEditing:` delegate.
*/ */
@property (nonatomic, readonly) BOOL isAskingCanBecomeFirstResponder; @property (nonatomic, readonly) BOOL isAskingCanBecomeFirstResponder __attribute__((deprecated("isAskingCanBecomeFirstResponder property was come to existence as a workaround to handle `textFieldShouldBeginEditing:` multiple call issue, but we removed `canBecomeFirstResponder` method call from library, now this property make no sense and will be removed in future releases. From now this property will always return NO because of not calling `canBecomeFirstResponder` method. Please update your code/logic in `textFieldShouldBeginEditing:` method.")));
///---------------------- ///----------------------
/// @name viewControllers /// @name viewControllers
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#import "IQUIView+Hierarchy.h" #import "IQUIView+Hierarchy.h"
#import <UIKit/UICollectionView.h> #import <UIKit/UICollectionView.h>
#import <UIKit/UIAlertController.h>
#import <UIKit/UITableView.h> #import <UIKit/UITableView.h>
#import <UIKit/UITextView.h> #import <UIKit/UITextView.h>
#import <UIKit/UITextField.h> #import <UIKit/UITextField.h>
...@@ -38,16 +38,9 @@ ...@@ -38,16 +38,9 @@
@implementation UIView (IQ_UIView_Hierarchy) @implementation UIView (IQ_UIView_Hierarchy)
-(void)_setIsAskingCanBecomeFirstResponder:(BOOL)isAskingCanBecomeFirstResponder
{
objc_setAssociatedObject(self, @selector(isAskingCanBecomeFirstResponder), @(isAskingCanBecomeFirstResponder), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(BOOL)isAskingCanBecomeFirstResponder -(BOOL)isAskingCanBecomeFirstResponder
{ {
NSNumber *isAskingCanBecomeFirstResponder = objc_getAssociatedObject(self, @selector(isAskingCanBecomeFirstResponder)); return NO;
return [isAskingCanBecomeFirstResponder boolValue];
} }
-(UIViewController*)viewController -(UIViewController*)viewController
...@@ -103,24 +96,26 @@ ...@@ -103,24 +96,26 @@
while (superview) while (superview)
{ {
static Class UITableViewCellScrollViewClass = Nil; //UITableViewCell if ([superview isKindOfClass:classType])
static Class UITableViewWrapperViewClass = Nil; //UITableViewCell
static Class UIQueuingScrollViewClass = Nil; //UIPageViewController
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
UITableViewCellScrollViewClass = NSClassFromString(@"UITableViewCellScrollView");
UITableViewWrapperViewClass = NSClassFromString(@"UITableViewWrapperView");
UIQueuingScrollViewClass = NSClassFromString(@"_UIQueuingScrollView");
});
if ([superview isKindOfClass:classType] &&
([superview isKindOfClass:UITableViewCellScrollViewClass] == NO) &&
([superview isKindOfClass:UITableViewWrapperViewClass] == NO) &&
([superview isKindOfClass:UIQueuingScrollViewClass] == NO))
{ {
return superview; //If it's UIScrollView, then validating for special cases
if ([superview isKindOfClass:[UIScrollView class]])
{
NSString *classNameString = NSStringFromClass([superview class]);
//UITableViewCellScrollView, UITableViewWrapperView, _UIQueuingScrollView
if ((([classNameString hasPrefix:@"UITableView"] && ([classNameString hasSuffix:@"CellScrollView"] || [classNameString hasSuffix:@"WrapperView"])) || [classNameString hasPrefix:@"_"]) == NO)
{
return superview;
}
}
else
{
return superview;
}
} }
else superview = superview.superview;
superview = superview.superview;
} }
return nil; return nil;
...@@ -128,23 +123,22 @@ ...@@ -128,23 +123,22 @@
-(BOOL)_IQcanBecomeFirstResponder -(BOOL)_IQcanBecomeFirstResponder
{ {
[self _setIsAskingCanBecomeFirstResponder:YES]; BOOL _IQcanBecomeFirstResponder = NO;
BOOL _IQcanBecomeFirstResponder = ([self canBecomeFirstResponder] && [self isUserInteractionEnabled] && ![self isHidden] && [self alpha]!=0.0 && ![self isAlertViewTextField] && ![self isSearchBarTextField]);
if ([self isKindOfClass:[UITextField class]])
{
_IQcanBecomeFirstResponder = [(UITextField*)self isEnabled];
}
else if ([self isKindOfClass:[UITextView class]])
{
_IQcanBecomeFirstResponder = [(UITextView*)self isEditable];
}
if (_IQcanBecomeFirstResponder == YES) if (_IQcanBecomeFirstResponder == YES)
{ {
if ([self isKindOfClass:[UITextField class]]) _IQcanBecomeFirstResponder = ([self isUserInteractionEnabled] && ![self isHidden] && [self alpha]!=0.0 && ![self isAlertViewTextField] && ![self isSearchBarTextField]);
{
_IQcanBecomeFirstResponder = [(UITextField*)self isEnabled];
}
else if ([self isKindOfClass:[UITextView class]])
{
_IQcanBecomeFirstResponder = [(UITextView*)self isEditable];
}
} }
[self _setIsAskingCanBecomeFirstResponder:NO];
return _IQcanBecomeFirstResponder; return _IQcanBecomeFirstResponder;
} }
...@@ -314,28 +308,44 @@ ...@@ -314,28 +308,44 @@
-(BOOL)isSearchBarTextField -(BOOL)isSearchBarTextField
{ {
static Class UISearchBarTextFieldClass = Nil; //UISearchBar UIResponder *searchBar = [self nextResponder];
static dispatch_once_t onceToken; BOOL isSearchBarTextField = NO;
dispatch_once(&onceToken, ^{ while (searchBar && isSearchBarTextField == NO)
UISearchBarTextFieldClass = NSClassFromString(@"UISearchBarTextField"); {
}); if ([searchBar isKindOfClass:[UISearchBar class]])
return ([self isKindOfClass:UISearchBarTextFieldClass] || [self isKindOfClass:[UISearchBar class]]); {
isSearchBarTextField = YES;
break;
}
else if ([searchBar isKindOfClass:[UIViewController class]]) //If found viewcontroller but still not found UISearchBar then it's not the search bar textfield
{
break;
}
searchBar = [searchBar nextResponder];
}
return isSearchBarTextField;
} }
-(BOOL)isAlertViewTextField -(BOOL)isAlertViewTextField
{ {
//Special textFields,textViews,scrollViews UIResponder *alertViewController = [self viewController];
static Class UIAlertSheetTextFieldClass = Nil; //UIAlertView
static Class UIAlertSheetTextFieldClass_iOS8 = Nil; //UIAlertView BOOL isAlertViewTextField = NO;
while (alertViewController && isAlertViewTextField == NO)
{
if ([alertViewController isKindOfClass:[UIAlertController class]])
{
isAlertViewTextField = YES;
break;
}
static dispatch_once_t onceToken; alertViewController = [alertViewController nextResponder];
dispatch_once(&onceToken, ^{ }
UIAlertSheetTextFieldClass = NSClassFromString(@"UIAlertSheetTextField");
UIAlertSheetTextFieldClass_iOS8 = NSClassFromString(@"_UIAlertControllerTextField");
});
return ([self isKindOfClass:UIAlertSheetTextFieldClass] || [self isKindOfClass:UIAlertSheetTextFieldClass_iOS8]); return isAlertViewTextField;
} }
@end @end
......
...@@ -234,40 +234,44 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; ...@@ -234,40 +234,44 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag;
///--------------------------------------------- ///---------------------------------------------
/** /**
Disable distance handling within the scope of disabled distance handling viewControllers classes. Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController. Disable distance handling within the scope of disabled distance handling viewControllers classes. Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController. Default is [UITableViewController, UIAlertController, _UIAlertControllerTextFieldViewController].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledDistanceHandlingClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledDistanceHandlingClasses;
/** /**
Enable distance handling within the scope of enabled distance handling viewControllers classes. Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController. If same Class is added in disabledDistanceHandlingClasses list, then enabledDistanceHandlingClasses will we ignored. Enable distance handling within the scope of enabled distance handling viewControllers classes. Within this scope, 'enabled' property is ignored. Class should be kind of UIViewController. Default is [].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledDistanceHandlingClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledDistanceHandlingClasses;
/** /**
Disable automatic toolbar creation within the scope of disabled toolbar viewControllers classes. Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController. Disable automatic toolbar creation within the scope of disabled toolbar viewControllers classes. Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController. Default is [UIAlertController, _UIAlertControllerTextFieldViewController].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledToolbarClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledToolbarClasses;
/** /**
Enable automatic toolbar creation within the scope of enabled toolbar viewControllers classes. Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController. If same Class is added in disabledToolbarClasses list, then enabledToolbarClasses will be ignored. Enable automatic toolbar creation within the scope of enabled toolbar viewControllers classes. Within this scope, 'enableAutoToolbar' property is ignored. Class should be kind of UIViewController. Default is [].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledToolbarClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledToolbarClasses;
/** /**
Allowed subclasses of UIView to add all inner textField, this will allow to navigate between textField contains in different superview. Class should be kind of UIView. Allowed subclasses of UIView to add all inner textField, this will allow to navigate between textField contains in different superview. Class should be kind of UIView. Default is [UITableView, UICollectionView, IQPreviousNextView].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *toolbarPreviousNextAllowedClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *toolbarPreviousNextAllowedClasses;
/** /**
Disabled classes to ignore 'shouldResignOnTouchOutside' property, Class should be kind of UIViewController. Disabled classes to ignore 'shouldResignOnTouchOutside' property, Class should be kind of UIViewController. Default is [UIAlertController, UIAlertControllerTextFieldViewController]
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledTouchResignedClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *disabledTouchResignedClasses;
/** /**
Enabled classes to forcefully enable 'shouldResignOnTouchOutsite' property. Class should be kind of UIViewController. If same Class is added in disabledTouchResignedClasses list, then enabledTouchResignedClasses will be ignored. Enabled classes to forcefully enable 'shouldResignOnTouchOutsite' property. Class should be kind of UIViewController. Default is [].
*/ */
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledTouchResignedClasses; @property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *enabledTouchResignedClasses;
/**
if shouldResignOnTouchOutside is enabled then you can customise the behaviour to not recognise gesture touches on some specific view subclasses. Class should be kind of UIView. Default is [UIControl, UINavigationBar]
*/
@property(nonatomic, strong, nonnull, readonly) NSMutableSet<Class> *touchResignedGestureIgnoreClasses;
///------------------------------------------- ///-------------------------------------------
/// @name Third Party Library support /// @name Third Party Library support
...@@ -275,20 +279,29 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; ...@@ -275,20 +279,29 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag;
///------------------------------------------- ///-------------------------------------------
/** /**
Add customised Notification for third party customised TextField/TextView. Please be aware that the NSNotification object must be idential to UITextField/UITextView NSNotification objects and customised TextField/TextView support must be idential to UITextField/UITextView. Add/Remove customised Notification for third party customised TextField/TextView. Please be aware that the NSNotification object must be idential to UITextField/UITextView NSNotification objects and customised TextField/TextView support must be idential to UITextField/UITextView.
@param didBeginEditingNotificationName This should be identical to UITextViewTextDidBeginEditingNotification @param didBeginEditingNotificationName This should be identical to UITextViewTextDidBeginEditingNotification
@param didEndEditingNotificationName This should be identical to UITextViewTextDidEndEditingNotification @param didEndEditingNotificationName This should be identical to UITextViewTextDidEndEditingNotification
*/ */
-(void)registerTextFieldViewClass:(nonnull Class)aClass -(void)registerTextFieldViewClass:(nonnull Class)aClass
didBeginEditingNotificationName:(nonnull NSString *)didBeginEditingNotificationName didBeginEditingNotificationName:(nonnull NSString *)didBeginEditingNotificationName
didEndEditingNotificationName:(nonnull NSString *)didEndEditingNotificationName; didEndEditingNotificationName:(nonnull NSString *)didEndEditingNotificationName;
-(void)unregisterTextFieldViewClass:(nonnull Class)aClass
didBeginEditingNotificationName:(nonnull NSString *)didBeginEditingNotificationName
didEndEditingNotificationName:(nonnull NSString *)didEndEditingNotificationName;
///---------------------------------------- ///----------------------------------------
/// @name Debugging. /// @name Debugging & Developer options
///---------------------------------------- ///----------------------------------------
@property(nonatomic, assign) BOOL enableDebugging; @property(nonatomic, assign) BOOL enableDebugging;
/**
@warning Use below methods to completely enable/disable notifications registered by library internally. Please keep in mind that library is totally dependent on NSNotification of UITextField, UITextField, Keyboard etc. If you do unregisterAllNotifications then library will not work at all. You should only use below methods if you want to completedly disable all library functions. You should use below methods at your own risk.
*/
-(void)registerAllNotifications;
-(void)unregisterAllNotifications;
///---------------------------------------- ///----------------------------------------
/// @name Must not be used for subclassing. /// @name Must not be used for subclassing.
///---------------------------------------- ///----------------------------------------
...@@ -304,14 +317,3 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; ...@@ -304,14 +317,3 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag;
+ (nonnull instancetype)new NS_UNAVAILABLE; + (nonnull instancetype)new NS_UNAVAILABLE;
@end @end
@interface IQKeyboardManager(IQKeyboardManagerDeprecated)
/**
If YES, then hide previous/next button. Default is NO.
*/
@property(nonatomic, assign) BOOL shouldHidePreviousNext __attribute__((deprecated("Please use `previousNextDisplayMode` for better handling of previous/next button display. This property will be removed in future releases in favor of `previousNextDisplayMode`.")));
@end
This diff is collapsed.
...@@ -85,14 +85,14 @@ ...@@ -85,14 +85,14 @@
/** /**
Add all the UITextField/UITextView responderView's. Add all the UITextField/UITextView responderView's.
@param UIView object to register all it's responder subviews. @param view object to register all it's responder subviews.
*/ */
-(void)addResponderFromView:(nonnull UIView*)view; -(void)addResponderFromView:(nonnull UIView*)view;
/** /**
Remove all the UITextField/UITextView responderView's. Remove all the UITextField/UITextView responderView's.
@param UIView object to unregister all it's responder subviews. @param view object to unregister all it's responder subviews.
*/ */
-(void)removeResponderFromView:(nonnull UIView*)view; -(void)removeResponderFromView:(nonnull UIView*)view;
......
...@@ -106,7 +106,7 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType"; ...@@ -106,7 +106,7 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType";
if ([view isKindOfClass:[UITextField class]] || [view isKindOfClass:[UITextView class]]) if ([view isKindOfClass:[UITextField class]] || [view isKindOfClass:[UITextView class]])
{ {
UITextField *textField = (UITextField*)view; UITextField *textField = (UITextField*)view;
textField.returnKeyType = [dict[kIQTextFieldReturnKeyType] integerValue]; textField.returnKeyType = (UIReturnKeyType)[dict[kIQTextFieldReturnKeyType] integerValue];
textField.delegate = dict[kIQTextFieldDelegate]; textField.delegate = dict[kIQTextFieldDelegate];
} }
[textFieldInfoCache removeObject:dict]; [textFieldInfoCache removeObject:dict];
...@@ -542,8 +542,11 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType"; ...@@ -542,8 +542,11 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType";
delegate = dict[kIQTextFieldDelegate]; delegate = dict[kIQTextFieldDelegate];
} }
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if ([delegate respondsToSelector:@selector(textView:shouldInteractWithURL:inRange:)]) if ([delegate respondsToSelector:@selector(textView:shouldInteractWithURL:inRange:)])
return [delegate textView:textView shouldInteractWithURL:URL inRange:characterRange]; return [delegate textView:textView shouldInteractWithURL:URL inRange:characterRange];
#pragma clang diagnostic pop
else else
return YES; return YES;
} }
...@@ -558,8 +561,11 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType"; ...@@ -558,8 +561,11 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType";
delegate = dict[kIQTextFieldDelegate]; delegate = dict[kIQTextFieldDelegate];
} }
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if ([delegate respondsToSelector:@selector(textView:shouldInteractWithTextAttachment:inRange:)]) if ([delegate respondsToSelector:@selector(textView:shouldInteractWithTextAttachment:inRange:)])
return [delegate textView:textView shouldInteractWithTextAttachment:textAttachment inRange:characterRange]; return [delegate textView:textView shouldInteractWithTextAttachment:textAttachment inRange:characterRange];
#pragma clang diagnostic pop
else else
return YES; return YES;
} }
...@@ -573,7 +579,7 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType"; ...@@ -573,7 +579,7 @@ NSString *const kIQTextFieldReturnKeyType = @"kIQTextFieldReturnKeyType";
if ([view isKindOfClass:[UITextField class]] || [view isKindOfClass:[UITextView class]]) if ([view isKindOfClass:[UITextField class]] || [view isKindOfClass:[UITextView class]])
{ {
UITextField *textField = (UITextField*)view; UITextField *textField = (UITextField*)view;
textField.returnKeyType = [dict[kIQTextFieldReturnKeyType] integerValue]; textField.returnKeyType = (UIReturnKeyType)[dict[kIQTextFieldReturnKeyType] integerValue];
textField.delegate = dict[kIQTextFieldDelegate]; textField.delegate = dict[kIQTextFieldDelegate];
} }
} }
......
File mode changed from 100755 to 100644
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
[super layoutSubviews]; [super layoutSubviews];
[placeHolderLabel sizeToFit]; [placeHolderLabel sizeToFit];
placeHolderLabel.frame = CGRectMake(8, 8, CGRectGetWidth(self.frame)-16, CGRectGetHeight(placeHolderLabel.frame)); placeHolderLabel.frame = CGRectMake(4, 8, CGRectGetWidth(self.frame)-16, CGRectGetHeight(placeHolderLabel.frame));
} }
-(void)setPlaceholder:(NSString *)placeholder -(void)setPlaceholder:(NSString *)placeholder
......
File mode changed from 100755 to 100644
...@@ -210,15 +210,6 @@ ...@@ -210,15 +210,6 @@
else return NSOrderedSame; else return NSOrderedSame;
}]; }];
static Class IQUIToolbarTextButtonClass = Nil;
static Class IQUIToolbarButtonClass = Nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
IQUIToolbarTextButtonClass = NSClassFromString(@"UIToolbarTextButton");
IQUIToolbarButtonClass = NSClassFromString(@"UIToolbarButton");
});
for (UIView *barButtonItemView in subviews) for (UIView *barButtonItemView in subviews)
{ {
if (isTitleBarButtonFound == YES) if (isTitleBarButtonFound == YES)
...@@ -230,10 +221,15 @@ ...@@ -230,10 +221,15 @@
{ {
isTitleBarButtonFound = YES; isTitleBarButtonFound = YES;
} }
else if ([barButtonItemView isKindOfClass:IQUIToolbarTextButtonClass] || else
[barButtonItemView isKindOfClass:IQUIToolbarButtonClass])
{ {
leftRect = barButtonItemView.frame; NSString *classNameString = NSStringFromClass([barButtonItemView class]);
//If it's UIToolbarButton or UIToolbarTextButton
if (([classNameString hasPrefix:@"UIToolbar"] && [classNameString hasSuffix:@"Button"]))
{
leftRect = barButtonItemView.frame;
}
} }
} }
......
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
@param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'.
@param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'.
*/ */
- (void)addRightButtonOnKeyboardWithImage:(nullable UIImage*)image target:(nullable id)target action:(nullable SEL)action shouldShowPlaceholder:(BOOL)showPlaceholder; - (void)addRightButtonOnKeyboardWithImage:(nullable UIImage*)image target:(nullable id)target action:(nullable SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder;
/** /**
Helper function to add Right button on keyboard. Helper function to add Right button on keyboard.
......
...@@ -259,11 +259,11 @@ ...@@ -259,11 +259,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
- (void)addRightButtonOnKeyboardWithImage:(UIImage*)image target:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)showPlaceholder - (void)addRightButtonOnKeyboardWithImage:(UIImage*)image target:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addRightButtonOnKeyboardWithImage:image target:target action:action titleText:title]; [self addRightButtonOnKeyboardWithImage:image target:target action:action titleText:title];
...@@ -308,11 +308,11 @@ ...@@ -308,11 +308,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
- (void)addRightButtonOnKeyboardWithText:(NSString*)text target:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)showPlaceholder - (void)addRightButtonOnKeyboardWithText:(NSString*)text target:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addRightButtonOnKeyboardWithText:text target:target action:action titleText:title]; [self addRightButtonOnKeyboardWithText:text target:target action:action titleText:title];
...@@ -362,11 +362,11 @@ ...@@ -362,11 +362,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
-(void)addDoneOnKeyboardWithTarget:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)showPlaceholder -(void)addDoneOnKeyboardWithTarget:(id)target action:(SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addDoneOnKeyboardWithTarget:target action:action titleText:title]; [self addDoneOnKeyboardWithTarget:target action:action titleText:title];
...@@ -423,11 +423,11 @@ ...@@ -423,11 +423,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
- (void)addLeftRightOnKeyboardWithTarget:(id)target leftButtonTitle:(NSString*)leftTitle rightButtonTitle:(NSString*)rightTitle leftButtonAction:(SEL)leftAction rightButtonAction:(SEL)rightAction shouldShowPlaceholder:(BOOL)showPlaceholder - (void)addLeftRightOnKeyboardWithTarget:(id)target leftButtonTitle:(NSString*)leftTitle rightButtonTitle:(NSString*)rightTitle leftButtonAction:(SEL)leftAction rightButtonAction:(SEL)rightAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addLeftRightOnKeyboardWithTarget:target leftButtonTitle:leftTitle rightButtonTitle:rightTitle leftButtonAction:leftAction rightButtonAction:rightAction titleText:title]; [self addLeftRightOnKeyboardWithTarget:target leftButtonTitle:leftTitle rightButtonTitle:rightTitle leftButtonAction:leftAction rightButtonAction:rightAction titleText:title];
...@@ -482,11 +482,11 @@ ...@@ -482,11 +482,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
-(void)addCancelDoneOnKeyboardWithTarget:(id)target cancelAction:(SEL)cancelAction doneAction:(SEL)doneAction shouldShowPlaceholder:(BOOL)showPlaceholder -(void)addCancelDoneOnKeyboardWithTarget:(id)target cancelAction:(SEL)cancelAction doneAction:(SEL)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addCancelDoneOnKeyboardWithTarget:target cancelAction:cancelAction doneAction:doneAction titleText:title]; [self addCancelDoneOnKeyboardWithTarget:target cancelAction:cancelAction doneAction:doneAction titleText:title];
...@@ -590,11 +590,11 @@ ...@@ -590,11 +590,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
-(void)addPreviousNextDoneOnKeyboardWithTarget:(id)target previousAction:(SEL)previousAction nextAction:(SEL)nextAction doneAction:(SEL)doneAction shouldShowPlaceholder:(BOOL)showPlaceholder -(void)addPreviousNextDoneOnKeyboardWithTarget:(id)target previousAction:(SEL)previousAction nextAction:(SEL)nextAction doneAction:(SEL)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addPreviousNextDoneOnKeyboardWithTarget:target previousAction:previousAction nextAction:nextAction doneAction:doneAction titleText:title]; [self addPreviousNextDoneOnKeyboardWithTarget:target previousAction:previousAction nextAction:nextAction doneAction:doneAction titleText:title];
...@@ -698,11 +698,11 @@ ...@@ -698,11 +698,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction shouldShowPlaceholder:(BOOL)showPlaceholder - (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addPreviousNextRightOnKeyboardWithTarget:target rightButtonImage:rightButtonImage previousAction:previousAction nextAction:nextAction rightButtonAction:rightButtonAction titleText:title]; [self addPreviousNextRightOnKeyboardWithTarget:target rightButtonImage:rightButtonImage previousAction:previousAction nextAction:nextAction rightButtonAction:rightButtonAction titleText:title];
...@@ -800,11 +800,11 @@ ...@@ -800,11 +800,11 @@
[(UITextField*)self setInputAccessoryView:toolbar]; [(UITextField*)self setInputAccessoryView:toolbar];
} }
- (void)addPreviousNextRightOnKeyboardWithTarget:(id)target rightButtonTitle:(NSString*)rightButtonTitle previousAction:(SEL)previousAction nextAction:(SEL)nextAction rightButtonAction:(SEL)rightButtonAction shouldShowPlaceholder:(BOOL)showPlaceholder - (void)addPreviousNextRightOnKeyboardWithTarget:(id)target rightButtonTitle:(NSString*)rightButtonTitle previousAction:(SEL)previousAction nextAction:(SEL)nextAction rightButtonAction:(SEL)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder
{ {
NSString *title = nil; NSString *title = nil;
if (showPlaceholder) if (shouldShowPlaceholder)
title = [self drawingPlaceholderText]; title = [self drawingPlaceholderText];
[self addPreviousNextRightOnKeyboardWithTarget:target rightButtonTitle:rightButtonTitle previousAction:previousAction nextAction:nextAction rightButtonAction:rightButtonAction titleText:title]; [self addPreviousNextRightOnKeyboardWithTarget:target rightButtonTitle:rightButtonTitle previousAction:previousAction nextAction:nextAction rightButtonAction:rightButtonAction titleText:title];
......
File mode changed from 100755 to 100644
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
Often while developing an app, We ran into an issues where the iPhone keyboard slide up and cover the `UITextField/UITextView`. `IQKeyboardManager` allows you to prevent issues of the keyboard sliding up and cover `UITextField/UITextView` without needing you to enter any code and no additional setup required. To use `IQKeyboardManager` you simply need to add source files to your project. Often while developing an app, We ran into an issues where the iPhone keyboard slide up and cover the `UITextField/UITextView`. `IQKeyboardManager` allows you to prevent issues of the keyboard sliding up and cover `UITextField/UITextView` without needing you to enter any code and no additional setup required. To use `IQKeyboardManager` you simply need to add source files to your project.
####Key Features #### Key Features
[![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/pr?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager) [![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/pr?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager)
[![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/issue?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager) [![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/issue?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager)
...@@ -49,7 +49,7 @@ alt="IQKeyboardManager Demo Video" width="480" height="360" border="10" /></a> ...@@ -49,7 +49,7 @@ alt="IQKeyboardManager Demo Video" width="480" height="360" border="10" /></a>
## Warning ## Warning
- **If you're planning to build SDK/library/framework and wants to handle UITextField/UITextView with IQKeyboardManager then you're totally going on wrong way.** I would never suggest to add IQKeyboardManager as dependency/adding/shipping with any third-party library, instead of adding IQKeyboardManager you should implement your custom solution to achieve same result. IQKeyboardManager is totally designed for projects to help developers for their convenience, it's not designed for adding/dependency/shipping with any third-party library, because **doing this could block adoption by other developers for their projects as well(who are not using IQKeyboardManager and implemented their custom solution to handle UITextField/UITextView throught the project).** - **If you're planning to build SDK/library/framework and wants to handle UITextField/UITextView with IQKeyboardManager then you're totally going on wrong way.** I would never suggest to add IQKeyboardManager as dependency/adding/shipping with any third-party library, instead of adding IQKeyboardManager you should implement your custom solution to achieve same result. IQKeyboardManager is totally designed for projects to help developers for their convenience, it's not designed for adding/dependency/shipping with any third-party library, because **doing this could block adoption by other developers for their projects as well(who are not using IQKeyboardManager and implemented their custom solution to handle UITextField/UITextView thought the project).**
- If IQKeybaordManager conflicts with other third-party library, then it's developer responsibility to enable/disable IQKeyboardManager when presenting/dismissing third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager. - If IQKeybaordManager conflicts with other third-party library, then it's developer responsibility to enable/disable IQKeyboardManager when presenting/dismissing third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager.
## Requirements ## Requirements
...@@ -63,7 +63,7 @@ Minimum iOS Target: iOS 8.0 ...@@ -63,7 +63,7 @@ Minimum iOS Target: iOS 8.0
Minimum Xcode Version: Xcode 6.0.1 Minimum Xcode Version: Xcode 6.0.1
#### IQKeyboardManagerSwift:- #### IQKeyboardManagerSwift:-
[![Swift 3.0 compatible](https://img.shields.io/badge/Language-Swift3-blue.svg?style=flat)](https://developer.apple.com/swift) [![Swift 3.1 compatible](https://img.shields.io/badge/Language-Swift3-blue.svg?style=flat)](https://developer.apple.com/swift)
Minimum iOS Target: iOS 8.0 Minimum iOS Target: iOS 8.0
...@@ -71,7 +71,7 @@ Minimum Xcode Version: Xcode 8.0 ...@@ -71,7 +71,7 @@ Minimum Xcode Version: Xcode 8.0
#### Demo Project:- #### Demo Project:-
Minimum Xcode Version: Xcode 8.0 Minimum Xcode Version: Xcode 8.3
Installation Installation
...@@ -83,25 +83,28 @@ Installation ...@@ -83,25 +83,28 @@ Installation
**Note:-** **Note:-**
- 3.3.7 is the last iOS 7 supported version. - 3.3.7 is the last iOS 7 supported version.
- 4.0.5 is the last Swift2.2 supported version.
***IQKeyboardManager (Objective-C):-*** IQKeyboardManager is available through [CocoaPods](http://cocoapods.org), to install ***IQKeyboardManager (Objective-C):-*** IQKeyboardManager is available through [CocoaPods](http://cocoapods.org), to install
it simply add the following line to your Podfile: ([#9](https://github.com/hackiftekhar/IQKeyboardManager/issues/9)) it simply add the following line to your Podfile: ([#9](https://github.com/hackiftekhar/IQKeyboardManager/issues/9))
`pod 'IQKeyboardManager'` *iOS8 and later* `pod 'IQKeyboardManager'`
*iOS7* `pod 'IQKeyboardManagerSwift', '3.3.7'`
***IQKeyboardManager (Swift):-*** IQKeyboardManagerSwift is available through [CocoaPods](http://cocoapods.org), to install ***IQKeyboardManager (Swift):-*** IQKeyboardManagerSwift is available through [CocoaPods](http://cocoapods.org), to install
it simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236)) it simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236))
*Swift 3.0 (Xcode 8.0)* *Swift 3.1 (Xcode 8.0)*
`pod 'IQKeyboardManagerSwift'` `pod 'IQKeyboardManagerSwift'`
*Or* *Or*
`pod 'IQKeyboardManagerSwift', '4.0.6'` `pod 'IQKeyboardManagerSwift', '4.0.9'`
*Swift 3.0(3.0.2) (Xcode 8.2)* `pod 'IQKeyboardManagerSwift', '4.0.8'`
*Swift 2.2 (Xcode 7.3)* `pod 'IQKeyboardManagerSwift', '4.0.5'` *Swift 2.2 or 2.3 (Xcode 7.3)* `pod 'IQKeyboardManagerSwift', '4.0.5'`
*Swift 2.1.1 (Xcode 7.2)* `pod 'IQKeyboardManagerSwift', '4.0.0'` *Swift 2.1.1 (Xcode 7.2)* `pod 'IQKeyboardManagerSwift', '4.0.0'`
...@@ -176,12 +179,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate { ...@@ -176,12 +179,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
## Known Issues:- ## Known Issues:-
You can find known issues list [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/KNOWN ISSUES.md). You can find known issues list [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/KNOWN%20ISSUES.md).
Manual Management:- Manual Management:-
--- ---
You can find some manual management tweaks & examples [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/MANUAL MANAGEMENT.md). You can find some manual management tweaks & examples [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/MANUAL%20MANAGEMENT.md).
...@@ -189,9 +192,9 @@ You can find some manual management tweaks & examples [here](https://github.com/ ...@@ -189,9 +192,9 @@ You can find some manual management tweaks & examples [here](https://github.com/
[![IQKeyboardManager CFD](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg)](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg) [![IQKeyboardManager CFD](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg)](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg)
##Properties and functions usage:- ## Properties and functions usage:-
You can find some documentation about properties, methods and their uses [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/PROPERTIES & FUNCTIONS.md). You can find some documentation about properties, methods and their uses [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/PROPERTIES%20%26%20FUNCTIONS.md).
LICENSE LICENSE
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved. * Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved.
*/ */
#define JPUSH_VERSION_NUMBER 3.0.2 #define JPUSH_VERSION_NUMBER 3.0.6
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
@class UNNotification; @class UNNotification;
@protocol JPUSHRegisterDelegate; @protocol JPUSHRegisterDelegate;
typedef void (^JPUSHTagsOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq);
typedef void (^JPUSHTagValidOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq, BOOL isBind);
typedef void (^JPUSHAliasOperationCompletion)(NSInteger iResCode, NSString *iAlias, NSInteger seq);
extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中 extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中
extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接 extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接
extern NSString *const kJPFNetworkDidCloseNotification; // 关闭连接 extern NSString *const kJPFNetworkDidCloseNotification; // 关闭连接
...@@ -137,6 +141,7 @@ typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) { ...@@ -137,6 +141,7 @@ typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) {
* @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识.
* @param channel 发布渠道. 可选. * @param channel 发布渠道. 可选.
* @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
* App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致.
* @param advertisingIdentifier 广告标识符(IDFA) 如果不需要使用IDFA,传nil. * @param advertisingIdentifier 广告标识符(IDFA) 如果不需要使用IDFA,传nil.
* *
* @discussion 提供SDK启动必须的参数, 来启动 SDK. * @discussion 提供SDK启动必须的参数, 来启动 SDK.
...@@ -186,41 +191,102 @@ typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) { ...@@ -186,41 +191,102 @@ typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) {
*/ */
+ (void)handleRemoteNotification:(NSDictionary *)remoteInfo; + (void)handleRemoteNotification:(NSDictionary *)remoteInfo;
/*!
* Tags操作接口
* 支持增加/覆盖/删除/清空/查询操作
* 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/)
*/
///---------------------------------------------------- /**
/// @name Tag alias setting 设置别名与标签 增加tags
///----------------------------------------------------
/*! @param tags 需要增加的tags集合
* 下面的接口是可选的 @param completion 响应回调
* 设置标签和(或)别名(若参数为nil,则忽略;若是空对象,则清空;详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) @param seq 请求序列号
* setTags:alias:fetchCompletionHandle:是新的设置标签别名的方法,不再需要显示声明回调函数,只需要在block里面处理设置结果即可.
* WARN: 使用block时需要注意循环引用问题
*/ */
+ (void) setTags:(NSSet *)tags + (void)addTags:(NSSet<NSString *> *)tags
alias:(NSString *)alias completion:(JPUSHTagsOperationCompletion)completion
callbackSelector:(SEL)cbSelector seq:(NSInteger)seq;
target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期")));
+ (void) setTags:(NSSet *)tags /**
alias:(NSString *)alias 覆盖tags
callbackSelector:(SEL)cbSelector 调用该接口会覆盖用户所有的tags
object:(id)theTarget;
+ (void) setTags:(NSSet *)tags @param tags 需要设置的tags集合
callbackSelector:(SEL)cbSelector @param completion 响应回调
object:(id)theTarget; @param seq 请求序列号
*/
+ (void)setTags:(NSSet<NSString *> *)tags
completion:(JPUSHTagsOperationCompletion)completion
seq:(NSInteger)seq;
+ (void)setTags:(NSSet *)tags /**
alias:(NSString *)alias 删除指定tags
fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler;
+ (void) setTags:(NSSet *)tags @param tags 需要删除的tags集合
aliasInbackground:(NSString *)alias; @param completion 响应回调
@param seq 请求序列号
*/
+ (void)deleteTags:(NSSet<NSString *> *)tags
completion:(JPUSHTagsOperationCompletion)completion
seq:(NSInteger)seq;
/**
清空所有tags
@param completion 响应回调
@param seq 请求序列号
*/
+ (void)cleanTags:(JPUSHTagsOperationCompletion)completion
seq:(NSInteger)seq;
/**
查询全部tags
@param completion 响应回调,请在回调中获取查询结果
@param seq 请求序列号
*/
+ (void)getAllTags:(JPUSHTagsOperationCompletion)completion
seq:(NSInteger)seq;
/**
验证tag是否绑定
@param completion 响应回调,回调中查看是否绑定
@param seq 请求序列号
*/
+ (void)validTag:(NSString *)tag
completion:(JPUSHTagValidOperationCompletion)completion
seq:(NSInteger)seq;
/**
设置Alias
@param alias 需要设置的alias
@param completion 响应回调
@param seq 请求序列号
*/
+ (void)setAlias:(NSString *)alias + (void)setAlias:(NSString *)alias
callbackSelector:(SEL)cbSelector completion:(JPUSHAliasOperationCompletion)completion
object:(id)theTarget; seq:(NSInteger)seq;
/**
删除alias
@param completion 响应回调
@param seq 请求序列号
*/
+ (void)deleteAlias:(JPUSHAliasOperationCompletion)completion
seq:(NSInteger)seq;
/**
查询当前alias
@param completion 响应回调
@param seq 请求序列号
*/
+ (void)getAlias:(JPUSHAliasOperationCompletion)completion
seq:(NSInteger)seq;
/*! /*!
* @abstract 过滤掉无效的 tags * @abstract 过滤掉无效的 tags
...@@ -230,7 +296,6 @@ callbackSelector:(SEL)cbSelector ...@@ -230,7 +296,6 @@ callbackSelector:(SEL)cbSelector
*/ */
+ (NSSet *)filterValidTags:(NSSet *)tags; + (NSSet *)filterValidTags:(NSSet *)tags;
///---------------------------------------------------- ///----------------------------------------------------
/// @name Stats 统计功能 /// @name Stats 统计功能
///---------------------------------------------------- ///----------------------------------------------------
...@@ -456,7 +521,7 @@ callbackSelector:(SEL)cbSelector ...@@ -456,7 +521,7 @@ callbackSelector:(SEL)cbSelector
* *
* SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志. * SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志.
* *
* 调用本接口可打开日志级别为: Debug, 打印调试日志. * 请在SDK启动后调用本接口,调用本接口可打开日志级别为: Debug, 打印调试日志.
*/ */
+ (void)setDebugMode; + (void)setDebugMode;
...@@ -471,6 +536,40 @@ callbackSelector:(SEL)cbSelector ...@@ -471,6 +536,40 @@ callbackSelector:(SEL)cbSelector
*/ */
+ (void)setLogOFF; + (void)setLogOFF;
///----------------------------------------------------
///********************下列方法已过期********************
///**************请使用新版tag/alias操作接口**************
///----------------------------------------------------
/// @name Tag alias setting 设置别名与标签
///----------------------------------------------------
/*!
* 下面的接口是可选的
* 设置标签和(或)别名(若参数为nil,则忽略;若是空对象,则清空;详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/)
* setTags:alias:fetchCompletionHandle:是新的设置标签别名的方法,不再需要显示声明回调函数,只需要在block里面处理设置结果即可.
* WARN: 使用block时需要注意循环引用问题
*/
+ (void) setTags:(NSSet *)tags
alias:(NSString *)alias
callbackSelector:(SEL)cbSelector
target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期")));
+ (void) setTags:(NSSet *)tags
alias:(NSString *)alias
callbackSelector:(SEL)cbSelector
object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期")));
+ (void) setTags:(NSSet *)tags
callbackSelector:(SEL)cbSelector
object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期")));
+ (void)setTags:(NSSet *)tags
alias:(NSString *)alias
fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler __attribute__((deprecated("JPush 3.0.6 版本已过期")));
+ (void) setTags:(NSSet *)tags
aliasInbackground:(NSString *)alias __attribute__((deprecated("JPush 3.0.6 版本已过期")));
+ (void)setAlias:(NSString *)alias
callbackSelector:(SEL)cbSelector
object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期")));
@end @end
@class UNUserNotificationCenter; @class UNUserNotificationCenter;
......
...@@ -15,14 +15,14 @@ PODS: ...@@ -15,14 +15,14 @@ PODS:
- AFNetworking/UIKit (3.1.0): - AFNetworking/UIKit (3.1.0):
- AFNetworking/NSURLSession - AFNetworking/NSURLSession
- AliyunOSSiOS (2.6.0) - AliyunOSSiOS (2.6.0)
- Bugly (2.4.7) - Bugly (2.4.8)
- DACircularProgress (2.3.1) - DACircularProgress (2.3.1)
- DZNEmptyDataSet (1.8.1) - DZNEmptyDataSet (1.8.1)
- FDFullscreenPopGesture (1.1) - FDFullscreenPopGesture (1.1)
- iCarousel (1.8.3) - iCarousel (1.8.3)
- IQKeyboardManager (4.0.8) - IQKeyboardManager (4.0.10)
- JCore (1.1.1) - JCore (1.1.5)
- JPush (3.0.2): - JPush (3.0.6):
- JCore (~> 1.1.1) - JCore (~> 1.1.1)
- JSONModel (1.2.0) - JSONModel (1.2.0)
- Masonry (1.0.2) - Masonry (1.0.2)
...@@ -52,15 +52,15 @@ PODS: ...@@ -52,15 +52,15 @@ PODS:
- UICountingLabel (1.2.0) - UICountingLabel (1.2.0)
- UITableView+FDTemplateLayoutCell (1.6) - UITableView+FDTemplateLayoutCell (1.6)
- UMengAnalytics (4.2.4) - UMengAnalytics (4.2.4)
- UMengUShare/Core (6.4.1): - UMengUShare/Core (6.4.5):
- UMengUShare/Network - UMengUShare/Network
- UMengUShare/Network (6.4.1) - UMengUShare/Network (6.4.5)
- UMengUShare/Social/ReducedSina (6.4.1): - UMengUShare/Social/ReducedSina (6.4.5):
- UMengUShare/Core - UMengUShare/Core
- UMengUShare/Social/ReducedWeChat (6.4.1): - UMengUShare/Social/ReducedWeChat (6.4.5):
- UMengUShare/Core - UMengUShare/Core
- WYPopoverController (0.3.9) - WYPopoverController (0.3.9)
- WZLBadge (1.2.5) - WZLBadge (1.2.6)
- YXAlertController (1.0.7) - YXAlertController (1.0.7)
DEPENDENCIES: DEPENDENCIES:
...@@ -91,14 +91,14 @@ DEPENDENCIES: ...@@ -91,14 +91,14 @@ DEPENDENCIES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
AliyunOSSiOS: '058b038cc82000dadb8f8e3893a97243124f2898' AliyunOSSiOS: '058b038cc82000dadb8f8e3893a97243124f2898'
Bugly: 2c256069145f550171907c5cb1c0f84ad291f6c1 Bugly: da3c02408c14838d498429320545a8e439392978
DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71 DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71
DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7 DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0 FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0
iCarousel: d782f635afac190c49bb8ee455882284cff8b85f iCarousel: d782f635afac190c49bb8ee455882284cff8b85f
IQKeyboardManager: 1a8189fa153bf09044355ee0ad36826f6767e7f7 IQKeyboardManager: 593ee99b88381f4b9ccb22bd680f22606351bd41
JCore: 2210a789c8efb7dc2a46b1c24d2209b995b18ad2 JCore: 9bd9c770c877c583d98b90a68792b8361974c231
JPush: 01a693fafe51b93eafc2e368bbc7a7cc07e12ce4 JPush: c41be50eb1a574a66aeb68d237f00a4ec6ec3a82
JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c
Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e
MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1 MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1
...@@ -110,9 +110,9 @@ SPEC CHECKSUMS: ...@@ -110,9 +110,9 @@ SPEC CHECKSUMS:
UICountingLabel: 1db4e7d023e1762171eb226d6dff47a7a84f27aa UICountingLabel: 1db4e7d023e1762171eb226d6dff47a7a84f27aa
UITableView+FDTemplateLayoutCell: 5c949b4a5059c404b442926c0e80f81d10a2d66f UITableView+FDTemplateLayoutCell: 5c949b4a5059c404b442926c0e80f81d10a2d66f
UMengAnalytics: ef8d45f94c0e5771dc364cf6a5731d9d3b101da2 UMengAnalytics: ef8d45f94c0e5771dc364cf6a5731d9d3b101da2
UMengUShare: 7756e2e46ceba04e3000fb2c9b1d3f61784ca2ff UMengUShare: a5711c54e640b04e3048e931d2b88d50f9cfa55c
WYPopoverController: a9db25ac2841a686acdc0f3a99bdb21545db32f4 WYPopoverController: a9db25ac2841a686acdc0f3a99bdb21545db32f4
WZLBadge: 16c08aa0a645e2591690f21cbcb410a3d878c7ac WZLBadge: 9ec779dcfd94c825518b395e8315fccaabff1bfa
YXAlertController: 68e27c48976fa9ecc0b82e63166b67863be8b70b YXAlertController: 68e27c48976fa9ecc0b82e63166b67863be8b70b
PODFILE CHECKSUM: 4b56e3ba89ba6d8693f5d5775770671ed0c82ac3 PODFILE CHECKSUM: 4b56e3ba89ba6d8693f5d5775770671ed0c82ac3
......
This diff is collapsed.
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/IQKeyboardManager" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel" HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/IQKeyboardManager" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel"
OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT} PODS_ROOT = ${SRCROOT}
......
...@@ -3,7 +3,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ...@@ -3,7 +3,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel"
LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/UMengAnalytics/**" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AliyunOSSiOS" "$PODS_CONFIGURATION_BUILD_DIR/DACircularProgress" "$PODS_CONFIGURATION_BUILD_DIR/DZNEmptyDataSet" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/JSONModel" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/MMDrawerController" "$PODS_CONFIGURATION_BUILD_DIR/MWPhotoBrowser" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/PNChart" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" "$PODS_CONFIGURATION_BUILD_DIR/UICountingLabel" "$PODS_CONFIGURATION_BUILD_DIR/UITableView+FDTemplateLayoutCell" "$PODS_CONFIGURATION_BUILD_DIR/WYPopoverController" "$PODS_CONFIGURATION_BUILD_DIR/WZLBadge" "$PODS_CONFIGURATION_BUILD_DIR/YXAlertController" "$PODS_CONFIGURATION_BUILD_DIR/iCarousel" $(inherited) "${PODS_ROOT}/JCore" $(inherited) "${PODS_ROOT}/JPush" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDKPlugin" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/WeChat" LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/UMengAnalytics/**" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AliyunOSSiOS" "$PODS_CONFIGURATION_BUILD_DIR/DACircularProgress" "$PODS_CONFIGURATION_BUILD_DIR/DZNEmptyDataSet" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/JSONModel" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/MMDrawerController" "$PODS_CONFIGURATION_BUILD_DIR/MWPhotoBrowser" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/PNChart" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" "$PODS_CONFIGURATION_BUILD_DIR/UICountingLabel" "$PODS_CONFIGURATION_BUILD_DIR/UITableView+FDTemplateLayoutCell" "$PODS_CONFIGURATION_BUILD_DIR/WYPopoverController" "$PODS_CONFIGURATION_BUILD_DIR/WZLBadge" "$PODS_CONFIGURATION_BUILD_DIR/YXAlertController" "$PODS_CONFIGURATION_BUILD_DIR/iCarousel" $(inherited) "${PODS_ROOT}/JCore" $(inherited) "${PODS_ROOT}/JPush" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDKPlugin" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/WeChat"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" -isystem "${PODS_ROOT}/Headers/Public/Bugly" -isystem "${PODS_ROOT}/Headers/Public/DACircularProgress" -isystem "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" -isystem "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JCore" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JSONModel" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/MMDrawerController" -isystem "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/PNChart" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/UICountingLabel" -isystem "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" -isystem "${PODS_ROOT}/Headers/Public/UMengAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMengUShare" -isystem "${PODS_ROOT}/Headers/Public/WYPopoverController" -isystem "${PODS_ROOT}/Headers/Public/WZLBadge" -isystem "${PODS_ROOT}/Headers/Public/YXAlertController" -isystem "${PODS_ROOT}/Headers/Public/iCarousel" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" -isystem "${PODS_ROOT}/Headers/Public/Bugly" -isystem "${PODS_ROOT}/Headers/Public/DACircularProgress" -isystem "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" -isystem "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JCore" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JSONModel" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/MMDrawerController" -isystem "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/PNChart" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/UICountingLabel" -isystem "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" -isystem "${PODS_ROOT}/Headers/Public/UMengAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMengUShare" -isystem "${PODS_ROOT}/Headers/Public/WYPopoverController" -isystem "${PODS_ROOT}/Headers/Public/WZLBadge" -isystem "${PODS_ROOT}/Headers/Public/YXAlertController" -isystem "${PODS_ROOT}/Headers/Public/iCarousel"
OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"AliyunOSSiOS" -l"DACircularProgress" -l"DZNEmptyDataSet" -l"FDFullscreenPopGesture" -l"IQKeyboardManager" -l"JSONModel" -l"MBProgressHUD" -l"MJRefresh" -l"MMDrawerController" -l"MWPhotoBrowser" -l"Masonry" -l"PNChart" -l"SDWebImage" -l"SocialSina" -l"SocialWeChat" -l"UICountingLabel" -l"UITableView+FDTemplateLayoutCell" -l"UMSocialLog" -l"WYPopoverController" -l"WZLBadge" -l"YXAlertController" -l"c++" -l"iCarousel" -l"jcore-ios-1.1.1" -l"jpush-ios-3.0.2" -l"resolv" -l"sqlite3" -l"z" -framework "AssetsLibrary" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "UMMobClick" -framework "UMSocialCore" -framework "UMSocialNetwork" -weak_framework "Photos" -weak_framework "UserNotifications" OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"AliyunOSSiOS" -l"DACircularProgress" -l"DZNEmptyDataSet" -l"FDFullscreenPopGesture" -l"IQKeyboardManager" -l"JSONModel" -l"MBProgressHUD" -l"MJRefresh" -l"MMDrawerController" -l"MWPhotoBrowser" -l"Masonry" -l"PNChart" -l"SDWebImage" -l"SocialSina" -l"SocialWeChat" -l"UICountingLabel" -l"UITableView+FDTemplateLayoutCell" -l"UMSocialLog" -l"WYPopoverController" -l"WZLBadge" -l"YXAlertController" -l"c++" -l"iCarousel" -l"jcore-ios-1.1.5" -l"jpush-ios-3.0.6" -l"resolv" -l"sqlite3" -l"z" -framework "AssetsLibrary" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "UMMobClick" -framework "UMSocialCore" -framework "UMSocialNetwork" -weak_framework "Photos" -weak_framework "UserNotifications"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
......
...@@ -3,7 +3,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ...@@ -3,7 +3,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" "${PODS_ROOT}/Headers/Public/Bugly" "${PODS_ROOT}/Headers/Public/DACircularProgress" "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JCore" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JSONModel" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/MMDrawerController" "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/PNChart" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UICountingLabel" "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" "${PODS_ROOT}/Headers/Public/UMengAnalytics" "${PODS_ROOT}/Headers/Public/UMengUShare" "${PODS_ROOT}/Headers/Public/WYPopoverController" "${PODS_ROOT}/Headers/Public/WZLBadge" "${PODS_ROOT}/Headers/Public/YXAlertController" "${PODS_ROOT}/Headers/Public/iCarousel"
LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/UMengAnalytics/**" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AliyunOSSiOS" "$PODS_CONFIGURATION_BUILD_DIR/DACircularProgress" "$PODS_CONFIGURATION_BUILD_DIR/DZNEmptyDataSet" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/JSONModel" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/MMDrawerController" "$PODS_CONFIGURATION_BUILD_DIR/MWPhotoBrowser" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/PNChart" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" "$PODS_CONFIGURATION_BUILD_DIR/UICountingLabel" "$PODS_CONFIGURATION_BUILD_DIR/UITableView+FDTemplateLayoutCell" "$PODS_CONFIGURATION_BUILD_DIR/WYPopoverController" "$PODS_CONFIGURATION_BUILD_DIR/WZLBadge" "$PODS_CONFIGURATION_BUILD_DIR/YXAlertController" "$PODS_CONFIGURATION_BUILD_DIR/iCarousel" $(inherited) "${PODS_ROOT}/JCore" $(inherited) "${PODS_ROOT}/JPush" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDKPlugin" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/WeChat" LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/UMengAnalytics/**" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AliyunOSSiOS" "$PODS_CONFIGURATION_BUILD_DIR/DACircularProgress" "$PODS_CONFIGURATION_BUILD_DIR/DZNEmptyDataSet" "$PODS_CONFIGURATION_BUILD_DIR/FDFullscreenPopGesture" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/JSONModel" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/MJRefresh" "$PODS_CONFIGURATION_BUILD_DIR/MMDrawerController" "$PODS_CONFIGURATION_BUILD_DIR/MWPhotoBrowser" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/PNChart" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" "$PODS_CONFIGURATION_BUILD_DIR/UICountingLabel" "$PODS_CONFIGURATION_BUILD_DIR/UITableView+FDTemplateLayoutCell" "$PODS_CONFIGURATION_BUILD_DIR/WYPopoverController" "$PODS_CONFIGURATION_BUILD_DIR/WZLBadge" "$PODS_CONFIGURATION_BUILD_DIR/YXAlertController" "$PODS_CONFIGURATION_BUILD_DIR/iCarousel" $(inherited) "${PODS_ROOT}/JCore" $(inherited) "${PODS_ROOT}/JPush" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDKPlugin" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina" $(inherited) "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/WeChat"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" -isystem "${PODS_ROOT}/Headers/Public/Bugly" -isystem "${PODS_ROOT}/Headers/Public/DACircularProgress" -isystem "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" -isystem "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JCore" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JSONModel" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/MMDrawerController" -isystem "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/PNChart" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/UICountingLabel" -isystem "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" -isystem "${PODS_ROOT}/Headers/Public/UMengAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMengUShare" -isystem "${PODS_ROOT}/Headers/Public/WYPopoverController" -isystem "${PODS_ROOT}/Headers/Public/WZLBadge" -isystem "${PODS_ROOT}/Headers/Public/YXAlertController" -isystem "${PODS_ROOT}/Headers/Public/iCarousel" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/AliyunOSSiOS" -isystem "${PODS_ROOT}/Headers/Public/Bugly" -isystem "${PODS_ROOT}/Headers/Public/DACircularProgress" -isystem "${PODS_ROOT}/Headers/Public/DZNEmptyDataSet" -isystem "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JCore" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JSONModel" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/MMDrawerController" -isystem "${PODS_ROOT}/Headers/Public/MWPhotoBrowser" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/PNChart" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/UICountingLabel" -isystem "${PODS_ROOT}/Headers/Public/UITableView+FDTemplateLayoutCell" -isystem "${PODS_ROOT}/Headers/Public/UMengAnalytics" -isystem "${PODS_ROOT}/Headers/Public/UMengUShare" -isystem "${PODS_ROOT}/Headers/Public/WYPopoverController" -isystem "${PODS_ROOT}/Headers/Public/WZLBadge" -isystem "${PODS_ROOT}/Headers/Public/YXAlertController" -isystem "${PODS_ROOT}/Headers/Public/iCarousel"
OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"AliyunOSSiOS" -l"DACircularProgress" -l"DZNEmptyDataSet" -l"FDFullscreenPopGesture" -l"IQKeyboardManager" -l"JSONModel" -l"MBProgressHUD" -l"MJRefresh" -l"MMDrawerController" -l"MWPhotoBrowser" -l"Masonry" -l"PNChart" -l"SDWebImage" -l"SocialSina" -l"SocialWeChat" -l"UICountingLabel" -l"UITableView+FDTemplateLayoutCell" -l"UMSocialLog" -l"WYPopoverController" -l"WZLBadge" -l"YXAlertController" -l"c++" -l"iCarousel" -l"jcore-ios-1.1.1" -l"jpush-ios-3.0.2" -l"resolv" -l"sqlite3" -l"z" -framework "AssetsLibrary" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "UMMobClick" -framework "UMSocialCore" -framework "UMSocialNetwork" -weak_framework "Photos" -weak_framework "UserNotifications" OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"AliyunOSSiOS" -l"DACircularProgress" -l"DZNEmptyDataSet" -l"FDFullscreenPopGesture" -l"IQKeyboardManager" -l"JSONModel" -l"MBProgressHUD" -l"MJRefresh" -l"MMDrawerController" -l"MWPhotoBrowser" -l"Masonry" -l"PNChart" -l"SDWebImage" -l"SocialSina" -l"SocialWeChat" -l"UICountingLabel" -l"UITableView+FDTemplateLayoutCell" -l"UMSocialLog" -l"WYPopoverController" -l"WZLBadge" -l"YXAlertController" -l"c++" -l"iCarousel" -l"jcore-ios-1.1.5" -l"jpush-ios-3.0.6" -l"resolv" -l"sqlite3" -l"z" -framework "AssetsLibrary" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "UMMobClick" -framework "UMSocialCore" -framework "UMSocialNetwork" -weak_framework "Photos" -weak_framework "UserNotifications"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
......
//
// UMSBaeViewController.h
// UMSocialSDK
//
// Created by wyq.Cloudayc on 11/22/16.
// Copyright © 2016 UMeng. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UMSBaeViewController : UIViewController
@property (nonatomic, strong) NSString *titleString;
- (CGFloat)viewOffsetY;
@end
...@@ -160,7 +160,8 @@ ...@@ -160,7 +160,8 @@
* @param platformType 平台类型 @see UMSocialPlatformType * @param platformType 平台类型 @see UMSocialPlatformType
* *
* @return YES 代表安装,NO 代表未安装 * @return YES 代表安装,NO 代表未安装
* @note 在判断QQ空间的App的时候,QQApi判断会出问题 * @note 调用前请检查是否配置好平台相关白名单: http://dev.umeng.com/social/ios/quick-integration#1_3
* 在判断QQ空间的App的时候,QQApi判断会出问题
*/ */
-(BOOL) isInstall:(UMSocialPlatformType)platformType; -(BOOL) isInstall:(UMSocialPlatformType)platformType;
......
...@@ -96,12 +96,11 @@ ...@@ -96,12 +96,11 @@
* *
*/ */
+ (UMShareImageObject *)shareObjectWithTitle:(NSString *)title + (UMShareImageObject *)shareObjectWithTitle:(NSString *)title
descr:(NSString *)descr descr:(NSString *)descr
thumImage:(id)thumImage; thumImage:(id)thumImage;
@end @end
@interface UMShareMusicObject : UMShareObject @interface UMShareMusicObject : UMShareObject
/** 音乐网页的url地址 /** 音乐网页的url地址
...@@ -129,8 +128,8 @@ ...@@ -129,8 +128,8 @@
* *
*/ */
+ (UMShareMusicObject *)shareObjectWithTitle:(NSString *)title + (UMShareMusicObject *)shareObjectWithTitle:(NSString *)title
descr:(NSString *)descr descr:(NSString *)descr
thumImage:(id)thumImage; thumImage:(id)thumImage;
@end @end
...@@ -394,4 +393,33 @@ ...@@ -394,4 +393,33 @@
*/ */
@property (nonatomic, retain) NSData *fileData; @property (nonatomic, retain) NSData *fileData;
@end @end
#pragma mark - UMMiniProgramObject
/*! @brief 多媒体消息中包含 分享微信小程序的数据对象
*
* @see UMShareObject
*/
@interface UMShareMiniProgramObject : UMShareObject
/**
低版本微信网页链接
*/
@property (nonatomic, strong) NSString *webpageUrl;
/**
小程序username
*/
@property (nonatomic, strong) NSString *userName;
/**
小程序页面的路径
*/
@property (nonatomic, strong) NSString *path;
@end
...@@ -75,6 +75,11 @@ extern NSString *const UMSPlatformNameAlipaySession; ...@@ -75,6 +75,11 @@ extern NSString *const UMSPlatformNameAlipaySession;
*/ */
extern NSString *const UMSPlatformNameQQ; extern NSString *const UMSPlatformNameQQ;
/**
Tencent Tim
*/
extern NSString *const UMSPlatformNameTim;
/** /**
Facebook Facebook
*/ */
...@@ -334,6 +339,7 @@ typedef NS_ENUM(NSInteger,UMSocialPlatformType) ...@@ -334,6 +339,7 @@ typedef NS_ENUM(NSInteger,UMSocialPlatformType)
UMSocialPlatformType_DropBox = 32,//dropbox UMSocialPlatformType_DropBox = 32,//dropbox
UMSocialPlatformType_VKontakte = 33,//vkontakte UMSocialPlatformType_VKontakte = 33,//vkontakte
UMSocialPlatformType_FaceBookMessenger = 34,//FaceBookMessenger UMSocialPlatformType_FaceBookMessenger = 34,//FaceBookMessenger
UMSocialPlatformType_Tim = 35,// Tencent TIM
UMSocialPlatformType_Predefine_end = 999, UMSocialPlatformType_Predefine_end = 999,
......
...@@ -17,6 +17,15 @@ ...@@ -17,6 +17,15 @@
@property (nonatomic, copy) NSDate *expiration; @property (nonatomic, copy) NSDate *expiration;
@property (nonatomic, copy) NSString *accessToken; @property (nonatomic, copy) NSString *accessToken;
@property (nonatomic, copy) NSString *unionId;
/**
usid 兼容U-Share 4.x/5.x 版本,与4/5版本数值相同
即,对应微信平台:openId,QQ平台openId,其他平台不变
*/
@property (nonatomic, copy) NSString *usid;
@property (nonatomic, assign) UMSocialPlatformType platformType; @property (nonatomic, assign) UMSocialPlatformType platformType;
/** /**
* 第三方原始数据 * 第三方原始数据
......
//
// UMSocialSOAuthViewController.h
// UMSocialSDK
//
// Created by wangfei on 16/8/15.
// Copyright © 2016年 dongjianxiong. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "UMSBaeViewController.h"
#import "UMSocialPlatformConfig.h"
@interface UMSocialSOAuthViewController : UMSBaeViewController<UIWebViewDelegate,UIAlertViewDelegate>
@property (nonatomic,strong) UIWebView *webView;
@property(nonatomic,assign) UMSocialPlatformType platformType;
@property (nonatomic, copy) UMSocialRequestCompletionHandler authCompletionBlock;
@property (nonatomic,strong) NSString* waitUrl;
@end
//
// UMSocialShareEditViewController.h
// UMSocialSDK
//
// Created by wangfei on 16/8/16.
// Copyright © 2016年 dongjianxiong. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "UMSocialPlatformConfig.h"
#import "UMSBaeViewController.h"
@class UMSocialMessageObject;
@interface UMSocialShareEditViewController : UMSBaeViewController
@property (nonatomic,strong) UIImageView* editBar;
@property (nonatomic,strong) UILabel* numLabel;
@property (nonatomic,strong) UIImageView* imageView;
@property (nonatomic,strong) UIButton* delBtn;
@property (nonatomic,strong) UITextView* editView;
@property (nonatomic,strong) UIView* editViewBack;
@property (nonatomic,strong) UILabel* titleLabel;
@property (nonatomic,strong) UILabel* desLabel;
@property (nonatomic,strong) UMSocialMessageObject *shareContent;
@property (nonatomic, copy) UMSocialRequestCompletionHandler shareCompletionBlock;
@property (nonatomic,strong) NSString* usid;
@property (nonatomic,assign) UMSocialPlatformType platformType;
@end
...@@ -23,11 +23,12 @@ Three animation types are supported: ...@@ -23,11 +23,12 @@ Three animation types are supported:
- WBadgeAnimTypeBounce - WBadgeAnimTypeBounce
Here are examples for WZLBadge: Here are examples for WZLBadge(just show static picture without gif here):
![](https://ww2.sinaimg.cn/large/006tKfTcgy1fevi5smct4j30yi1pcn52.jpg)
![](http://media.xtwind.com/images/2016/03/14/09a28a239eba55b920b804b7c356f2b8.gif)
![](http://media.xtwind.com/images/2016/03/14/d1db854e8fa291c0356f76727c6c6506.gif) ![](https://ww3.sinaimg.cn/large/006tKfTcgy1fevi5x1h2cj31kw0w0tdc.jpg)
---------- ----------
...@@ -137,6 +138,13 @@ Feel free to open an issue or pull request, if you need help or there is a bug. ...@@ -137,6 +138,13 @@ Feel free to open an issue or pull request, if you need help or there is a bug.
---------- ----------
CHANGE LOG CHANGE LOG
-------------------- --------------------
v1.2.6 2017.4.20
Bugs were fixed.
Enable setting badge properties before bage initialization.
v.1.2.5 201.7.31
fix bug 'when showing TabbarItem bage, badge is covered by tabbarItem icon'
v1.2.3 2016.2.15 v1.2.3 2016.2.15
1.Enable resume badge when badge has been cleard(removed) 1.Enable resume badge when badge has been cleard(removed)
......
...@@ -12,24 +12,6 @@ ...@@ -12,24 +12,6 @@
@interface UIBarButtonItem (WZLBadge)<WZLBadgeProtocol> @interface UIBarButtonItem (WZLBadge)<WZLBadgeProtocol>
@property (nonatomic, strong) UILabel *badge; /* badge entity, which is adviced not to set manually */
@property (nonatomic, strong) UIColor *badgeBgColor; /* red color by default if not set */
@property (nonatomic, strong) UIColor *badgeTextColor; /* white color by default if not set */
@property (nonatomic, assign) CGRect badgeFrame; /* we have optimized the badge frame and center.
This property is adviced not to set manually */
@property (nonatomic, assign) CGPoint badgeCenterOffset;/* offset from right-top corner. {0,0} by default */
/* For x, negative number means left offset
For y, negative number means bottom offset
*/
@property (nonatomic, assign) WBadgeAnimType aniType; /* NOTE that this is not animation type of badge's
appearing, nor hidding*/
@property (nonatomic, assign) NSInteger badgeMaximumBadgeNumber; /*for WBadgeStyleNumber style badge,
if badge value is above badgeMaximumBadgeNumber,
"badgeMaximumBadgeNumber+" will be printed. */
/** /**
* show badge with red dot style and WBadgeAnimTypeNone by default. * show badge with red dot style and WBadgeAnimTypeNone by default.
*/ */
......
...@@ -12,24 +12,6 @@ ...@@ -12,24 +12,6 @@
@interface UITabBarItem (WZLBadge)<WZLBadgeProtocol> @interface UITabBarItem (WZLBadge)<WZLBadgeProtocol>
@property (nonatomic, strong) UILabel *badge; /* badge entity, which is adviced not to set manually */
@property (nonatomic, strong) UIColor *badgeBgColor; /* red color by default if not set */
@property (nonatomic, strong) UIColor *badgeTextColor; /* white color by default if not set */
@property (nonatomic, assign) CGRect badgeFrame; /* we have optimized the badge frame and center.
This property is adviced not to set manually */
@property (nonatomic, assign) CGPoint badgeCenterOffset;/* offset from right-top corner. {0,0} by default */
/* For x, negative number means left offset
For y, negative number means bottom offset
*/
@property (nonatomic, assign) WBadgeAnimType aniType; /* NOTE that this is not animation type of badge's
appearing, nor hidding*/
@property (nonatomic, assign) NSInteger badgeMaximumBadgeNumber; /*for WBadgeStyleNumber style badge,
if badge value is above badgeMaximumBadgeNumber,
"badgeMaximumBadgeNumber+" will be printed. */
/** /**
* show badge with red dot style and WBadgeAnimTypeNone by default. * show badge with red dot style and WBadgeAnimTypeNone by default.
*/ */
......
...@@ -37,18 +37,6 @@ ...@@ -37,18 +37,6 @@
[kActualView showBadgeWithStyle:style value:value animationType:aniType]; [kActualView showBadgeWithStyle:style value:value animationType:aniType];
} }
- (UIView *)find:(UIView *)view firstSubviewWithClass:(Class)cls
{
__block UIView *targetView = nil;
[view.subviews enumerateObjectsUsingBlock:^(UIView *subview, NSUInteger idx, BOOL * _Nonnull stop) {
if ([subview isKindOfClass:cls]) {
targetView = subview;
*stop = YES;
}
}];
return targetView;
}
/** /**
* clear badge * clear badge
*/ */
...@@ -85,6 +73,18 @@ ...@@ -85,6 +73,18 @@
return actualSuperView; return actualSuperView;
} }
- (UIView *)find:(UIView *)view firstSubviewWithClass:(Class)cls
{
__block UIView *targetView = nil;
[view.subviews enumerateObjectsUsingBlock:^(UIView *subview, NSUInteger idx, BOOL * _Nonnull stop) {
if ([subview isKindOfClass:cls]) {
targetView = subview;
*stop = YES;
}
}];
return targetView;
}
#pragma mark -- setter/getter #pragma mark -- setter/getter
- (UILabel *)badge - (UILabel *)badge
{ {
......
...@@ -76,7 +76,6 @@ ...@@ -76,7 +76,6 @@
animation.removedOnCompletion=NO; animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards; animation.fillMode=kCAFillModeForwards;
animation.repeatCount= repeatCount; animation.repeatCount= repeatCount;
animation.delegate= self;
return animation; return animation;
} }
......
...@@ -54,23 +54,23 @@ typedef NS_ENUM(NSUInteger, WBadgeAnimType) ...@@ -54,23 +54,23 @@ typedef NS_ENUM(NSUInteger, WBadgeAnimType)
@required @required
@property (nonatomic, strong) UILabel *badge; /* badge entity, which is adviced not to set manually */ @property (nonatomic, strong) UILabel *badge; /* badge entity, which is adviced not to set manually */
@property (nonatomic, strong) UIFont *badgeFont; /* [UIFont boldSystemFontOfSize:9] by default if not set */ @property (nonatomic, strong) UIFont *badgeFont; /* [UIFont boldSystemFontOfSize:9] by default if not set */
@property (nonatomic, strong) UIColor *badgeBgColor; /* red color by default if not set */ @property (nonatomic, strong) UIColor *badgeBgColor; /* red color by default if not set */
@property (nonatomic, strong) UIColor *badgeTextColor; /* white color by default if not set */ @property (nonatomic, strong) UIColor *badgeTextColor; /* white color by default if not set */
@property (nonatomic, assign) CGRect badgeFrame; /* we have optimized the badge frame and center. @property (nonatomic, assign) CGRect badgeFrame; /* we have optimized the badge frame and center.
This property is adviced not to set manually */ This property is adviced not to set manually */
@property (nonatomic, assign) CGPoint badgeCenterOffset;/* offset from right-top corner. {0,0} by default */ @property (nonatomic, assign) CGPoint badgeCenterOffset; /* offset from right-top corner. {0,0} by default */
/* For x, negative number means left offset /* For x, negative number means left offset
For y, negative number means bottom offset */ For y, negative number means bottom offset */
@property (nonatomic, assign) WBadgeAnimType aniType; /* NOTE that this is not animation type of badge's @property (nonatomic, assign) WBadgeAnimType aniType; /* NOTE that this is not animation type of badge's
appearing, nor hidding*/ appearing, nor hidding*/
@property (nonatomic, assign) NSInteger badgeMaximumBadgeNumber; /*for WBadgeStyleNumber style badge, @property (nonatomic, assign) NSInteger badgeMaximumBadgeNumber; /*for WBadgeStyleNumber style badge,
if badge value is above badgeMaximumBadgeNumber, if badge value is above badgeMaximumBadgeNumber,
"badgeMaximumBadgeNumber+" will be printed. */ "badgeMaximumBadgeNumber+" will be printed. */
/** /**
* show badge with red dot style and WBadgeAnimTypeNone by default. * show badge with red dot style and WBadgeAnimTypeNone by default.
......
...@@ -13,24 +13,6 @@ ...@@ -13,24 +13,6 @@
@interface UIView (WZLBadge)<WZLBadgeProtocol> @interface UIView (WZLBadge)<WZLBadgeProtocol>
@property (nonatomic, strong) UILabel *badge; /* badge entity, which is adviced not to set manually */
@property (nonatomic, strong) UIFont *badgeFont; /* [UIFont boldSystemFontOfSize:9] by default if not set */
@property (nonatomic, strong) UIColor *badgeBgColor; /* red color by default if not set */
@property (nonatomic, strong) UIColor *badgeTextColor; /* white color by default if not set */
@property (nonatomic, assign) CGRect badgeFrame; /* we have optimized the badge frame and center.
This property is adviced not to set manually */
@property (nonatomic, assign) CGPoint badgeCenterOffset;/* offset from right-top corner. {0,0} by default */
/* For x, negative number means left offset
For y, negative number means bottom offset*/
@property (nonatomic, assign) WBadgeAnimType aniType; /* NOTE that this is not animation type of badge's
appearing, nor hidding*/
@property (nonatomic, assign) NSInteger badgeMaximumBadgeNumber; /*for WBadgeStyleNumber style badge,
if badge value is above badgeMaximumBadgeNumber,
"badgeMaximumBadgeNumber+" will be printed. */
/** /**
* show badge with red dot style and WBadgeAnimTypeNone by default. * show badge with red dot style and WBadgeAnimTypeNone by default.
......
...@@ -252,9 +252,10 @@ ...@@ -252,9 +252,10 @@
- (void)setBadgeFont:(UIFont *)badgeFont - (void)setBadgeFont:(UIFont *)badgeFont
{ {
objc_setAssociatedObject(self, &badgeFontKey, badgeFont, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeFontKey, badgeFont, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
self.badge.font = badgeFont; [self badgeInit];
} }
self.badge.font = badgeFont;
} }
- (UIColor *)badgeBgColor - (UIColor *)badgeBgColor
...@@ -265,9 +266,10 @@ ...@@ -265,9 +266,10 @@
- (void)setBadgeBgColor:(UIColor *)badgeBgColor - (void)setBadgeBgColor:(UIColor *)badgeBgColor
{ {
objc_setAssociatedObject(self, &badgeBgColorKey, badgeBgColor, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeBgColorKey, badgeBgColor, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
self.badge.backgroundColor = badgeBgColor; [self badgeInit];
} }
self.badge.backgroundColor = badgeBgColor;
} }
- (UIColor *)badgeTextColor - (UIColor *)badgeTextColor
...@@ -278,9 +280,10 @@ ...@@ -278,9 +280,10 @@
- (void)setBadgeTextColor:(UIColor *)badgeTextColor - (void)setBadgeTextColor:(UIColor *)badgeTextColor
{ {
objc_setAssociatedObject(self, &badgeTextColorKey, badgeTextColor, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeTextColorKey, badgeTextColor, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
self.badge.textColor = badgeTextColor; [self badgeInit];
} }
self.badge.textColor = badgeTextColor;
} }
- (WBadgeAnimType)aniType - (WBadgeAnimType)aniType
...@@ -298,10 +301,11 @@ ...@@ -298,10 +301,11 @@
{ {
NSNumber *numObj = @(aniType); NSNumber *numObj = @(aniType);
objc_setAssociatedObject(self, &badgeAniTypeKey, numObj, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeAniTypeKey, numObj, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
[self removeAnimation]; [self badgeInit];
[self beginAnimation];
} }
[self removeAnimation];
[self beginAnimation];
} }
- (CGRect)badgeFrame - (CGRect)badgeFrame
...@@ -322,9 +326,10 @@ ...@@ -322,9 +326,10 @@
NSDictionary *frameInfo = @{@"x" : @(badgeFrame.origin.x), @"y" : @(badgeFrame.origin.y), NSDictionary *frameInfo = @{@"x" : @(badgeFrame.origin.x), @"y" : @(badgeFrame.origin.y),
@"width" : @(badgeFrame.size.width), @"height" : @(badgeFrame.size.height)}; @"width" : @(badgeFrame.size.width), @"height" : @(badgeFrame.size.height)};
objc_setAssociatedObject(self, &badgeFrameKey, frameInfo, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeFrameKey, frameInfo, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
self.badge.frame = badgeFrame; [self badgeInit];
} }
self.badge.frame = badgeFrame;
} }
- (CGPoint)badgeCenterOffset - (CGPoint)badgeCenterOffset
...@@ -342,9 +347,10 @@ ...@@ -342,9 +347,10 @@
{ {
NSDictionary *cenerInfo = @{@"x" : @(badgeCenterOff.x), @"y" : @(badgeCenterOff.y)}; NSDictionary *cenerInfo = @{@"x" : @(badgeCenterOff.x), @"y" : @(badgeCenterOff.y)};
objc_setAssociatedObject(self, &badgeCenterOffsetKey, cenerInfo, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeCenterOffsetKey, cenerInfo, OBJC_ASSOCIATION_RETAIN);
if (self.badge) { if (!self.badge) {
self.badge.center = CGPointMake(CGRectGetWidth(self.frame) + 2 + badgeCenterOff.x, badgeCenterOff.y); [self badgeInit];
} }
self.badge.center = CGPointMake(CGRectGetWidth(self.frame) + 2 + badgeCenterOff.x, badgeCenterOff.y);
} }
- (NSInteger)badgeMaximumBadgeNumber { - (NSInteger)badgeMaximumBadgeNumber {
...@@ -360,6 +366,9 @@ ...@@ -360,6 +366,9 @@
- (void)setBadgeMaximumBadgeNumber:(NSInteger)badgeMaximumBadgeNumber { - (void)setBadgeMaximumBadgeNumber:(NSInteger)badgeMaximumBadgeNumber {
NSNumber *numObj = @(badgeMaximumBadgeNumber); NSNumber *numObj = @(badgeMaximumBadgeNumber);
objc_setAssociatedObject(self, &badgeMaximumBadgeNumberKey, numObj, OBJC_ASSOCIATION_RETAIN); objc_setAssociatedObject(self, &badgeMaximumBadgeNumberKey, numObj, OBJC_ASSOCIATION_RETAIN);
if (!self.badge) {
[self badgeInit];
}
} }
@end @end
...@@ -44,7 +44,7 @@ platform :ios do ...@@ -44,7 +44,7 @@ platform :ios do
workspace: "Lighting.xcworkspace", workspace: "Lighting.xcworkspace",
scheme: "Lighting", scheme: "Lighting",
clean: true, clean: true,
output_directory: "/Users/caoyunxiao/Desktop/iPA”, output_directory: File.expand_path('..', __FILE__) + "/iPA",
export_method: "enterprise", export_method: "enterprise",
output_name: "Lighting.ipa" output_name: "Lighting.ipa"
) )
......
...@@ -5,27 +5,27 @@ ...@@ -5,27 +5,27 @@
<testcase classname="fastlane.lanes" name="0: Verifying required fastlane version" time="0.002849"> <testcase classname="fastlane.lanes" name="0: Verifying required fastlane version" time="0.002589">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="1: default_platform" time="0.003048"> <testcase classname="fastlane.lanes" name="1: default_platform" time="0.00174">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="2: cocoapods" time="6.489391"> <testcase classname="fastlane.lanes" name="2: cocoapods" time="4.350548">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="3: gym" time="123.738273"> <testcase classname="fastlane.lanes" name="3: gym" time="99.806116">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="4: pgyer" time="84.944522"> <testcase classname="fastlane.lanes" name="4: pgyer" time="58.470612">
</testcase> </testcase>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment