├── Maker ├── Assets │ └── .gitkeep └── Classes │ ├── Comments │ ├── UILabel+Maker.h │ ├── UITableView+Maker.h │ ├── UIScrollView+Maker.h │ ├── UIButton+Maker.h │ ├── UIImageView+Maker.h │ ├── UITextField+Maker.h │ ├── UIImageView+Maker.m │ ├── UILabel+Maker.m │ ├── UIScrollView+Maker.m │ ├── UITableView+Maker.m │ ├── UIButton+Maker.m │ └── UITextField+Maker.m │ ├── Maker.h │ ├── Lib │ ├── NSNumber+Maker.h │ ├── NSNumber+Maker.m │ ├── MakerUntil.m │ └── MakerUntil.h │ └── Base │ ├── UIView+Maker.h │ └── UIView+Maker.m ├── _Pods.xcodeproj ├── Example ├── Maker │ ├── en.lproj │ │ └── InfoPlist.strings │ ├── Images.xcassets │ │ ├── Contents.json │ │ ├── bartholomew_kuma.imageset │ │ │ ├── bartholomew_kuma.png │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── MakerViewController.h │ ├── MakerConfirmViewController.h │ ├── MakerAppDelegate.h │ ├── Maker-Prefix.pch │ ├── main.m │ ├── MakerConfirmViewController.m │ ├── Maker-Info.plist │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ ├── MakerAppDelegate.m │ └── MakerViewController.m ├── Tests │ ├── en.lproj │ │ └── InfoPlist.strings │ ├── Tests-Prefix.pch │ ├── Tests.m │ └── Tests-Info.plist ├── Pods │ ├── Target Support Files │ │ ├── Maker │ │ │ ├── Maker-prefix.pch │ │ │ ├── Maker.modulemap │ │ │ ├── Maker-dummy.m │ │ │ ├── Maker.xcconfig │ │ │ ├── Maker-umbrella.h │ │ │ └── Info.plist │ │ ├── Pods-Maker_Tests │ │ │ ├── Pods-Maker_Tests.modulemap │ │ │ ├── Pods-Maker_Tests-dummy.m │ │ │ ├── Pods-Maker_Tests-acknowledgements.markdown │ │ │ ├── Pods-Maker_Tests-umbrella.h │ │ │ ├── Pods-Maker_Tests.debug.xcconfig │ │ │ ├── Pods-Maker_Tests.release.xcconfig │ │ │ ├── Info.plist │ │ │ ├── Pods-Maker_Tests-acknowledgements.plist │ │ │ ├── Pods-Maker_Tests-frameworks.sh │ │ │ └── Pods-Maker_Tests-resources.sh │ │ └── Pods-Maker_Example │ │ │ ├── Pods-Maker_Example.modulemap │ │ │ ├── Pods-Maker_Example-dummy.m │ │ │ ├── Pods-Maker_Example-umbrella.h │ │ │ ├── Pods-Maker_Example.debug.xcconfig │ │ │ ├── Pods-Maker_Example.release.xcconfig │ │ │ ├── Info.plist │ │ │ ├── Pods-Maker_Example-acknowledgements.markdown │ │ │ ├── Pods-Maker_Example-acknowledgements.plist │ │ │ ├── Pods-Maker_Example-frameworks.sh │ │ │ └── Pods-Maker_Example-resources.sh │ ├── Manifest.lock │ ├── Local Podspecs │ │ └── Maker.podspec.json │ └── Pods.xcodeproj │ │ └── project.pbxproj ├── Podfile ├── Maker.xcodeproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── Maker-Example.xcscheme │ └── project.pbxproj ├── Maker.xcworkspace │ └── contents.xcworkspacedata └── Podfile.lock ├── .travis.yml ├── LICENSE ├── Maker.podspec ├── .gitignore └── README.md /Maker/Assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj -------------------------------------------------------------------------------- /Example/Maker/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Example/Tests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Maker-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Example/Maker/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Maker.modulemap: -------------------------------------------------------------------------------- 1 | framework module Maker { 2 | umbrella header "Maker-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Maker-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Maker : NSObject 3 | @end 4 | @implementation PodsDummy_Maker 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Tests/Tests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // The contents of this file are implicitly included at the beginning of every test case source file. 2 | 3 | #ifdef __OBJC__ 4 | 5 | 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /Example/Maker/Images.xcassets/bartholomew_kuma.imageset/bartholomew_kuma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bartholomewo/Maker/HEAD/Example/Maker/Images.xcassets/bartholomew_kuma.imageset/bartholomew_kuma.png -------------------------------------------------------------------------------- /Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | target 'Maker_Example' do 4 | pod 'Maker', :path => '../' 5 | 6 | target 'Maker_Tests' do 7 | inherit! :search_paths 8 | 9 | 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Maker_Tests { 2 | umbrella header "Pods-Maker_Tests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Maker_Example { 2 | umbrella header "Pods-Maker_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Maker_Tests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Maker_Tests 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Maker_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Maker_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Maker.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Maker_TestsVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Maker_TestsVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Maker_ExampleVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Maker_ExampleVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Example/Maker/MakerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MakerViewController.h 3 | // Maker 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | 11 | @interface MakerViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UILabel+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UILabel+Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | @interface UILabel (Maker) 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UITableView+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UITableView+Maker.h 3 | // Maker 4 | // 5 | // Created by 赵恒 on 2017/9/4. 6 | // 7 | 8 | #import 9 | #import "MakerUntil.h" 10 | 11 | @interface UITableView (Maker) 12 | + (UITableView *) maker:(MKTableViewStyle)style; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Example/Maker.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIScrollView+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/8/31. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | @interface UIScrollView (Maker) 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Example/Maker/MakerConfirmViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MakerConfirmViewController.h 3 | // Maker 4 | // 5 | // Created by ZhaoHeng on 2017/9/4. 6 | // Copyright © 2017年 forkingghost. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MakerConfirmViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Maker (0.1.2) 3 | 4 | DEPENDENCIES: 5 | - Maker (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | Maker: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | Maker: ccd486b5d5adfef840b3b06f87927eceaddbf906 13 | 14 | PODFILE CHECKSUM: e60aac398100c079c0fbef321c2418242fc34750 15 | 16 | COCOAPODS: 1.1.1 17 | -------------------------------------------------------------------------------- /Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Maker (0.1.2) 3 | 4 | DEPENDENCIES: 5 | - Maker (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | Maker: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | Maker: ccd486b5d5adfef840b3b06f87927eceaddbf906 13 | 14 | PODFILE CHECKSUM: e60aac398100c079c0fbef321c2418242fc34750 15 | 16 | COCOAPODS: 1.1.1 17 | -------------------------------------------------------------------------------- /Example/Maker/MakerAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // MakerAppDelegate.h 3 | // Maker 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | 11 | @interface MakerAppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIButton+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | @interface UIButton (Maker) 13 | @property (nonatomic, copy) MKButtonPressedBlock mk_buttonPressedBlock; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIImageView+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImageView+Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | @interface UIImageView (Maker) 13 | /** 获取设置图片的名字 */ 14 | @property (nonatomic, copy) NSString *mk_imageName; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Example/Maker/Maker-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | @import UIKit; 15 | @import Foundation; 16 | #endif 17 | -------------------------------------------------------------------------------- /Example/Maker/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Maker 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | #import "MakerAppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) 13 | { 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([MakerAppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Example/Maker/Images.xcassets/bartholomew_kuma.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bartholomew_kuma.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /Maker/Classes/Comments/UITextField+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UITextField+Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | static char *mk_private_maxLengthKey = "mk_private_maxLengthKey"; 13 | 14 | @interface UITextField (Maker) 15 | @property (nonatomic, assign, readonly) MK_INTEGER private_maxLength; 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Maker.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Maker 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 8 | SKIP_INSTALL = YES 9 | -------------------------------------------------------------------------------- /Maker/Classes/Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // Maker.h 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #ifndef Maker_h 10 | #define Maker_h 11 | 12 | #import "UIView+Maker.h" 13 | #import "UILabel+Maker.h" 14 | #import "UIButton+Maker.h" 15 | #import "UIImageView+Maker.h" 16 | #import "UITextField+Maker.h" 17 | #import "NSNumber+Maker.h" 18 | #import "UIScrollView+Maker.h" 19 | #import "UITableView+Maker.h" 20 | 21 | #endif /* Maker_h */ 22 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Maker-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "UIView+Maker.h" 6 | #import "UIButton+Maker.h" 7 | #import "UIImageView+Maker.h" 8 | #import "UILabel+Maker.h" 9 | #import "UIScrollView+Maker.h" 10 | #import "UITableView+Maker.h" 11 | #import "UITextField+Maker.h" 12 | #import "MakerUntil.h" 13 | #import "NSNumber+Maker.h" 14 | #import "Maker.h" 15 | 16 | FOUNDATION_EXPORT double MakerVersionNumber; 17 | FOUNDATION_EXPORT const unsigned char MakerVersionString[]; 18 | 19 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * http://www.objc.io/issue-6/travis-ci.html 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | osx_image: xcode7.3 6 | language: objective-c 7 | # cache: cocoapods 8 | # podfile: Example/Podfile 9 | # before_install: 10 | # - gem install cocoapods # Since Travis is not always on latest version 11 | # - pod install --project-directory=Example 12 | script: 13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/Maker.xcworkspace -scheme Maker-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty 14 | - pod lib lint 15 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Maker" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Maker/Maker.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Maker" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Maker/Maker.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Maker/Classes/Lib/NSNumber+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSNumber+Maker.h 3 | // 4 | // Created by ZhaoHeng on 16/8/31. 5 | // Copyright © 2016年 forkingghost. All rights reserved. 6 | // 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #define ppx(number) @(number).px 13 | #define fft(number) @(number).ft 14 | 15 | #define ppx3(number) @(number).px3 16 | #define fft3(number) @(number).ft3 17 | 18 | @interface NSNumber (Maker) 19 | 20 | - (float) px; // 获取计算后获得的iOS设备上使用的像素大小 21 | - (float) ft; // 获取计算后获得的iOS设备上使用的字体大小 22 | 23 | - (float) px3; 24 | - (float) ft3; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Example/Pods/Local Podspecs/Maker.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Maker", 3 | "version": "0.1.2", 4 | "summary": "Maker是一个使用链式思想快速创建UIKit控件", 5 | "description": "Maker 是一个使用链式语法实现UIKit控件的Category,快速开发,代码量少,使用方便。", 6 | "homepage": "https://github.com/Bartholomewo/Maker", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "Bartholomewo": "kuma15@163.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/Bartholomewo/Maker.git", 16 | "tag": "0.1.2" 17 | }, 18 | "platforms": { 19 | "ios": "8.0" 20 | }, 21 | "source_files": "Maker/Classes/**/*" 22 | } 23 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Maker" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Maker/Maker.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "Maker" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Maker" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Maker/Maker.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "Maker" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Example/Tests/Tests.m: -------------------------------------------------------------------------------- 1 | // 2 | // MakerTests.m 3 | // MakerTests 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | @import XCTest; 10 | 11 | @interface Tests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation Tests 16 | 17 | - (void)setUp 18 | { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown 24 | { 25 | // Put teardown code here. This method is called after the invocation of each test method in the class. 26 | [super tearDown]; 27 | } 28 | 29 | - (void)testExample 30 | { 31 | XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); 32 | } 33 | 34 | @end 35 | 36 | -------------------------------------------------------------------------------- /Example/Tests/Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Maker/Classes/Lib/NSNumber+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSNumber+Maker.m 3 | // 4 | // Created by ZhaoHeng on 16/8/31. 5 | // Copyright © 2016年 forkingghost. All rights reserved. 6 | // 7 | 8 | #import "NSNumber+Maker.h" 9 | 10 | @implementation NSNumber (UIDesign) 11 | 12 | - (float) getDevicePxiel { 13 | float width = [UIScreen mainScreen].bounds.size.width; 14 | float ratio = 750.0f / width; 15 | return self.floatValue / ratio; 16 | } 17 | 18 | - (float) px { 19 | return [self getDevicePxiel]; 20 | } 21 | - (float) ft { 22 | return [self getDevicePxiel]; 23 | } 24 | 25 | - (float) getDevicePxiel3 { 26 | float width = [UIScreen mainScreen].bounds.size.width; 27 | float ratio = 375.0f / width; 28 | return self.floatValue / ratio; 29 | } 30 | - (float) px3 { 31 | return [self getDevicePxiel3]; 32 | } 33 | - (float) ft3 { 34 | return [self getDevicePxiel3]; 35 | } 36 | 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Maker/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Bartholoewo 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Maker 5 | 6 | Copyright (c) 2017 Bartholoewo 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | Generated by CocoaPods - https://cocoapods.org 27 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIImageView+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImageView+Maker.m 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UIImageView+Maker.h" 10 | #import 11 | 12 | @implementation UIImageView (Maker) 13 | 14 | - (void)setMk_imageName:(NSString *)mk_imageName { 15 | objc_setAssociatedObject(self, mk_imageNameKey, mk_imageName, OBJC_ASSOCIATION_COPY); 16 | } 17 | - (NSString *) mk_imageName { 18 | return objc_getAssociatedObject(self, mk_imageNameKey); 19 | } 20 | 21 | - (UIImageView *(^)(MK_STRING)) img_imageName { 22 | return ^(MK_STRING imageName) { 23 | self.image = [UIImage imageNamed:imageName]; 24 | self.mk_imageName = imageName; 25 | return self; 26 | }; 27 | } 28 | - (UIImageView *(^)(MK_UIIMAGE)) img_image { 29 | return ^(MK_UIIMAGE image) { 30 | self.image = image; 31 | return self; 32 | }; 33 | } 34 | - (UIImageView *(^)(NSArray *)) img_images { 35 | return ^(NSArray *images) { 36 | self.animationImages = images; 37 | return self; 38 | }; 39 | } 40 | - (UIImageView *(^)(MK_TIMEINTERVAL, MK_INTEGER)) img_animation { 41 | return ^(MK_TIMEINTERVAL repeat, MK_INTEGER duration) { 42 | self.animationRepeatCount = repeat; 43 | self.animationDuration = duration; 44 | return self; 45 | }; 46 | } 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Example/Maker/MakerConfirmViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MakerConfirmViewController.m 3 | // Maker 4 | // 5 | // Created by ZhaoHeng on 2017/9/4. 6 | // Copyright © 2017年 forkingghost. All rights reserved. 7 | // 8 | 9 | #import "MakerConfirmViewController.h" 10 | #import 11 | 12 | static NSString *identifier = @"identifier"; 13 | 14 | @interface MakerConfirmViewController () 15 | 16 | @end 17 | 18 | @implementation MakerConfirmViewController { 19 | UITableView *_tableView; 20 | NSArray *_datas; 21 | } 22 | 23 | - (void)viewDidLoad { 24 | [super viewDidLoad]; 25 | 26 | _datas = @[@"UIView", @"UILabel", @"UIButton"]; 27 | 28 | CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width; 29 | CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height; 30 | 31 | _tableView = [UITableView maker:mk_Plain] 32 | .com_setup(self.view) 33 | .com_frame(0, 0, screenWidth, screenHeight) 34 | .tab_delegateAndDataSource(self) 35 | .tab_tHeaderView(UIView.maker) 36 | .tab_tFooterView(UIView.maker) 37 | .tab_registerCell([UITableViewCell class], nil, identifier); 38 | } 39 | 40 | - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 41 | return _datas.count; 42 | } 43 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 44 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; 45 | cell.textLabel.text = _datas[indexPath.row]; 46 | return cell; 47 | } 48 | 49 | - (void)dealloc { 50 | NSLog(@"dealloc"); 51 | } 52 | 53 | 54 | @end 55 | -------------------------------------------------------------------------------- /Example/Maker/Maker-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Maker.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # Be sure to run `pod lib lint Maker.podspec' to ensure this is a 3 | # valid spec before submitting. 4 | # 5 | # Any lines starting with a # are optional, but their use is encouraged 6 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html 7 | # 8 | 9 | Pod::Spec.new do |s| 10 | s.name = 'Maker' 11 | s.version = '0.1.3' 12 | s.summary = 'Maker是一个使用链式思想快速创建UIKit的框架' 13 | 14 | # This description is used to generate tags and improve search results. 15 | # * Think: What does it do? Why did you write it? What is the focus? 16 | # * Try to keep it short, snappy and to the point. 17 | # * Write the description between the DESC delimiters below. 18 | # * Finally, don't worry about the indent, CocoaPods strips it! 19 | 20 | s.description = <<-DESC 21 | Maker 是一个使用链式语法实现UIKit控件的Category,快速开发,代码量少,使用方便。 22 | DESC 23 | 24 | s.homepage = 'https://github.com/Bartholomewo/Maker' 25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' 26 | s.license = { :type => 'MIT', :file => 'LICENSE' } 27 | s.author = { 'Bartholomewo' => 'kuma15@163.com' } 28 | s.source = { :git => 'https://github.com/Bartholomewo/Maker.git', :tag => s.version.to_s } 29 | # s.social_media_url = 'https://twitter.com/' 30 | 31 | s.ios.deployment_target = '8.0' 32 | 33 | s.source_files = 'Maker/Classes/**/*' 34 | 35 | # s.resource_bundles = { 36 | # 'Maker' => ['Maker/Assets/*.png'] 37 | # } 38 | 39 | # s.public_header_files = 'Pod/Classes/**/*.h' 40 | # s.frameworks = 'UIKit', 'MapKit' 41 | # s.dependency 'AFNetworking', '~> 2.3' 42 | end 43 | -------------------------------------------------------------------------------- /Example/Maker/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Example/Maker/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /Maker/Classes/Comments/UILabel+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UILabel+Maker.m 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UILabel+Maker.h" 10 | 11 | @implementation UILabel (Maker) 12 | 13 | - (UILabel *(^)(MK_STRING)) lab_text { 14 | return ^(MK_STRING text) { 15 | self.text = text; 16 | return self; 17 | }; 18 | } 19 | - (UILabel *(^)(MK_COLOR)) lab_textColor { 20 | return ^(MK_COLOR color) { 21 | if ([color isKindOfClass:[UIColor class]]) { 22 | self.textColor = (UIColor *)color; 23 | } else { 24 | self.textColor = [MakerUntil mk_colorWithHexString:color]; 25 | } 26 | return self; 27 | }; 28 | } 29 | - (UILabel *(^)(MK_FLOAT)) lab_font1 { 30 | return ^(MK_FLOAT size) { 31 | self.font = [UIFont systemFontOfSize:size]; 32 | return self; 33 | }; 34 | } 35 | - (UILabel *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) lab_font2 { 36 | return ^(MK_FLOAT size, MK_FLOAT weight, MK_STRING family) { 37 | self.font = [UIFont systemFontOfSize:size weight:weight]; 38 | if (family) { 39 | self.font = [UIFont fontWithName:family size:size]; 40 | } 41 | return self; 42 | }; 43 | } 44 | - (UILabel *(^)(MKTextAlignmentOption)) lab_textAlignment { 45 | return ^(MKTextAlignmentOption align) { 46 | self.textAlignment = [MakerUntil mk_textAlignment:align]; 47 | return self; 48 | }; 49 | } 50 | - (UILabel *(^)(MKLineBreakModeOption)) lab_lineBreakMode { 51 | return ^(MKLineBreakModeOption mode) { 52 | self.lineBreakMode = [MakerUntil mk_lineBreakMode:mode]; 53 | return self; 54 | }; 55 | } 56 | - (UILabel *(^)(MK_INTEGER)) lab_numberOfSection { 57 | return ^(MK_INTEGER line) { 58 | self.numberOfLines = line; 59 | return self; 60 | }; 61 | } 62 | - (UILabel *(^)(MK_BOOL))lab_enabled { 63 | return ^(MK_BOOL enabled) { 64 | self.enabled = enabled; 65 | return self; 66 | }; 67 | } 68 | - (UILabel *(^)(MK_BOOL))lab_adjust { 69 | return ^(MK_BOOL flag) { 70 | self.adjustsFontSizeToFitWidth = flag; 71 | return self; 72 | }; 73 | } 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Skip to content 2 | This repository 3 | Search 4 | Pull requests 5 | Issues 6 | Marketplace 7 | Explore 8 | @Bartholomewo 9 | Sign out 10 | Watch 0 11 | Unstar 4 12 | Fork 0 Bartholomewo/Maker 13 | Code Issues 0 Pull requests 0 Projects 0 Wiki Settings Insights 14 | Branch: master Find file Copy pathMaker/.gitignore 15 | a0e13ce on 16 Jun 16 | @hellolad hellolad Initial commit 17 | 1 contributor 18 | RawBlameHistory 19 | 64 lines (52 sloc) 1.37 KB 20 | # Xcode 21 | # 22 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 23 | 24 | ## Build generated 25 | build/ 26 | DerivedData/ 27 | 28 | ## Various settings 29 | *.pbxuser 30 | !default.pbxuser 31 | *.mode1v3 32 | !default.mode1v3 33 | *.mode2v3 34 | !default.mode2v3 35 | *.perspectivev3 36 | !default.perspectivev3 37 | xcuserdata/ 38 | 39 | ## Other 40 | *.moved-aside 41 | *.xccheckout 42 | *.xcscmblueprint 43 | 44 | ## Obj-C/Swift specific 45 | *.hmap 46 | *.ipa 47 | *.dSYM.zip 48 | *.dSYM 49 | 50 | # CocoaPods 51 | # 52 | # We recommend against adding the Pods directory to your .gitignore. However 53 | # you should judge for yourself, the pros and cons are mentioned at: 54 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 55 | # 56 | # Pods/ 57 | 58 | # Carthage 59 | # 60 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 61 | # Carthage/Checkouts 62 | 63 | Carthage/Build 64 | 65 | # fastlane 66 | # 67 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 68 | # screenshots whenever they are needed. 69 | # For more information about the recommended setup visit: 70 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 71 | 72 | fastlane/report.xml 73 | fastlane/Preview.html 74 | fastlane/screenshots 75 | fastlane/test_output 76 | 77 | # Code Injection 78 | # 79 | # After new code Injection tools there's a generated folder /iOSInjectionProject 80 | # https://github.com/johnno1962/injectionforxcode 81 | 82 | iOSInjectionProject/ 83 | © 2017 GitHub, Inc. 84 | Terms 85 | Privacy 86 | Security 87 | Status 88 | Help 89 | Contact GitHub 90 | API 91 | Training 92 | Shop 93 | Blog 94 | About 95 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright (c) 2017 Bartholoewo <kuma@15@163.com> 18 | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy 20 | of this software and associated documentation files (the "Software"), to deal 21 | in the Software without restriction, including without limitation the rights 22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 23 | copies of the Software, and to permit persons to whom the Software is 24 | furnished to do so, subject to the following conditions: 25 | 26 | The above copyright notice and this permission notice shall be included in 27 | all copies or substantial portions of the Software. 28 | 29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 35 | THE SOFTWARE. 36 | 37 | License 38 | MIT 39 | Title 40 | Maker 41 | Type 42 | PSGroupSpecifier 43 | 44 | 45 | FooterText 46 | Generated by CocoaPods - https://cocoapods.org 47 | Title 48 | 49 | Type 50 | PSGroupSpecifier 51 | 52 | 53 | StringsTable 54 | Acknowledgements 55 | Title 56 | Acknowledgements 57 | 58 | 59 | -------------------------------------------------------------------------------- /Example/Maker/MakerAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // MakerAppDelegate.m 3 | // Maker 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | #import "MakerAppDelegate.h" 10 | #import "MakerViewController.h" 11 | 12 | @implementation MakerAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 17 | [self.window setRootViewController:[[UINavigationController alloc] initWithRootViewController:[MakerViewController new]]]; 18 | self.window.backgroundColor = [UIColor whiteColor]; 19 | [self.window makeKeyAndVisible]; 20 | 21 | return YES; 22 | } 23 | 24 | - (void)applicationWillResignActive:(UIApplication *)application 25 | { 26 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 27 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 28 | } 29 | 30 | - (void)applicationDidEnterBackground:(UIApplication *)application 31 | { 32 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 33 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 34 | } 35 | 36 | - (void)applicationWillEnterForeground:(UIApplication *)application 37 | { 38 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 39 | } 40 | 41 | - (void)applicationDidBecomeActive:(UIApplication *)application 42 | { 43 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 44 | } 45 | 46 | - (void)applicationWillTerminate:(UIApplication *)application 47 | { 48 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Maker 2 | 3 | [![CI Status](http://img.shields.io/travis/forkingghost/Maker.svg?style=flat)](https://travis-ci.org/forkingghost/Maker) 4 | [![Version](https://img.shields.io/cocoapods/v/Maker.svg?style=flat)](http://cocoapods.org/pods/Maker) 5 | [![License](https://img.shields.io/cocoapods/l/Maker.svg?style=flat)](http://cocoapods.org/pods/Maker) 6 | [![Platform](https://img.shields.io/cocoapods/p/Maker.svg?style=flat)](http://cocoapods.org/pods/Maker) 7 | 8 | 9 | 10 | ## Installation 11 | 12 | ```ruby 13 | pod 'Maker', '~> 0.1.3' 14 | ``` 15 | 16 | ## Author 17 | 18 | Bartholomewo, kuma15@163.com 19 | 20 | ## 更新 21 | 22 | | 版本 | 更新 | 23 | | :--: | :---------------------: | 24 | | 0.13 | 增加UITableView,增加com_backgroundColor2 | 25 | | 0.12 | 去除UITextField的通知 | 26 | | 0.11 | 增加UITextField的字符限制,控制功能 | 27 | | 0.10 | 发布版本 | 28 | 29 | 30 | 31 | ## Maker Introduce 32 | 33 | Maker是一个使用链式语法实现的UIKit控件的小小的框架,轻松的学习之后可以实现快速的UI控件开发。 34 | 35 | 现在支持的控件: 36 | 37 | **UIView** / **UILabel** / **UIButton** / **UITextField** / **UIImageView** / **UIScrollView** / **UITableView**/ 38 | 39 | 其他的还在努力coding中。 40 | 41 | #### API介绍 42 | 43 | ```objective-c 44 | 简单使用: 45 | UIView.maker 46 | .com_setup(self.view) 47 | .com_frame(0, 0, 100, 100) 48 | 49 | 前缀介绍: 50 | UIView通用:com_ 51 | UILabel: lab_ 52 | UIButton: btn_ 53 | UITextField: tf_ 54 | UIScrollView: scr_ 55 | UIImageView: img_ 56 | UITableView: tab_ 57 | ``` 58 | 59 | #### 比较(使用Maker能减少一大部分代码量,并且更直观易懂) 60 | 61 | ```objective-c 62 | UILabel *label = [[UILabel alloc] init]; 63 | label.frame = CGRectMake(20, 40, 100, 40); 64 | label.layer.cornerRadius = 10; 65 | label.layer.masksToBounds = YES; 66 | label.layer.borderColor = [MakerUntil colorWithHexString:@"#C3342E"].CGColor; 67 | label.layer.borderWidth = 2; 68 | label.text = @"Center"; 69 | label.textColor = [MakerUntil colorWithHexString:@"#C3342E"]; 70 | label.font = [UIFont systemFontOfSize:17 weight:0]; 71 | label.textAlignment = NSTextAlignmentCenter; 72 | [self.view addSubview:label]; 73 | 74 | UILabel *label = UILabel.maker 75 | .com_setup(self.view) 76 | .com_frame(20, 40, 100 ,40) 77 | .com_cornerRadius(10) 78 | .com_border(2, @"#C3342E") 79 | .com_backgroundColor(@"#F1F1F1") 80 | .lab_text(@"Center") 81 | .lab_textColor(@"#C3342E") 82 | .lab_font1(17) 83 | .lab_textAlinment(lCenter); 84 | ``` 85 | 86 | #### 注意: 87 | 88 | ```objective-c 89 | 1. 在使用Button的点击事件,TextField的ValueChange事件的时候,如果在Block块中使用了self,请在Button上方加入: 90 | __weak typeof(self) weakSelf = self; 91 | 解除循环引用 92 | 93 | 2. UITableView的另一种初始化 94 | _tableView = [UITableView maker:mk_Plain] 95 | ``` 96 | 97 | > 如果感觉好用并且希望提供更多的功能,请联系kuma15@163.com,或者fork之后提供更好的功能改进。 98 | 99 | -------------------------------------------------------------------------------- /Maker/Classes/Lib/MakerUntil.m: -------------------------------------------------------------------------------- 1 | // 2 | // MakerUntil.m 3 | // Components 4 | // 5 | // Created by ZhaoHeng on 2017/6/15. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "MakerUntil.h" 10 | 11 | @implementation MakerUntil 12 | 13 | + (UIColor *) mk_colorWithHexString: (MK_STRING)color { 14 | NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; 15 | 16 | if ([cString length] < 6) { 17 | return [UIColor clearColor]; 18 | } 19 | if ([cString hasPrefix:@"0X"]) 20 | cString = [cString substringFromIndex:2]; 21 | if ([cString hasPrefix:@"#"]) 22 | cString = [cString substringFromIndex:1]; 23 | if ([cString length] != 6) 24 | return [UIColor clearColor]; 25 | NSRange range; 26 | range.location = 0; 27 | range.length = 2; 28 | NSString *rString = [cString substringWithRange:range]; 29 | range.location = 2; 30 | NSString *gString = [cString substringWithRange:range]; 31 | range.location = 4; 32 | NSString *bString = [cString substringWithRange:range]; 33 | unsigned int r, g, b; 34 | [[NSScanner scannerWithString:rString] scanHexInt:&r]; 35 | [[NSScanner scannerWithString:gString] scanHexInt:&g]; 36 | [[NSScanner scannerWithString:bString] scanHexInt:&b]; 37 | 38 | return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f]; 39 | } 40 | + (NSLineBreakMode) mk_lineBreakMode:(MKLineBreakModeOption)option { 41 | return (NSLineBreakMode)option; 42 | } 43 | + (NSTextAlignment) mk_textAlignment:(MKTextAlignmentOption)option { 44 | return (NSTextAlignment)option; 45 | } 46 | + (UIViewContentMode) mk_viewContentMode:(MKViewContentModeOption)option { 47 | return (UIViewContentMode)option; 48 | } 49 | + (UIControlState) mk_controlState:(MKControlStateOption)option { 50 | return (UIControlState)option; 51 | } 52 | + (UIControlEvents) mk_controlEvents:(MKControlEventsOption)option { 53 | return (UIControlEvents)option; 54 | } 55 | + (UITextBorderStyle) mk_textBorderStyle:(MKTextBorderStyleOption)option { 56 | return (UITextBorderStyle)option; 57 | } 58 | + (UITextFieldViewMode) mk_textFieldViewMode:(MKTextFieldViewModeOption)option { 59 | return (UITextFieldViewMode)option; 60 | } 61 | + (UIScrollViewIndicatorStyle) mk_scrollViewIndicatorStyle:(MKScrollViewIndicatorStyle)option { 62 | return (UIScrollViewIndicatorStyle)option; 63 | } 64 | + (UIScrollViewKeyboardDismissMode) mk_scrollViewKeyboardDismissModel:(MKScrollViewKeyboardDismissMode)option { 65 | return (UIScrollViewKeyboardDismissMode)option; 66 | } 67 | + (UITableViewStyle) mk_tableViewStyle:(MKTableViewStyle)option { 68 | return (UITableViewStyle)option; 69 | } 70 | 71 | @end 72 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIScrollView+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+Maker.m 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/8/31. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UIScrollView+Maker.h" 10 | 11 | @implementation UIScrollView (Maker) 12 | - (UIScrollView *(^)(MK_CGPOINT)) scr_contentOffset { 13 | return ^(MK_CGPOINT point) { 14 | self.contentOffset = point; 15 | return self; 16 | }; 17 | } 18 | - (UIScrollView *(^)(MK_CGSize)) scr_contentSize { 19 | return ^(MK_CGSize size) { 20 | self.contentSize = size; 21 | return self; 22 | }; 23 | } 24 | - (UIScrollView *(^)(UIEdgeInsets)) scr_contentInsets { 25 | return ^(UIEdgeInsets insets) { 26 | self.contentInset = insets; 27 | return self; 28 | }; 29 | } 30 | - (UIScrollView *(^)(id)) scr_delegate { 31 | return ^(id target) { 32 | self.delegate = target; 33 | return self; 34 | }; 35 | } 36 | - (UIScrollView *(^)(MK_BOOL)) scr_bounces { 37 | return ^(MK_BOOL flag) { 38 | self.bounces = flag; 39 | return self; 40 | }; 41 | } 42 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceVertical { 43 | return ^(MK_BOOL flag) { 44 | self.alwaysBounceVertical = flag; 45 | return self; 46 | }; 47 | } 48 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceHorizontal { 49 | return ^(MK_BOOL flag) { 50 | self.alwaysBounceHorizontal = flag; 51 | return self; 52 | }; 53 | } 54 | - (UIScrollView *(^)(MK_BOOL)) scr_scrollEnabled { 55 | return ^(MK_BOOL flag) { 56 | self.scrollEnabled = flag; 57 | return self; 58 | }; 59 | } 60 | - (UIScrollView *(^)(MK_BOOL)) scr_showsHorizontal { 61 | return ^(MK_BOOL flag) { 62 | self.showsHorizontalScrollIndicator = flag; 63 | return self; 64 | }; 65 | } 66 | - (UIScrollView *(^)(MK_BOOL)) scr_showsVertical { 67 | return ^(MK_BOOL flag) { 68 | self.showsVerticalScrollIndicator = flag; 69 | return self; 70 | }; 71 | } 72 | - (UIScrollView *(^)(UIEdgeInsets)) scr_indicatorInsets { 73 | return ^(UIEdgeInsets insets) { 74 | self.scrollIndicatorInsets = insets; 75 | return self; 76 | }; 77 | } 78 | - (UIScrollView *(^)(MKScrollViewIndicatorStyle)) scr_indicatorStyle { 79 | return ^(MKScrollViewIndicatorStyle style) { 80 | self.indicatorStyle = [MakerUntil mk_scrollViewIndicatorStyle:style]; 81 | return self; 82 | }; 83 | } 84 | - (UIScrollView *(^)(MK_FLOAT)) scr_minScale { 85 | return ^(MK_FLOAT scale) { 86 | self.minimumZoomScale = scale; 87 | return self; 88 | }; 89 | } 90 | - (UIScrollView *(^)(MK_FLOAT)) scr_maxScale { 91 | return ^(MK_FLOAT scale) { 92 | self.maximumZoomScale = scale; 93 | return self; 94 | }; 95 | } 96 | - (UIScrollView *(^)(MK_FLOAT)) scr_zoomScale { 97 | return ^(MK_FLOAT scale) { 98 | self.zoomScale = scale; 99 | return self; 100 | }; 101 | } 102 | - (UIScrollView *(^)(MK_BOOL)) scr_bouncesZoom { 103 | return ^(MK_BOOL flag) { 104 | self.bouncesZoom = flag; 105 | return self; 106 | }; 107 | } 108 | - (UIScrollView *(^)(MKScrollViewKeyboardDismissMode)) scr_keyboardDismissMode { 109 | return ^(MKScrollViewKeyboardDismissMode mode) { 110 | self.keyboardDismissMode = [MakerUntil mk_scrollViewKeyboardDismissModel:mode]; 111 | return self; 112 | }; 113 | } 114 | @end 115 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | 86 | if [[ "$CONFIGURATION" == "Debug" ]]; then 87 | install_framework "$BUILT_PRODUCTS_DIR/Maker/Maker.framework" 88 | fi 89 | if [[ "$CONFIGURATION" == "Release" ]]; then 90 | install_framework "$BUILT_PRODUCTS_DIR/Maker/Maker.framework" 91 | fi 92 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UITableView+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UITableView+Maker.m 3 | // Maker 4 | // 5 | // Created by 赵恒 on 2017/9/4. 6 | // 7 | 8 | #import "UITableView+Maker.h" 9 | 10 | @implementation UITableView (Maker) 11 | + (UITableView *) maker:(MKTableViewStyle)style { 12 | return [[UITableView alloc] initWithFrame:CGRectZero style:[MakerUntil mk_tableViewStyle:style]]; 13 | } 14 | - (UITableView *(^)(id)) tab_delegateAndDataSource { 15 | return ^(id target) { 16 | if (!target) { 17 | return self; 18 | } 19 | self.delegate = target; 20 | self.dataSource = target; 21 | return self; 22 | }; 23 | } 24 | - (UITableView *(^)(id)) tab_delegate { 25 | return ^(id target) { 26 | if (!target) { 27 | return self; 28 | } 29 | self.delegate = target; 30 | return self; 31 | }; 32 | } 33 | - (UITableView *(^)(id)) tab_dataSource { 34 | return ^(id target) { 35 | if (!target) { 36 | return self; 37 | } 38 | self.dataSource = target; 39 | return self; 40 | }; 41 | } 42 | - (UITableView *(^)(MK_FLOAT)) tab_rowHeight { 43 | return ^(MK_FLOAT height) { 44 | self.rowHeight = height; 45 | return self; 46 | }; 47 | } 48 | - (UITableView *(^)(MK_FLOAT)) tab_sHeaderHeight { 49 | return ^(MK_FLOAT height) { 50 | self.sectionHeaderHeight = height; 51 | return self; 52 | }; 53 | } 54 | - (UITableView *(^)(MK_FLOAT)) tab_sFooterHeight { 55 | return ^(MK_FLOAT height) { 56 | self.sectionFooterHeight = height; 57 | return self; 58 | }; 59 | } 60 | - (UITableView *(^)(MK_FLOAT)) tab_eRowHeight { 61 | return ^(MK_FLOAT height) { 62 | self.estimatedRowHeight = height; 63 | return self; 64 | }; 65 | } 66 | - (UITableView *(^)(MK_FLOAT)) tab_esHeaderHeight { 67 | return ^(MK_FLOAT height) { 68 | self.estimatedSectionHeaderHeight = height; 69 | return self; 70 | }; 71 | } 72 | - (UITableView *(^)(MK_FLOAT)) tab_esFooterHeight { 73 | return ^(MK_FLOAT height) { 74 | self.estimatedSectionFooterHeight = height; 75 | return self; 76 | }; 77 | } 78 | - (UITableView *(^)(UIEdgeInsets)) tab_separatorInset { 79 | return ^(UIEdgeInsets insets) { 80 | self.separatorInset = insets; 81 | return self; 82 | }; 83 | } 84 | - (UITableView *(^)(MK_UIVIEW)) tab_backgroundView { 85 | return ^(MK_UIVIEW view) { 86 | self.backgroundView = view; 87 | return self; 88 | }; 89 | } 90 | - (UITableView *(^)(MK_UIVIEW)) tab_tHeaderView { 91 | return ^(MK_UIVIEW view) { 92 | self.tableHeaderView = view; 93 | return self; 94 | }; 95 | } 96 | - (UITableView *(^)(MK_UIVIEW)) tab_tFooterView { 97 | return ^(MK_UIVIEW view) { 98 | self.tableFooterView = view; 99 | return self; 100 | }; 101 | } 102 | - (UITableView *(^)()) tab_noneSeparatorStyle { 103 | return ^() { 104 | self.separatorStyle = UITableViewCellSeparatorStyleNone; 105 | return self; 106 | }; 107 | } 108 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerCell { 109 | return ^(Class cls, UINib *nib, MK_STRING identifier) { 110 | if (cls && identifier && !nib) { 111 | [self registerClass:cls forCellReuseIdentifier:identifier]; 112 | } 113 | if (nib && identifier && !cls) { 114 | [self registerNib:nib forCellReuseIdentifier:identifier]; 115 | } 116 | return self; 117 | }; 118 | } 119 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerHeaderFooter { 120 | return ^(Class cls, UINib *nib, MK_STRING identifier) { 121 | if (cls && identifier && !nib) { 122 | [self registerClass:cls forHeaderFooterViewReuseIdentifier:identifier]; 123 | } 124 | if (nib && identifier && !cls) { 125 | [self registerNib:nib forHeaderFooterViewReuseIdentifier:identifier]; 126 | } 127 | return self; 128 | }; 129 | } 130 | 131 | @end 132 | -------------------------------------------------------------------------------- /Example/Maker/MakerViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MakerViewController.m 3 | // Maker 4 | // 5 | // Created by forkingghost on 09/04/2017. 6 | // Copyright (c) 2017 forkingghost. All rights reserved. 7 | // 8 | 9 | #import "MakerViewController.h" 10 | #import 11 | 12 | #import "MakerConfirmViewController.h" 13 | #import 14 | 15 | @interface MakerViewController () 16 | 17 | @end 18 | 19 | @implementation MakerViewController 20 | 21 | - (void)viewDidLoad 22 | { 23 | [super viewDidLoad]; 24 | 25 | static unsigned int count = 0; 26 | objc_property_t *propertyList = class_copyPropertyList([UITableView class], &count); 27 | for (int i = 0; i < count; i++) { 28 | const char *name = property_getName(propertyList[i]); 29 | NSLog(@"%@", [NSString stringWithCString:name encoding:NSUTF8StringEncoding]); 30 | } 31 | 32 | self.title = @"Bartholomew Kuma"; 33 | 34 | CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width; 35 | CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height; 36 | 37 | __weak typeof(self) weakSelf = self; 38 | 39 | UIScrollView *mainScrollView = UIScrollView.maker 40 | .com_setup(self.view) 41 | .com_frame(0, 0, screenWidth, screenHeight) 42 | .scr_contentSize(CGSizeMake(screenWidth, screenHeight + 100)); 43 | 44 | UIImageView *cardView = UIImageView.maker 45 | .com_setup(mainScrollView) 46 | .com_frame(20, 20, screenWidth - 40, 450) 47 | .com_border(1.0, @"#F1F1F1") 48 | .com_cornerRadius(5.0) 49 | .com_contentMode(mk_vToFill) 50 | .com_userInterface(YES) 51 | .img_imageName(@"bartholomew_kuma"); 52 | 53 | UIView *contentView = UIView.maker 54 | .com_setup(cardView) 55 | .com_frame(0, 300, screenWidth-40, 150) 56 | .com_backgroundColor2(@"#000000", 0.5); 57 | 58 | UILabel.maker 59 | .com_setup(contentView) 60 | .com_frame(10, 10, screenWidth-60, 50) 61 | .lab_text(@"バーソロミュー くま: 这个名字来自耶稣的十二门徒之一,Bartholemew。") 62 | .lab_lineBreakMode(mk_Char) 63 | .lab_numberOfSection(2) 64 | .lab_font1(15) 65 | .lab_textColor(@"#FFFFFF"); 66 | 67 | UILabel.maker 68 | .com_setup(contentView) 69 | .com_frame(10, 70, screenWidth-40, 15) 70 | .lab_text(@"赏金:2亿9600万贝里") 71 | .lab_textColor(@"#EEEEEE") 72 | .lab_font1(13); 73 | 74 | 75 | UIButton.maker 76 | .com_setup(contentView) 77 | .com_frame(10, 105, (screenWidth-40)/2-15, 30) 78 | .com_backgroundColor(@"#F1F1F1") 79 | .com_border(1.0, [UIColor lightGrayColor]) 80 | .com_cornerRadius(5.0) 81 | .btn_title(@"抓捕", mk_Normal) 82 | .btn_titleColor([UIColor lightGrayColor], mk_Normal) 83 | .btn_font1(13) 84 | .btn_actionBlock(mk_TouchUpInside, ^(id sender) { 85 | NSLog(@"抓捕"); 86 | }); 87 | 88 | UIButton.maker 89 | .com_setup(contentView) 90 | .com_frame((screenWidth-40)/2+5, 105, (screenWidth-40)/2-15, 30) 91 | .com_backgroundColor(@"#FF8802") 92 | .com_cornerRadius(5.0) 93 | .btn_title(@"放我走吧/(ㄒoㄒ)/~~", mk_Normal) 94 | .btn_titleColor(@"#FFFFFF", mk_Normal) 95 | .btn_font1(13) 96 | .btn_actionBlock(mk_TouchUpInside, ^(id sender) { 97 | MakerConfirmViewController *confirm = [[MakerConfirmViewController alloc] init]; 98 | [weakSelf.navigationController pushViewController:confirm animated:YES]; 99 | }); 100 | 101 | 102 | UIView *textFieldView = UIView.maker 103 | .com_setup(mainScrollView) 104 | .com_frame(20, cardView.frame.origin.y + cardView.frame.size.height + 20, screenWidth - 40, 50) 105 | .com_backgroundColor(@"#F1F1F1"); 106 | 107 | UITextField.maker 108 | .com_setup(textFieldView) 109 | .com_frame(10, 10, textFieldView.frame.size.width - 20, 30) 110 | .tf_style(mk_RoundedRect) 111 | .tf_font1(13) 112 | .tf_placeholder(@"测试TextField") 113 | .tf_delegate() 114 | .tf_maxLength(10) 115 | .tf_optionBlock(^(){ 116 | NSLog(@"return"); 117 | }) 118 | .tf_changeBlock(^(NSString *text) { 119 | NSLog(@"%@", text); 120 | }); 121 | } 122 | 123 | @end 124 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UIButton+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+Maker.m 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UIButton+Maker.h" 10 | #import 11 | 12 | @implementation UIButton (Maker) 13 | 14 | // set 15 | - (void)setMk_buttonPressedBlock:(MKButtonPressedBlock)mk_buttonPressedBlock { 16 | objc_setAssociatedObject(self, 17 | mk_buttonPressedKey, 18 | mk_buttonPressedBlock, 19 | OBJC_ASSOCIATION_COPY_NONATOMIC); 20 | } 21 | 22 | // get 23 | - (MKButtonPressedBlock)mk_buttonPressedBlock { 24 | return objc_getAssociatedObject(self, mk_buttonPressedKey); 25 | } 26 | 27 | - (UIButton *(^)(MK_STRING, MKControlStateOption)) btn_title { 28 | return ^(MK_STRING title, MKControlStateOption state) { 29 | [self setTitle:title forState:[MakerUntil mk_controlState:state]]; 30 | return self; 31 | }; 32 | } 33 | - (UIButton *(^)(MK_COLOR, MKControlStateOption)) btn_titleColor { 34 | return ^(MK_COLOR color, MKControlStateOption state) { 35 | if ([color isKindOfClass:[UIColor class]]) { 36 | [self setTitleColor:(UIColor *)color forState:[MakerUntil mk_controlState:state]]; 37 | } else { 38 | [self setTitleColor:[MakerUntil mk_colorWithHexString:color] forState:[MakerUntil mk_controlState:state]]; 39 | } 40 | return self; 41 | }; 42 | } 43 | - (UIButton *(^)(MK_UIIMAGE, MKControlStateOption, MK_BOOL)) btn_image { 44 | return ^(MK_UIIMAGE image, MKControlStateOption state, MK_BOOL isBack) { 45 | if (isBack) { 46 | [self setBackgroundImage:image forState:[MakerUntil mk_controlState:state]]; 47 | } else { 48 | [self setImage:image forState:[MakerUntil mk_controlState:state]]; 49 | } 50 | return self; 51 | }; 52 | } 53 | - (UIButton *(^)(MK_FLOAT)) btn_font1 { 54 | return ^(MK_FLOAT size) { 55 | self.titleLabel.font = [UIFont systemFontOfSize:size]; 56 | return self; 57 | }; 58 | } 59 | - (UIButton *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) btn_font2 { 60 | return ^(MK_FLOAT size, MK_FLOAT weight, MK_STRING family) { 61 | self.titleLabel.font = [UIFont systemFontOfSize:size weight:weight]; 62 | if (family) { 63 | self.titleLabel.font = [UIFont fontWithName:family size:size]; 64 | } 65 | return self; 66 | }; 67 | } 68 | - (UIButton *(^)(MK_BOOL)) btn_selected { 69 | return ^(MK_BOOL selected) { 70 | self.selected = selected; 71 | return self; 72 | }; 73 | } 74 | - (UIButton *(^)(MK_BOOL))btn_enabled { 75 | return ^(MK_BOOL enabled) { 76 | self.enabled = enabled; 77 | return self; 78 | }; 79 | } 80 | - (UIButton *(^)(UIEdgeInsets, MKUIEdgeInsetsOption)) btn_insets { 81 | return ^(UIEdgeInsets insets, MKUIEdgeInsetsOption option) { 82 | if (option == mk_Image) { 83 | [self setImageEdgeInsets:insets]; 84 | } else { 85 | [self setTitleEdgeInsets:insets]; 86 | } 87 | return self; 88 | }; 89 | } 90 | - (UIButton *(^)(id, SEL, MKControlEventsOption)) btn_action { 91 | return ^(id target, SEL sel, MKControlEventsOption events) { 92 | [self addTarget:target action:sel forControlEvents:[MakerUntil mk_controlEvents:events]]; 93 | return self; 94 | }; 95 | } 96 | - (UIButton *(^)(MKControlEventsOption, MKButtonPressedBlock))btn_actionBlock { 97 | return ^(MKControlEventsOption events, MKButtonPressedBlock buttonPressedBlock) { 98 | if (!buttonPressedBlock) { 99 | return self; 100 | } 101 | self.mk_buttonPressedBlock = buttonPressedBlock; 102 | [self addTarget:self action:@selector(buttonPressed:) forControlEvents:[MakerUntil mk_controlEvents:events]]; 103 | return self; 104 | }; 105 | } 106 | - (void) buttonPressed:(id)sender { 107 | if (self.mk_buttonPressedBlock) { 108 | self.mk_buttonPressedBlock(sender); 109 | } 110 | } 111 | 112 | 113 | @end 114 | 115 | -------------------------------------------------------------------------------- /Example/Maker.xcodeproj/xcshareddata/xcschemes/Maker-Example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 64 | 66 | 72 | 73 | 74 | 75 | 76 | 77 | 83 | 85 | 91 | 92 | 93 | 94 | 96 | 97 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 42 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 43 | ;; 44 | *.xib) 45 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 46 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 96 | fi 97 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 42 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 43 | ;; 44 | *.xib) 45 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 46 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 96 | fi 97 | -------------------------------------------------------------------------------- /Maker/Classes/Lib/MakerUntil.h: -------------------------------------------------------------------------------- 1 | // 2 | // MakerUntil.h 3 | // Components 4 | // 5 | // Created by ZhaoHeng on 2017/6/15. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #define MK_FLOAT CGFloat 13 | #define MK_COLOR id 14 | #define MK_BOOL BOOL 15 | #define MK_STRING NSString* 16 | #define MK_CGRECT CGRect 17 | #define MK_UIVIEW UIView* 18 | #define MK_UIIMAGE UIImage* 19 | #define MK_CONTROLSTATE UIControlState 20 | #define MK_INTEGER NSInteger 21 | #define MK_TIMEINTERVAL NSTimeInterval 22 | #define MK_CGPOINT CGPoint 23 | #define MK_CGSize CGSize 24 | 25 | #define MK_RETURNNIL return nil 26 | 27 | // UIButton 按钮里的图片和文字的Insets 28 | typedef NS_ENUM(NSUInteger, MKUIEdgeInsetsOption) { 29 | mk_Image = 0, 30 | mk_Title 31 | }; 32 | 33 | // 重置NSLineBreakMode 34 | typedef NS_ENUM(NSUInteger, MKLineBreakModeOption) { 35 | mk_Word = 0, 36 | mk_Char, 37 | mk_Clip, 38 | mk_Head, 39 | mk_Tail, 40 | mk_Middle 41 | }; 42 | 43 | // 重置NSTextAlignment 44 | typedef NS_ENUM(NSUInteger, MKTextAlignmentOption) { 45 | mk_Left = 0, 46 | mk_Center, 47 | mk_Right, 48 | mk_Justified, 49 | mk_Natural 50 | }; 51 | 52 | // 重置UIViewContentMode 53 | typedef NS_ENUM(NSUInteger, MKViewContentModeOption) { 54 | mk_vToFill = 0, 55 | mk_vAspectFit, 56 | mk_vAspectFill, 57 | mk_vRedraw, 58 | mk_vCenter, 59 | mk_vTop, 60 | mk_vBottom, 61 | mk_vLeft, 62 | mk_vRight, 63 | mk_vTopLeft, 64 | mk_vTopRight, 65 | mk_vBottomLeft, 66 | mk_vBottomRight 67 | }; 68 | 69 | // 重置UITextBorderStyle 70 | typedef NS_ENUM(NSUInteger, MKTextBorderStyleOption) { 71 | mk_None, 72 | mk_Line, 73 | mk_Bezel, 74 | mk_RoundedRect 75 | }; 76 | 77 | // 重置UIControlState 78 | typedef NS_OPTIONS(NSUInteger, MKControlStateOption) { 79 | mk_Normal = 0, 80 | mk_Highlighted = 1 << 0, 81 | mk_Disabled = 1 << 1, 82 | mk_Selected = 1 << 2, 83 | mk_Focused NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 3, 84 | mk_Application = 0x00FF0000, 85 | mk_Reserved = 0xFF000000 86 | }; 87 | 88 | // 重置UITextFieldViewMode 89 | typedef NS_ENUM(NSInteger, MKTextFieldViewModeOption) { 90 | mk_Never, 91 | mk_WhileEditing, 92 | mk_UnlessEditing, 93 | mk_Always 94 | }; 95 | 96 | // 重置UIControlEvents 97 | typedef NS_OPTIONS(NSUInteger, MKControlEventsOption) { 98 | mk_TouchDown = 1 << 0, // on all touch downs 99 | mk_TouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1) 100 | mk_TouchDragInside = 1 << 2, 101 | mk_TouchDragOutside = 1 << 3, 102 | mk_TouchDragEnter = 1 << 4, 103 | mk_TouchDragExit = 1 << 5, 104 | mk_TouchUpInside = 1 << 6, 105 | mk_TouchUpOutside = 1 << 7, 106 | mk_TouchCancel = 1 << 8, 107 | mk_ValueChanged = 1 << 12, // sliders, etc. 108 | mk_PrimaryActionTriggered NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 13, // semantic action: for buttons, etc. 109 | mk_EditingDidBegin = 1 << 16, // UITextField 110 | mk_EditingChanged = 1 << 17, 111 | mk_EditingDidEnd = 1 << 18, 112 | mk_EditingDidEndOnExit = 1 << 19, // 'return key' ending editing 113 | mk_AllTouchEvents = 0x00000FFF, // for touch events 114 | mk_AllEditingEvents = 0x000F0000, // for UITextField 115 | mk_ApplicationReserved = 0x0F000000, // range available for application use 116 | mk_SystemReserved = 0xF0000000, // range reserved for internal framework use 117 | mk_AllEvents = 0xFFFFFFFF 118 | }; 119 | 120 | // 横向或竖向 121 | typedef NS_ENUM(NSUInteger, MKLineViewDirection) { 122 | mk_Horizon, 123 | mk_Vertical 124 | }; 125 | 126 | // UIScrollViewIndicatorStyle 127 | typedef NS_ENUM(NSInteger, MKScrollViewIndicatorStyle) { 128 | mk_Default, 129 | mk_Black, 130 | mk_White 131 | }; 132 | 133 | // 键盘消失的模式UIScrollViewKeyboardDismissMode 134 | typedef NS_ENUM(NSInteger, MKScrollViewKeyboardDismissMode) { 135 | mk_DisNone, 136 | mk_DisOnDrag, // dismisses the keyboard when a drag begins 137 | mk_DisInteractive, // the keyboard follows the dragging touch off screen, and may be pulled upward again to cancel the dismiss 138 | } NS_ENUM_AVAILABLE_IOS(7_0); 139 | 140 | // UITableView的UITableViewStyle模式 141 | typedef NS_ENUM(NSInteger, MKTableViewStyle) { 142 | mk_Plain, // regular table view 143 | mk_Grouped // preferences style table view 144 | }; 145 | 146 | // Button点击事件 147 | static char *mk_buttonPressedKey = "mk_buttonPressedKey"; 148 | typedef void(^MKButtonPressedBlock)(UIButton *button); 149 | 150 | // ImageView图片Key 151 | static char *mk_imageNameKey = "mk_imageNameKey"; 152 | 153 | // UITextField事件 154 | static char *mk_shouldReturnKey = "mk_shouldReturnKey"; 155 | typedef void(^MKShouldReturnBlock)(); 156 | static char *mk_textChangeKey = "mk_textChangeKey"; 157 | typedef void(^MKTextChangeBlock)(NSString *text); 158 | 159 | @interface MakerUntil : NSObject 160 | // 16进制颜色返回UIColor 161 | + (UIColor *) mk_colorWithHexString: (MK_STRING)color; 162 | 163 | // NSLineBreakMode 164 | + (NSLineBreakMode) mk_lineBreakMode:(MKLineBreakModeOption)option; 165 | 166 | // NSTextAlignment 167 | + (NSTextAlignment) mk_textAlignment:(MKTextAlignmentOption)option; 168 | 169 | // UIViewContentMode 170 | + (UIViewContentMode) mk_viewContentMode:(MKViewContentModeOption)option; 171 | 172 | // UIControlState 173 | + (UIControlState) mk_controlState:(MKControlStateOption)option; 174 | 175 | // UIControlEvents 176 | + (UIControlEvents) mk_controlEvents:(MKControlEventsOption)option; 177 | 178 | // UITextBorderStyle 179 | + (UITextBorderStyle) mk_textBorderStyle:(MKTextBorderStyleOption)option; 180 | 181 | // UITextFieldViewMode 182 | + (UITextFieldViewMode) mk_textFieldViewMode:(MKTextFieldViewModeOption)option; 183 | 184 | // UIScrollViewIndicatorStyle 185 | + (UIScrollViewIndicatorStyle) mk_scrollViewIndicatorStyle:(MKScrollViewIndicatorStyle)option; 186 | 187 | // UIScrollViewKeyboardDismissMode 188 | + (UIScrollViewKeyboardDismissMode) mk_scrollViewKeyboardDismissModel:(MKScrollViewKeyboardDismissMode)option; 189 | 190 | // UITableViewStyle 191 | + (UITableViewStyle) mk_tableViewStyle:(MKTableViewStyle)option; 192 | 193 | @end 194 | -------------------------------------------------------------------------------- /Maker/Classes/Comments/UITextField+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UITextField+Maker.m 3 | // Components 4 | // 5 | // Created by 赵恒 on 2017/6/16. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UITextField+Maker.h" 10 | #import 11 | 12 | @implementation UITextField (Maker) 13 | - (void) setPrivate_maxLength:(NSInteger)private_maxLength { 14 | objc_setAssociatedObject(self, 15 | mk_private_maxLengthKey, 16 | [NSNumber numberWithInteger:private_maxLength], 17 | OBJC_ASSOCIATION_COPY_NONATOMIC); 18 | } 19 | - (NSInteger)private_maxLength { 20 | return [((NSNumber *)objc_getAssociatedObject(self, mk_private_maxLengthKey)) integerValue]; 21 | } 22 | - (void) setMk_shouldReturnBlock:(MKShouldReturnBlock)mk_shouldReturnBlock { 23 | objc_setAssociatedObject(self, 24 | mk_shouldReturnKey, 25 | mk_shouldReturnBlock, 26 | OBJC_ASSOCIATION_COPY_NONATOMIC); 27 | } 28 | - (MKShouldReturnBlock) mk_shouldReturnBlock { 29 | return objc_getAssociatedObject(self, mk_shouldReturnKey); 30 | } 31 | - (void) setMk_textChangeBlock:(MKTextChangeBlock)mk_textChangeBlock { 32 | objc_setAssociatedObject(self, 33 | mk_textChangeKey, 34 | mk_textChangeBlock, 35 | OBJC_ASSOCIATION_COPY_NONATOMIC); 36 | } 37 | - (MKTextChangeBlock) mk_textChangeBlock { 38 | return objc_getAssociatedObject(self, mk_textChangeKey); 39 | } 40 | 41 | 42 | - (UITextField *(^)(MK_STRING)) tf_text { 43 | return ^(MK_STRING text) { 44 | self.text = text; 45 | return self; 46 | }; 47 | } 48 | - (UITextField *(^)(NSAttributedString *)) tf_attrText { 49 | return ^(NSAttributedString *attrText) { 50 | self.attributedText = attrText; 51 | return self; 52 | }; 53 | } 54 | - (UITextField *(^)(MK_COLOR)) tf_textColor { 55 | return ^(MK_COLOR color) { 56 | if ([color isKindOfClass:[UIColor class]]) { 57 | self.textColor = (UIColor *)color; 58 | } else { 59 | self.textColor = [MakerUntil mk_colorWithHexString:color]; 60 | } 61 | return self; 62 | }; 63 | } 64 | - (UITextField *(^)(MK_FLOAT)) tf_font1 { 65 | return ^(MK_FLOAT size) { 66 | self.font = [UIFont systemFontOfSize:size]; 67 | return self; 68 | }; 69 | } 70 | - (UITextField *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) tf_font2 { 71 | return ^(MK_FLOAT size, MK_FLOAT weight, MK_STRING family) { 72 | self.font = [UIFont systemFontOfSize:size weight:weight]; 73 | if (family) { 74 | self.font = [UIFont fontWithName:family size:size]; 75 | } 76 | return self; 77 | }; 78 | } 79 | - (UITextField *(^)(MKTextAlignmentOption)) tf_textAlinment { 80 | return ^(MKTextAlignmentOption align) { 81 | self.textAlignment = [MakerUntil mk_textAlignment:align]; 82 | return self; 83 | }; 84 | } 85 | - (UITextField *(^)()) tf_delegate { 86 | return ^() { 87 | self.delegate = self; 88 | return self; 89 | }; 90 | } 91 | - (UITextField *(^)(MKTextBorderStyleOption)) tf_style { 92 | return ^(MKTextBorderStyleOption option) { 93 | self.borderStyle = [MakerUntil mk_textBorderStyle:option]; 94 | return self; 95 | }; 96 | 97 | } 98 | - (UITextField *(^)(MK_STRING)) tf_placeholder { 99 | return ^(MK_STRING placeholder) { 100 | self.placeholder = placeholder; 101 | return self; 102 | }; 103 | } 104 | - (UITextField *(^)(MKTextFieldViewModeOption)) tf_clearMode { 105 | return ^(MKTextFieldViewModeOption option) { 106 | self.clearButtonMode = [MakerUntil mk_textFieldViewMode:option]; 107 | return self; 108 | }; 109 | } 110 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_leftView { 111 | return ^(MK_UIVIEW view, MKTextFieldViewModeOption option) { 112 | if (view && option) { 113 | self.leftView = view; 114 | self.leftViewMode = [MakerUntil mk_textFieldViewMode:option]; 115 | } 116 | return self; 117 | }; 118 | } 119 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_rightView { 120 | return ^(MK_UIVIEW view, MKTextFieldViewModeOption option) { 121 | if (view && option) { 122 | self.rightView = view; 123 | self.rightViewMode = [MakerUntil mk_textFieldViewMode:option]; 124 | } 125 | return self; 126 | }; 127 | } 128 | - (UITextField *(^)(MK_INTEGER)) tf_maxLength { 129 | return ^(MK_INTEGER length) { 130 | self.private_maxLength = length; 131 | return self; 132 | }; 133 | } 134 | - (UITextField *(^)(MKShouldReturnBlock)) tf_optionBlock { 135 | return ^(MKShouldReturnBlock block) { 136 | self.mk_shouldReturnBlock = block; 137 | return self; 138 | }; 139 | } 140 | - (UITextField *(^)(MKTextChangeBlock)) tf_changeBlock { 141 | return ^(MKTextChangeBlock block) { 142 | if (!block) { 143 | return self; 144 | } 145 | self.mk_textChangeBlock = block; 146 | [self addTarget:self action:@selector(textFiledEditChanged:) forControlEvents:UIControlEventValueChanged | UIControlEventEditingChanged]; 147 | return self; 148 | }; 149 | } 150 | 151 | 152 | #pragma mark =============== Private Function =============== 153 | //过滤非法字符 154 | - (NSString *)disable_Text:(NSString *)text { 155 | //NSLog(@"过滤--->%@",text); 156 | text = [text stringByReplacingOccurrencesOfString:@" " withString:@""]; 157 | text = [text stringByReplacingOccurrencesOfString:@"\n" withString:@""]; 158 | //过滤emoji表情 159 | return [self disable_emoji:text]; 160 | } 161 | 162 | //过滤emoj表情 163 | - (NSString *)disable_emoji:(NSString *)text { 164 | NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]" options:NSRegularExpressionCaseInsensitive error:nil]; 165 | NSString *modifiedString = [regex stringByReplacingMatchesInString:text 166 | options:0 167 | range:NSMakeRange(0, [text length]) 168 | withTemplate:@""]; 169 | return modifiedString; 170 | } 171 | 172 | - (void)textFiledEditChanged:(UITextField *)textField { 173 | // UITextField *textField = (UITextField *)noti.object; 174 | [self validationText:textField]; 175 | } 176 | 177 | - (void)validationText:(UITextField *)textField { 178 | //不论中文英文,如果有空格,回车,都要过滤掉 179 | NSString *toBeString = [self disable_Text:textField.text]; 180 | NSString *lang = [textField.textInputMode primaryLanguage]; 181 | //判断输入法 182 | if ([lang isEqualToString:@"zh-Hans"]) { 183 | UITextRange *selectedRange = [textField markedTextRange]; 184 | UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0]; 185 | if (!position) { 186 | if (toBeString.length>=self.private_maxLength) { 187 | NSString *strNew = [NSString stringWithString:toBeString]; 188 | [textField setText:[strNew substringToIndex:self.private_maxLength]]; 189 | } else { 190 | [textField setText:toBeString]; 191 | } 192 | } 193 | } else { 194 | if (toBeString.length > self.private_maxLength) { 195 | textField.text = [toBeString substringToIndex:self.private_maxLength]; 196 | } else { 197 | textField.text = toBeString; 198 | } 199 | } 200 | !self.mk_textChangeBlock?:self.mk_textChangeBlock(textField.text); 201 | } 202 | - (void) shouldReturnKeyBlock:(MKShouldReturnBlock)block { 203 | self.mk_shouldReturnBlock = block; 204 | } 205 | - (BOOL) textFieldShouldReturn:(UITextField *)textField { 206 | !self.mk_shouldReturnBlock?:self.mk_shouldReturnBlock(); 207 | return [textField resignFirstResponder]; 208 | } 209 | 210 | @end 211 | 212 | -------------------------------------------------------------------------------- /Maker/Classes/Base/UIView+Maker.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Maker.h 3 | // Components 4 | // 5 | // Created by ZhaoHeng on 2017/6/15. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MakerUntil.h" 11 | 12 | #pragma mark ================== UIView + Maker ==================== 13 | @interface UIView (Maker) 14 | /** 初始化UIView */ 15 | + (UIView *)maker; 16 | /** 设置UIView Frame x, y, w, h */ 17 | - (UIView *(^)(MK_FLOAT, MK_FLOAT, MK_FLOAT, MK_FLOAT)) com_frame; 18 | /** 设置UIView背景颜色 */ 19 | - (UIView *(^)(MK_COLOR)) com_backgroundColor; 20 | /** 设置UIView的透明度,颜色、透明度*/ 21 | - (UIView *(^)(MK_COLOR, MK_FLOAT)) com_backgroundColor2; 22 | /** 设置UIView透明度 */ 23 | - (UIView *(^)(MK_FLOAT)) com_alpha; 24 | /** 设置UIView是否隐藏 */ 25 | - (UIView *(^)(MK_BOOL)) com_hidden; 26 | /** 设置UIView圆角 */ 27 | - (UIView *(^)(MK_FLOAT)) com_cornerRadius; 28 | /** 设置UIView边框 borderWidth, 颜色 */ 29 | - (UIView *(^)(MK_FLOAT, MK_COLOR)) com_border; 30 | /** 设置UIView Tag值 */ 31 | - (UIView *(^)(MK_INTEGER)) com_tag; 32 | /** 设置UIView显示的模式 */ 33 | - (UIView *(^)(MKViewContentModeOption)) com_contentMode; 34 | /** 设置UIView UserInterface是否可用 */ 35 | - (UIView *(^)(MK_BOOL)) com_userInterface; 36 | /** 添加UIView到某个View */ 37 | - (UIView *(^)(MK_UIVIEW)) com_setup; 38 | /** 切割UIView */ 39 | - (UIView *(^)(MK_BOOL)) com_clipsToBounds; 40 | @end 41 | 42 | 43 | #pragma mark ================== UIView + MKButton ==================== 44 | @interface UIView (MKButton) 45 | /** 设置Button标题文字 文字 状态:mk_Normal */ 46 | - (UIButton *(^)(MK_STRING, MKControlStateOption)) btn_title; 47 | /** 设置Button标题文字颜色 颜色 状态:mk_Normal */ 48 | - (UIButton *(^)(MK_COLOR, MKControlStateOption)) btn_titleColor; 49 | /** 设置Button图片 图片 状态:mk_Normal 是否是背景图片 */ 50 | - (UIButton *(^)(MK_UIIMAGE, MKControlStateOption, MK_BOOL)) btn_image; 51 | /** 设置Button标题文字style size */ 52 | - (UIButton *(^)(MK_FLOAT)) btn_font1; 53 | /** 设置Button标题文字style size weight family */ 54 | - (UIButton *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) btn_font2; 55 | /** 设置Button选中状态 YES/NO */ 56 | - (UIButton *(^)(MK_BOOL)) btn_selected; 57 | /** 设置Button是否可用 */ 58 | - (UIButton *(^)(MK_BOOL)) btn_enabled; 59 | /** 设置Button标题文字Edge UIEdgeInsets, mk_Image/mk_Title */ 60 | - (UIButton *(^)(UIEdgeInsets, MKUIEdgeInsetsOption)) btn_insets; 61 | /** 点击Button事件 observer, @selector, mk_TouchUpInside... */ 62 | - (UIButton *(^)(id, SEL, MKControlEventsOption)) btn_action; 63 | /** 点击Button事件 mk_TouchUpInside..., block */ 64 | - (UIButton *(^)(MKControlEventsOption, MKButtonPressedBlock))btn_actionBlock; 65 | @end 66 | 67 | 68 | #pragma mark ================== UIView + MKImageView ==================== 69 | @interface UIView (MKImageView) 70 | /** 设置ImageView的图片根据名字 */ 71 | - (UIImageView *(^)(MK_STRING)) img_imageName; 72 | /** 设置ImageView的图片根据UIImage */ 73 | - (UIImageView *(^)(MK_UIIMAGE)) img_image; 74 | /** 设置ImageView的动画图片数组 */ 75 | - (UIImageView *(^)(NSArray *)) img_images; 76 | /** 设置ImageView的动画的时间和次数 */ 77 | - (UIImageView *(^)(MK_TIMEINTERVAL, MK_INTEGER)) img_animation; 78 | @end 79 | 80 | 81 | #pragma mark ================== UIView + MKLabel ==================== 82 | @interface UIView (MKLabel) 83 | /** 设置Label的文字 */ 84 | - (UILabel *(^)(MK_STRING)) lab_text; 85 | /** 设置Label的文字颜色 */ 86 | - (UILabel *(^)(MK_COLOR)) lab_textColor; 87 | /** 设置Label文字 size */ 88 | - (UILabel *(^)(MK_FLOAT)) lab_font1; 89 | /** 设置Label文字 size weight family */ 90 | - (UILabel *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) lab_font2; 91 | /** 设置Label的居左、中、右 */ 92 | - (UILabel *(^)(MKTextAlignmentOption)) lab_textAlignment; 93 | /** 设置Label的换行模式 */ 94 | - (UILabel *(^)(MKLineBreakModeOption)) lab_lineBreakMode; 95 | /** 设置Label的换行行数 */ 96 | - (UILabel *(^)(MK_INTEGER)) lab_numberOfSection; 97 | /** 设置Label是否可用 */ 98 | - (UILabel *(^)(MK_BOOL)) lab_enabled; 99 | /** 设置Label如果超过宽自动缩放字体 */ 100 | - (UILabel *(^)(MK_BOOL))lab_adjust; 101 | @end 102 | 103 | 104 | #pragma mark ================== UIView + MKTextField ==================== 105 | @interface UIView (MKTextField) 106 | /** 设置TextField的默认文字 */ 107 | - (UITextField *(^)(MK_STRING)) tf_text; 108 | /** 设置TextField的富文本文字 */ 109 | - (UITextField *(^)(NSAttributedString *)) tf_attrText; 110 | /** 设置TextField的文字颜色 */ 111 | - (UITextField *(^)(MK_COLOR)) tf_textColor; 112 | /** 设置TextField的文字的Font, size */ 113 | - (UITextField *(^)(MK_FLOAT)) tf_font1; 114 | /** 设置TextField的文字的Font, size, weight, family */ 115 | - (UITextField *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) tf_font2; 116 | /** 设置TextField的文字居左、中、右 */ 117 | - (UITextField *(^)(MKTextAlignmentOption)) tf_textAlinment; 118 | /** 设置TextField的的代理 */ 119 | - (UITextField *(^)()) tf_delegate; 120 | /** 设置TextField的风格 */ 121 | - (UITextField *(^)(MKTextBorderStyleOption)) tf_style; 122 | /** 设置TextField的提示语 */ 123 | - (UITextField *(^)(MK_STRING)) tf_placeholder; 124 | /** 设置TextField的清除模式 */ 125 | - (UITextField *(^)(MKTextFieldViewModeOption)) tf_clearMode; 126 | /** 设置TextField的左view */ 127 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_leftView; 128 | /** 设置TextField的右view */ 129 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_rightView; 130 | 131 | /// 附加函数 132 | /** 设置TextField的字数限制 如果要使用字符限制需要设置tf_notification tf_delegate*/ 133 | - (UITextField *(^)(MK_INTEGER)) tf_maxLength; 134 | /** 点击return search的功能按钮时候的回调 */ 135 | - (UITextField *(^)(MKShouldReturnBlock)) tf_optionBlock; 136 | /** 设置TextField文字变化的block */ 137 | - (UITextField *(^)(MKTextChangeBlock)) tf_changeBlock; 138 | @end 139 | 140 | 141 | #pragma mark ================== UIView + MKUIScrollView ==================== 142 | @interface UIView (MKScrollView) 143 | /** 设置ScrollView的偏移量 */ 144 | - (UIScrollView *(^)(MK_CGPOINT)) scr_contentOffset; 145 | /** 设置ScrollView的Size */ 146 | - (UIScrollView *(^)(MK_CGSize)) scr_contentSize; 147 | /** 设置ScrollView的EdgeInsets*/ 148 | - (UIScrollView *(^)(UIEdgeInsets)) scr_contentInsets; 149 | /** 设置ScrollView的代理*/ 150 | - (UIScrollView *(^)(id)) scr_delegate; 151 | /** 设置ScrollView的bounces*/ 152 | - (UIScrollView *(^)(MK_BOOL)) scr_bounces; 153 | /** 设置ScrollView的alwaysBounceVertical*/ 154 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceVertical; 155 | /** 设置ScrollView的alwaysBounceHorizontal*/ 156 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceHorizontal; 157 | /** 设置ScrollView的scrollEnabled*/ 158 | - (UIScrollView *(^)(MK_BOOL)) scr_scrollEnabled; 159 | /** 设置ScrollView的showsHorizontalScrollIndicator*/ 160 | - (UIScrollView *(^)(MK_BOOL)) scr_showsHorizontal; 161 | /** 设置ScrollView的showsVerticalScrollIndicator*/ 162 | - (UIScrollView *(^)(MK_BOOL)) scr_showsVertical; 163 | /** 设置ScrollView的scrollIndicatorInsets*/ 164 | - (UIScrollView *(^)(UIEdgeInsets)) scr_indicatorInsets; 165 | /** 设置ScrollView的bounces*/ 166 | - (UIScrollView *(^)(MKScrollViewIndicatorStyle)) scr_indicatorStyle; 167 | /** 设置ScrollView的minimumZoomScale*/ 168 | - (UIScrollView *(^)(MK_FLOAT)) scr_minScale; 169 | /** 设置ScrollView的maximumZoomScale*/ 170 | - (UIScrollView *(^)(MK_FLOAT)) scr_maxScale; 171 | /** 设置ScrollView的zoomScale*/ 172 | - (UIScrollView *(^)(MK_FLOAT)) scr_zoomScale; 173 | /** 设置ScrollView的bouncesZoom*/ 174 | - (UIScrollView *(^)(MK_BOOL)) scr_bouncesZoom; 175 | /** 设置ScrollView的bounces*/ 176 | - (UIScrollView *(^)(MKScrollViewKeyboardDismissMode)) scr_keyboardDismissMode; 177 | @end 178 | 179 | 180 | 181 | #pragma mark ================== UIView + MKUITableView ==================== 182 | @interface UIView (MKUITableView) 183 | /** 设置UITableView的delegate和dataSource */ 184 | - (UITableView *(^)(id)) tab_delegateAndDataSource; 185 | /** 设置UITableView的delegate */ 186 | - (UITableView *(^)(id)) tab_delegate; 187 | /** 设置UITableView的dataSource */ 188 | - (UITableView *(^)(id)) tab_dataSource; 189 | /** 设置UITableView的rowHeight */ 190 | - (UITableView *(^)(MK_FLOAT)) tab_rowHeight; 191 | /** 设置UITableView的sectionHeaderHeight */ 192 | - (UITableView *(^)(MK_FLOAT)) tab_sHeaderHeight; 193 | /** 设置UITableView的sectionFooterHeight */ 194 | - (UITableView *(^)(MK_FLOAT)) tab_sFooterHeight; 195 | /** 设置UITableView的estimatedRowHeight */ 196 | - (UITableView *(^)(MK_FLOAT)) tab_eRowHeight; 197 | /** 设置UITableView的estimatedSectionHeaderHeight */ 198 | - (UITableView *(^)(MK_FLOAT)) tab_esHeaderHeight; 199 | /** 设置UITableView的estimatedSectionFooterHeight */ 200 | - (UITableView *(^)(MK_FLOAT)) tab_esFooterHeight; 201 | /** 设置UITableView的UIEdgeInsets */ 202 | - (UITableView *(^)(UIEdgeInsets)) tab_separatorInset; 203 | /** 设置UITableView的backgroundView */ 204 | - (UITableView *(^)(MK_UIVIEW)) tab_backgroundView; 205 | /** 设置UITableView的tableHeaderView */ 206 | - (UITableView *(^)(MK_UIVIEW)) tab_tHeaderView; 207 | /** 设置UITableView的tableFooterView */ 208 | - (UITableView *(^)(MK_UIVIEW)) tab_tFooterView; 209 | /** 设置UITableView的separatorStyle */ 210 | - (UITableView *(^)()) tab_noneSeparatorStyle; 211 | /** 设置UITableView的cell registerClass - nib - identifier */ 212 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerCell; 213 | /** 设置UITableView的header,footer registerClass - nib - identifier*/ 214 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerHeaderFooter; 215 | @end 216 | -------------------------------------------------------------------------------- /Maker/Classes/Base/UIView+Maker.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Maker.m 3 | // Components 4 | // 5 | // Created by ZhaoHeng on 2017/6/15. 6 | // Copyright © 2017年 Zhao Heng. All rights reserved. 7 | // 8 | 9 | #import "UIView+Maker.h" 10 | #import 11 | 12 | #pragma mark ================== UIView + Maker ==================== 13 | @implementation UIView (Maker) 14 | + (UIView *)maker { 15 | return [self new]; 16 | } 17 | - (UIView *(^)(MK_FLOAT, MK_FLOAT, MK_FLOAT, MK_FLOAT)) com_frame { 18 | return ^(MK_FLOAT x, MK_FLOAT y, MK_FLOAT w, MK_FLOAT h) { 19 | self.frame = CGRectMake(x, y, w, h); 20 | return self; 21 | }; 22 | } 23 | - (UIView *(^)(MK_COLOR)) com_backgroundColor { 24 | return ^(MK_COLOR color) { 25 | if ([color isKindOfClass:[UIColor class]]) { 26 | self.backgroundColor = (UIColor *)color; 27 | } else { 28 | self.backgroundColor = [MakerUntil mk_colorWithHexString:color]; 29 | } 30 | return self; 31 | }; 32 | } 33 | - (UIView *(^)(MK_COLOR, MK_FLOAT)) com_backgroundColor2 { 34 | return ^(MK_COLOR color, MK_FLOAT alpha) { 35 | if ([color isKindOfClass:[UIColor class]]) { 36 | self.backgroundColor = [(UIColor *)color colorWithAlphaComponent:alpha]; 37 | } else { 38 | self.backgroundColor = [[MakerUntil mk_colorWithHexString:color] colorWithAlphaComponent:alpha]; 39 | } 40 | return self; 41 | }; 42 | } 43 | - (UIView *(^)(MK_FLOAT)) com_alpha { 44 | return ^(MK_FLOAT alpha) { 45 | self.alpha = alpha; 46 | return self; 47 | }; 48 | } 49 | - (UIView *(^)(MK_BOOL)) com_hidden { 50 | return ^(MK_BOOL hidden) { 51 | self.hidden = hidden; 52 | return self; 53 | }; 54 | } 55 | - (UIView *(^)(MK_FLOAT)) com_cornerRadius { 56 | return ^(MK_FLOAT radius) { 57 | self.layer.cornerRadius = radius; 58 | self.layer.masksToBounds = YES; 59 | return self; 60 | }; 61 | } 62 | - (UIView *(^)(MK_FLOAT, MK_COLOR)) com_border { 63 | return ^(MK_FLOAT width, MK_COLOR color) { 64 | self.layer.borderWidth = width; 65 | if ([color isKindOfClass:[UIColor class]]) { 66 | self.layer.borderColor = ((UIColor *)color).CGColor; 67 | } else { 68 | self.layer.borderColor = [MakerUntil mk_colorWithHexString:color].CGColor; 69 | } 70 | return self; 71 | }; 72 | } 73 | - (UIView *(^)(MK_INTEGER)) com_tag { 74 | return ^(MK_INTEGER tag) { 75 | self.tag = tag; 76 | return self; 77 | }; 78 | } 79 | - (UIView *(^)(MKViewContentModeOption)) com_contentMode { 80 | return ^(MKViewContentModeOption mode) { 81 | self.contentMode = [MakerUntil mk_viewContentMode:mode]; 82 | return self; 83 | }; 84 | } 85 | - (UIView *(^)(MK_BOOL)) com_userInterface { 86 | return ^(MK_BOOL flag) { 87 | self.userInteractionEnabled = flag; 88 | return self; 89 | }; 90 | } 91 | - (UIView *(^)(MK_UIVIEW)) com_setup { 92 | return ^(MK_UIVIEW view) { 93 | [view addSubview:self]; 94 | return self; 95 | }; 96 | } 97 | - (UIView *(^)(MK_BOOL)) com_clipsToBounds { 98 | return ^(MK_BOOL flag) { 99 | self.clipsToBounds = flag; 100 | return self; 101 | }; 102 | } 103 | @end 104 | 105 | 106 | #pragma mark ================== UIView + MKButton ==================== 107 | @implementation UIView (MKButton) 108 | - (UIButton *(^)(MK_STRING, MKControlStateOption)) btn_title { MK_RETURNNIL; } 109 | - (UIButton *(^)(MK_COLOR, MKControlStateOption))btn_titleColor { MK_RETURNNIL; } 110 | - (UIButton *(^)(MK_UIIMAGE, MKControlStateOption, MK_BOOL)) btn_image { MK_RETURNNIL; } 111 | - (UIButton *(^)(CGFloat))btn_font1 { MK_RETURNNIL; } 112 | - (UIButton *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) btn_font2 { MK_RETURNNIL; } 113 | - (UIButton *(^)(UIEdgeInsets, MKUIEdgeInsetsOption)) btn_insets { MK_RETURNNIL; } 114 | - (UIButton *(^)(MK_BOOL)) btn_selected { MK_RETURNNIL; } 115 | - (UIButton *(^)(MK_BOOL)) btn_enabled { MK_RETURNNIL; } 116 | - (UIButton *(^)(id, SEL, MKControlEventsOption)) btn_action { MK_RETURNNIL; } 117 | - (UIButton *(^)(MKControlEventsOption, MKButtonPressedBlock))btn_actionBlock { MK_RETURNNIL; } 118 | @end 119 | 120 | 121 | #pragma mark ================== UIView + MKImageView ==================== 122 | @implementation UIView (MKImageView) 123 | - (UIImageView *(^)(MK_STRING)) img_imageName { MK_RETURNNIL; } 124 | - (UIImageView *(^)(MK_UIIMAGE)) img_image { MK_RETURNNIL; } 125 | - (UIImageView *(^)(NSArray *)) img_images { MK_RETURNNIL; } 126 | - (UIImageView *(^)(MK_TIMEINTERVAL, MK_INTEGER)) img_animation { MK_RETURNNIL; } 127 | @end 128 | 129 | 130 | #pragma mark ================== UIView + MKLabel ==================== 131 | @implementation UIView (MKLabel) 132 | - (UILabel *(^)(MK_STRING)) lab_text { MK_RETURNNIL; } 133 | - (UILabel *(^)(MK_COLOR)) lab_textColor { MK_RETURNNIL; } 134 | - (UILabel *(^)(MK_FLOAT)) lab_font1 { MK_RETURNNIL; } 135 | - (UILabel *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) lab_font2 { MK_RETURNNIL; } 136 | - (UILabel *(^)(MKTextAlignmentOption)) lab_textAlignment { MK_RETURNNIL; } 137 | - (UILabel *(^)(MKLineBreakModeOption)) lab_lineBreakMode { MK_RETURNNIL; } 138 | - (UILabel *(^)(MK_INTEGER)) lab_numberOfSection { MK_RETURNNIL; } 139 | - (UILabel *(^)(MK_BOOL))lab_enabled { MK_RETURNNIL; } 140 | - (UILabel *(^)(MK_BOOL))lab_adjust { MK_RETURNNIL; } 141 | @end 142 | 143 | 144 | #pragma mark ================== UIView + MKTextField ==================== 145 | @implementation UIView (MKTextField) 146 | - (UITextField *(^)(MK_STRING)) tf_text { MK_RETURNNIL; } 147 | - (UITextField *(^)(NSAttributedString *)) tf_attrText { MK_RETURNNIL; } 148 | - (UITextField *(^)(MK_COLOR)) tf_textColor { MK_RETURNNIL; } 149 | - (UITextField *(^)(MK_FLOAT)) tf_font1 { MK_RETURNNIL; } 150 | - (UITextField *(^)(MK_FLOAT, MK_FLOAT, MK_STRING)) tf_font2 { MK_RETURNNIL; } 151 | - (UITextField *(^)(MKTextAlignmentOption)) tf_textAlinment { MK_RETURNNIL; } 152 | - (UITextField *(^)()) tf_delegate { MK_RETURNNIL; } 153 | - (UITextField *(^)(MKTextBorderStyleOption)) tf_style { MK_RETURNNIL; } 154 | - (UITextField *(^)(MK_STRING)) tf_placeholder { MK_RETURNNIL; } 155 | - (UITextField *(^)(MKTextFieldViewModeOption)) tf_clearMode { MK_RETURNNIL; } 156 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_leftView { MK_RETURNNIL; } 157 | - (UITextField *(^)(MK_UIVIEW, MKTextFieldViewModeOption)) tf_rightView { MK_RETURNNIL; } 158 | - (UITextField *(^)(MK_INTEGER)) tf_maxLength { MK_RETURNNIL; } 159 | - (UITextField *(^)(MKShouldReturnBlock)) tf_optionBlock { MK_RETURNNIL; } 160 | - (UITextField *(^)(MKTextChangeBlock)) tf_changeBlock { MK_RETURNNIL; } 161 | @end 162 | 163 | 164 | #pragma mark ================== UIView + MKUIScrollView ==================== 165 | @implementation UIView (MKScrollView) 166 | - (UIScrollView *(^)(MK_CGPOINT)) scr_contentOffset { MK_RETURNNIL; } 167 | - (UIScrollView *(^)(MK_CGSize)) scr_contentSize { MK_RETURNNIL; } 168 | - (UIScrollView *(^)(UIEdgeInsets)) scr_contentInsets { MK_RETURNNIL; } 169 | - (UIScrollView *(^)(id)) scr_delegate { MK_RETURNNIL; } 170 | - (UIScrollView *(^)(MK_BOOL)) scr_bounces { MK_RETURNNIL; } 171 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceVertical { MK_RETURNNIL; } 172 | - (UIScrollView *(^)(MK_BOOL)) scr_alwaysBounceHorizontal { MK_RETURNNIL; } 173 | - (UIScrollView *(^)(MK_BOOL)) scr_scrollEnabled { MK_RETURNNIL; } 174 | - (UIScrollView *(^)(MK_BOOL)) scr_showsHorizontal { MK_RETURNNIL; } 175 | - (UIScrollView *(^)(MK_BOOL)) scr_showsVertical { MK_RETURNNIL; } 176 | - (UIScrollView *(^)(UIEdgeInsets)) scr_indicatorInsets { MK_RETURNNIL; } 177 | - (UIScrollView *(^)(MKScrollViewIndicatorStyle)) scr_indicatorStyle { MK_RETURNNIL; } 178 | - (UIScrollView *(^)(MK_FLOAT)) scr_minScale { MK_RETURNNIL; } 179 | - (UIScrollView *(^)(MK_FLOAT)) scr_maxScale { MK_RETURNNIL; } 180 | - (UIScrollView *(^)(MK_FLOAT)) scr_zoomScale { MK_RETURNNIL; } 181 | - (UIScrollView *(^)(MK_BOOL)) scr_bouncesZoom { MK_RETURNNIL; } 182 | - (UIScrollView *(^)(MKScrollViewKeyboardDismissMode)) scr_keyboardDismissMode { MK_RETURNNIL; } 183 | @end 184 | 185 | 186 | #pragma mark ================== UIView + MKUITableView ==================== 187 | @implementation UIView (MKUITableView) 188 | - (UITableView *(^)(id)) tab_delegateAndDataSource { MK_RETURNNIL; } 189 | - (UITableView *(^)(id)) tab_delegate { MK_RETURNNIL; } 190 | - (UITableView *(^)(id)) tab_dataSource { MK_RETURNNIL; } 191 | - (UITableView *(^)(MK_FLOAT)) tab_rowHeight { MK_RETURNNIL; } 192 | - (UITableView *(^)(MK_FLOAT)) tab_sHeaderHeight { MK_RETURNNIL; } 193 | - (UITableView *(^)(MK_FLOAT)) tab_sFooterHeight { MK_RETURNNIL; } 194 | - (UITableView *(^)(MK_FLOAT)) tab_eRowHeight { MK_RETURNNIL; } 195 | - (UITableView *(^)(MK_FLOAT)) tab_esHeaderHeight { MK_RETURNNIL; } 196 | - (UITableView *(^)(MK_FLOAT)) tab_esFooterHeight { MK_RETURNNIL; } 197 | - (UITableView *(^)(UIEdgeInsets)) tab_separatorInset { MK_RETURNNIL; } 198 | - (UITableView *(^)(MK_UIVIEW)) tab_backgroundView { MK_RETURNNIL; } 199 | - (UITableView *(^)(MK_UIVIEW)) tab_tHeaderView { MK_RETURNNIL; } 200 | - (UITableView *(^)(MK_UIVIEW)) tab_tFooterView { MK_RETURNNIL; } 201 | - (UITableView *(^)()) tab_noneSeparatorStyle { MK_RETURNNIL; } 202 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerCell { MK_RETURNNIL; } 203 | - (UITableView *(^)(Class, UINib*, MK_STRING)) tab_registerHeaderFooter { MK_RETURNNIL; } 204 | @end 205 | -------------------------------------------------------------------------------- /Example/Maker.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 11 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 12 | 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 13 | 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; }; 14 | 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; }; 15 | 6003F59E195388D20070C39A /* MakerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* MakerAppDelegate.m */; }; 16 | 6003F5A7195388D20070C39A /* MakerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5A6195388D20070C39A /* MakerViewController.m */; }; 17 | 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; }; 18 | 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; }; 19 | 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 20 | 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 21 | 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; 22 | 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; }; 23 | 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; 24 | 883D2E35AB4D4DF293B0F76D /* Pods_Maker_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E559882F8E496E78D5B8BC7 /* Pods_Maker_Tests.framework */; }; 25 | A27649097864BDEE78C5C684 /* Pods_Maker_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 093C84FAE7F9F526290EE78A /* Pods_Maker_Example.framework */; }; 26 | F5BAFA3D1F5D619C00FA87E1 /* MakerConfirmViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BAFA3C1F5D619C00FA87E1 /* MakerConfirmViewController.m */; }; 27 | /* End PBXBuildFile section */ 28 | 29 | /* Begin PBXContainerItemProxy section */ 30 | 6003F5B3195388D20070C39A /* PBXContainerItemProxy */ = { 31 | isa = PBXContainerItemProxy; 32 | containerPortal = 6003F582195388D10070C39A /* Project object */; 33 | proxyType = 1; 34 | remoteGlobalIDString = 6003F589195388D20070C39A; 35 | remoteInfo = Maker; 36 | }; 37 | /* End PBXContainerItemProxy section */ 38 | 39 | /* Begin PBXFileReference section */ 40 | 093C84FAE7F9F526290EE78A /* Pods_Maker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Maker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | 0F6A742F3E8CDCB01279C203 /* Pods-Maker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maker_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.release.xcconfig"; sourceTree = ""; }; 42 | 4E559882F8E496E78D5B8BC7 /* Pods_Maker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Maker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 43 | 51495918D0775F87EFCAEDB2 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 44 | 6003F58A195388D20070C39A /* Maker_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Maker_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 46 | 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 47 | 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 48 | 6003F595195388D20070C39A /* Maker-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Maker-Info.plist"; sourceTree = ""; }; 49 | 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 50 | 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 51 | 6003F59B195388D20070C39A /* Maker-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Maker-Prefix.pch"; sourceTree = ""; }; 52 | 6003F59C195388D20070C39A /* MakerAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MakerAppDelegate.h; sourceTree = ""; }; 53 | 6003F59D195388D20070C39A /* MakerAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MakerAppDelegate.m; sourceTree = ""; }; 54 | 6003F5A5195388D20070C39A /* MakerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MakerViewController.h; sourceTree = ""; }; 55 | 6003F5A6195388D20070C39A /* MakerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MakerViewController.m; sourceTree = ""; }; 56 | 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 57 | 6003F5AE195388D20070C39A /* Maker_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Maker_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 58 | 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 59 | 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; 60 | 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 61 | 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; }; 62 | 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; 63 | 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 64 | 77F479DD159AF3ECFBDB1538 /* Pods-Maker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maker_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example.debug.xcconfig"; sourceTree = ""; }; 65 | 859A1A89754F54CB69FC33A7 /* Pods-Maker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maker_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example.release.xcconfig"; sourceTree = ""; }; 66 | 931EAC9C87E942B2DFB602CD /* Maker.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Maker.podspec; path = ../Maker.podspec; sourceTree = ""; }; 67 | AA36E082CE3A002D7A99CAAA /* Pods-Maker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maker_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.debug.xcconfig"; sourceTree = ""; }; 68 | AF7BED94A42E570B500E9434 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 69 | F5BAFA3B1F5D619C00FA87E1 /* MakerConfirmViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MakerConfirmViewController.h; sourceTree = ""; }; 70 | F5BAFA3C1F5D619C00FA87E1 /* MakerConfirmViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MakerConfirmViewController.m; sourceTree = ""; }; 71 | /* End PBXFileReference section */ 72 | 73 | /* Begin PBXFrameworksBuildPhase section */ 74 | 6003F587195388D20070C39A /* Frameworks */ = { 75 | isa = PBXFrameworksBuildPhase; 76 | buildActionMask = 2147483647; 77 | files = ( 78 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, 79 | 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, 80 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, 81 | A27649097864BDEE78C5C684 /* Pods_Maker_Example.framework in Frameworks */, 82 | ); 83 | runOnlyForDeploymentPostprocessing = 0; 84 | }; 85 | 6003F5AB195388D20070C39A /* Frameworks */ = { 86 | isa = PBXFrameworksBuildPhase; 87 | buildActionMask = 2147483647; 88 | files = ( 89 | 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, 90 | 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, 91 | 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, 92 | 883D2E35AB4D4DF293B0F76D /* Pods_Maker_Tests.framework in Frameworks */, 93 | ); 94 | runOnlyForDeploymentPostprocessing = 0; 95 | }; 96 | /* End PBXFrameworksBuildPhase section */ 97 | 98 | /* Begin PBXGroup section */ 99 | 31A9236D17050FFDF54F1690 /* Pods */ = { 100 | isa = PBXGroup; 101 | children = ( 102 | 77F479DD159AF3ECFBDB1538 /* Pods-Maker_Example.debug.xcconfig */, 103 | 859A1A89754F54CB69FC33A7 /* Pods-Maker_Example.release.xcconfig */, 104 | AA36E082CE3A002D7A99CAAA /* Pods-Maker_Tests.debug.xcconfig */, 105 | 0F6A742F3E8CDCB01279C203 /* Pods-Maker_Tests.release.xcconfig */, 106 | ); 107 | name = Pods; 108 | sourceTree = ""; 109 | }; 110 | 6003F581195388D10070C39A = { 111 | isa = PBXGroup; 112 | children = ( 113 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */, 114 | 6003F593195388D20070C39A /* Example for Maker */, 115 | 6003F5B5195388D20070C39A /* Tests */, 116 | 6003F58C195388D20070C39A /* Frameworks */, 117 | 6003F58B195388D20070C39A /* Products */, 118 | 31A9236D17050FFDF54F1690 /* Pods */, 119 | ); 120 | sourceTree = ""; 121 | }; 122 | 6003F58B195388D20070C39A /* Products */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | 6003F58A195388D20070C39A /* Maker_Example.app */, 126 | 6003F5AE195388D20070C39A /* Maker_Tests.xctest */, 127 | ); 128 | name = Products; 129 | sourceTree = ""; 130 | }; 131 | 6003F58C195388D20070C39A /* Frameworks */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 6003F58D195388D20070C39A /* Foundation.framework */, 135 | 6003F58F195388D20070C39A /* CoreGraphics.framework */, 136 | 6003F591195388D20070C39A /* UIKit.framework */, 137 | 6003F5AF195388D20070C39A /* XCTest.framework */, 138 | 093C84FAE7F9F526290EE78A /* Pods_Maker_Example.framework */, 139 | 4E559882F8E496E78D5B8BC7 /* Pods_Maker_Tests.framework */, 140 | ); 141 | name = Frameworks; 142 | sourceTree = ""; 143 | }; 144 | 6003F593195388D20070C39A /* Example for Maker */ = { 145 | isa = PBXGroup; 146 | children = ( 147 | 6003F59C195388D20070C39A /* MakerAppDelegate.h */, 148 | 6003F59D195388D20070C39A /* MakerAppDelegate.m */, 149 | 6003F5A5195388D20070C39A /* MakerViewController.h */, 150 | 6003F5A6195388D20070C39A /* MakerViewController.m */, 151 | F5BAFA3B1F5D619C00FA87E1 /* MakerConfirmViewController.h */, 152 | F5BAFA3C1F5D619C00FA87E1 /* MakerConfirmViewController.m */, 153 | 6003F594195388D20070C39A /* Supporting Files */, 154 | ); 155 | name = "Example for Maker"; 156 | path = Maker; 157 | sourceTree = ""; 158 | }; 159 | 6003F594195388D20070C39A /* Supporting Files */ = { 160 | isa = PBXGroup; 161 | children = ( 162 | 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */, 163 | 6003F5A8195388D20070C39A /* Images.xcassets */, 164 | 6003F595195388D20070C39A /* Maker-Info.plist */, 165 | 6003F596195388D20070C39A /* InfoPlist.strings */, 166 | 6003F599195388D20070C39A /* main.m */, 167 | 6003F59B195388D20070C39A /* Maker-Prefix.pch */, 168 | ); 169 | name = "Supporting Files"; 170 | sourceTree = ""; 171 | }; 172 | 6003F5B5195388D20070C39A /* Tests */ = { 173 | isa = PBXGroup; 174 | children = ( 175 | 6003F5BB195388D20070C39A /* Tests.m */, 176 | 6003F5B6195388D20070C39A /* Supporting Files */, 177 | ); 178 | path = Tests; 179 | sourceTree = ""; 180 | }; 181 | 6003F5B6195388D20070C39A /* Supporting Files */ = { 182 | isa = PBXGroup; 183 | children = ( 184 | 6003F5B7195388D20070C39A /* Tests-Info.plist */, 185 | 6003F5B8195388D20070C39A /* InfoPlist.strings */, 186 | 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */, 187 | ); 188 | name = "Supporting Files"; 189 | sourceTree = ""; 190 | }; 191 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = { 192 | isa = PBXGroup; 193 | children = ( 194 | 931EAC9C87E942B2DFB602CD /* Maker.podspec */, 195 | 51495918D0775F87EFCAEDB2 /* README.md */, 196 | AF7BED94A42E570B500E9434 /* LICENSE */, 197 | ); 198 | name = "Podspec Metadata"; 199 | sourceTree = ""; 200 | }; 201 | /* End PBXGroup section */ 202 | 203 | /* Begin PBXNativeTarget section */ 204 | 6003F589195388D20070C39A /* Maker_Example */ = { 205 | isa = PBXNativeTarget; 206 | buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Maker_Example" */; 207 | buildPhases = ( 208 | 599DC858E900DFE287800BE5 /* [CP] Check Pods Manifest.lock */, 209 | 6003F586195388D20070C39A /* Sources */, 210 | 6003F587195388D20070C39A /* Frameworks */, 211 | 6003F588195388D20070C39A /* Resources */, 212 | 3F8FD9B1DD75E499A615F5AE /* [CP] Embed Pods Frameworks */, 213 | 568C2794D3391FF6E20FEAF3 /* [CP] Copy Pods Resources */, 214 | ); 215 | buildRules = ( 216 | ); 217 | dependencies = ( 218 | ); 219 | name = Maker_Example; 220 | productName = Maker; 221 | productReference = 6003F58A195388D20070C39A /* Maker_Example.app */; 222 | productType = "com.apple.product-type.application"; 223 | }; 224 | 6003F5AD195388D20070C39A /* Maker_Tests */ = { 225 | isa = PBXNativeTarget; 226 | buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "Maker_Tests" */; 227 | buildPhases = ( 228 | 4C85FFB5AE25163E1F5E8C6C /* [CP] Check Pods Manifest.lock */, 229 | 6003F5AA195388D20070C39A /* Sources */, 230 | 6003F5AB195388D20070C39A /* Frameworks */, 231 | 6003F5AC195388D20070C39A /* Resources */, 232 | 631C6C71F3F257F839BDDA65 /* [CP] Embed Pods Frameworks */, 233 | 3E04C5636490D63E9CF905DA /* [CP] Copy Pods Resources */, 234 | ); 235 | buildRules = ( 236 | ); 237 | dependencies = ( 238 | 6003F5B4195388D20070C39A /* PBXTargetDependency */, 239 | ); 240 | name = Maker_Tests; 241 | productName = MakerTests; 242 | productReference = 6003F5AE195388D20070C39A /* Maker_Tests.xctest */; 243 | productType = "com.apple.product-type.bundle.unit-test"; 244 | }; 245 | /* End PBXNativeTarget section */ 246 | 247 | /* Begin PBXProject section */ 248 | 6003F582195388D10070C39A /* Project object */ = { 249 | isa = PBXProject; 250 | attributes = { 251 | CLASSPREFIX = Maker; 252 | LastUpgradeCheck = 0720; 253 | ORGANIZATIONNAME = forkingghost; 254 | TargetAttributes = { 255 | 6003F5AD195388D20070C39A = { 256 | TestTargetID = 6003F589195388D20070C39A; 257 | }; 258 | }; 259 | }; 260 | buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "Maker" */; 261 | compatibilityVersion = "Xcode 3.2"; 262 | developmentRegion = English; 263 | hasScannedForEncodings = 0; 264 | knownRegions = ( 265 | en, 266 | Base, 267 | ); 268 | mainGroup = 6003F581195388D10070C39A; 269 | productRefGroup = 6003F58B195388D20070C39A /* Products */; 270 | projectDirPath = ""; 271 | projectRoot = ""; 272 | targets = ( 273 | 6003F589195388D20070C39A /* Maker_Example */, 274 | 6003F5AD195388D20070C39A /* Maker_Tests */, 275 | ); 276 | }; 277 | /* End PBXProject section */ 278 | 279 | /* Begin PBXResourcesBuildPhase section */ 280 | 6003F588195388D20070C39A /* Resources */ = { 281 | isa = PBXResourcesBuildPhase; 282 | buildActionMask = 2147483647; 283 | files = ( 284 | 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */, 285 | 6003F5A9195388D20070C39A /* Images.xcassets in Resources */, 286 | 6003F598195388D20070C39A /* InfoPlist.strings in Resources */, 287 | ); 288 | runOnlyForDeploymentPostprocessing = 0; 289 | }; 290 | 6003F5AC195388D20070C39A /* Resources */ = { 291 | isa = PBXResourcesBuildPhase; 292 | buildActionMask = 2147483647; 293 | files = ( 294 | 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */, 295 | ); 296 | runOnlyForDeploymentPostprocessing = 0; 297 | }; 298 | /* End PBXResourcesBuildPhase section */ 299 | 300 | /* Begin PBXShellScriptBuildPhase section */ 301 | 3E04C5636490D63E9CF905DA /* [CP] Copy Pods Resources */ = { 302 | isa = PBXShellScriptBuildPhase; 303 | buildActionMask = 2147483647; 304 | files = ( 305 | ); 306 | inputPaths = ( 307 | ); 308 | name = "[CP] Copy Pods Resources"; 309 | outputPaths = ( 310 | ); 311 | runOnlyForDeploymentPostprocessing = 0; 312 | shellPath = /bin/sh; 313 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-resources.sh\"\n"; 314 | showEnvVarsInLog = 0; 315 | }; 316 | 3F8FD9B1DD75E499A615F5AE /* [CP] Embed Pods Frameworks */ = { 317 | isa = PBXShellScriptBuildPhase; 318 | buildActionMask = 2147483647; 319 | files = ( 320 | ); 321 | inputPaths = ( 322 | ); 323 | name = "[CP] Embed Pods Frameworks"; 324 | outputPaths = ( 325 | ); 326 | runOnlyForDeploymentPostprocessing = 0; 327 | shellPath = /bin/sh; 328 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-frameworks.sh\"\n"; 329 | showEnvVarsInLog = 0; 330 | }; 331 | 4C85FFB5AE25163E1F5E8C6C /* [CP] Check Pods Manifest.lock */ = { 332 | isa = PBXShellScriptBuildPhase; 333 | buildActionMask = 2147483647; 334 | files = ( 335 | ); 336 | inputPaths = ( 337 | ); 338 | name = "[CP] Check Pods Manifest.lock"; 339 | outputPaths = ( 340 | ); 341 | runOnlyForDeploymentPostprocessing = 0; 342 | shellPath = /bin/sh; 343 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; 344 | showEnvVarsInLog = 0; 345 | }; 346 | 568C2794D3391FF6E20FEAF3 /* [CP] Copy Pods Resources */ = { 347 | isa = PBXShellScriptBuildPhase; 348 | buildActionMask = 2147483647; 349 | files = ( 350 | ); 351 | inputPaths = ( 352 | ); 353 | name = "[CP] Copy Pods Resources"; 354 | outputPaths = ( 355 | ); 356 | runOnlyForDeploymentPostprocessing = 0; 357 | shellPath = /bin/sh; 358 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Maker_Example/Pods-Maker_Example-resources.sh\"\n"; 359 | showEnvVarsInLog = 0; 360 | }; 361 | 599DC858E900DFE287800BE5 /* [CP] Check Pods Manifest.lock */ = { 362 | isa = PBXShellScriptBuildPhase; 363 | buildActionMask = 2147483647; 364 | files = ( 365 | ); 366 | inputPaths = ( 367 | ); 368 | name = "[CP] Check Pods Manifest.lock"; 369 | outputPaths = ( 370 | ); 371 | runOnlyForDeploymentPostprocessing = 0; 372 | shellPath = /bin/sh; 373 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; 374 | showEnvVarsInLog = 0; 375 | }; 376 | 631C6C71F3F257F839BDDA65 /* [CP] Embed Pods Frameworks */ = { 377 | isa = PBXShellScriptBuildPhase; 378 | buildActionMask = 2147483647; 379 | files = ( 380 | ); 381 | inputPaths = ( 382 | ); 383 | name = "[CP] Embed Pods Frameworks"; 384 | outputPaths = ( 385 | ); 386 | runOnlyForDeploymentPostprocessing = 0; 387 | shellPath = /bin/sh; 388 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests-frameworks.sh\"\n"; 389 | showEnvVarsInLog = 0; 390 | }; 391 | /* End PBXShellScriptBuildPhase section */ 392 | 393 | /* Begin PBXSourcesBuildPhase section */ 394 | 6003F586195388D20070C39A /* Sources */ = { 395 | isa = PBXSourcesBuildPhase; 396 | buildActionMask = 2147483647; 397 | files = ( 398 | F5BAFA3D1F5D619C00FA87E1 /* MakerConfirmViewController.m in Sources */, 399 | 6003F59E195388D20070C39A /* MakerAppDelegate.m in Sources */, 400 | 6003F5A7195388D20070C39A /* MakerViewController.m in Sources */, 401 | 6003F59A195388D20070C39A /* main.m in Sources */, 402 | ); 403 | runOnlyForDeploymentPostprocessing = 0; 404 | }; 405 | 6003F5AA195388D20070C39A /* Sources */ = { 406 | isa = PBXSourcesBuildPhase; 407 | buildActionMask = 2147483647; 408 | files = ( 409 | 6003F5BC195388D20070C39A /* Tests.m in Sources */, 410 | ); 411 | runOnlyForDeploymentPostprocessing = 0; 412 | }; 413 | /* End PBXSourcesBuildPhase section */ 414 | 415 | /* Begin PBXTargetDependency section */ 416 | 6003F5B4195388D20070C39A /* PBXTargetDependency */ = { 417 | isa = PBXTargetDependency; 418 | target = 6003F589195388D20070C39A /* Maker_Example */; 419 | targetProxy = 6003F5B3195388D20070C39A /* PBXContainerItemProxy */; 420 | }; 421 | /* End PBXTargetDependency section */ 422 | 423 | /* Begin PBXVariantGroup section */ 424 | 6003F596195388D20070C39A /* InfoPlist.strings */ = { 425 | isa = PBXVariantGroup; 426 | children = ( 427 | 6003F597195388D20070C39A /* en */, 428 | ); 429 | name = InfoPlist.strings; 430 | sourceTree = ""; 431 | }; 432 | 6003F5B8195388D20070C39A /* InfoPlist.strings */ = { 433 | isa = PBXVariantGroup; 434 | children = ( 435 | 6003F5B9195388D20070C39A /* en */, 436 | ); 437 | name = InfoPlist.strings; 438 | sourceTree = ""; 439 | }; 440 | 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */ = { 441 | isa = PBXVariantGroup; 442 | children = ( 443 | 71719F9E1E33DC2100824A3D /* Base */, 444 | ); 445 | name = LaunchScreen.storyboard; 446 | sourceTree = ""; 447 | }; 448 | /* End PBXVariantGroup section */ 449 | 450 | /* Begin XCBuildConfiguration section */ 451 | 6003F5BD195388D20070C39A /* Debug */ = { 452 | isa = XCBuildConfiguration; 453 | buildSettings = { 454 | ALWAYS_SEARCH_USER_PATHS = NO; 455 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 456 | CLANG_CXX_LIBRARY = "libc++"; 457 | CLANG_ENABLE_MODULES = YES; 458 | CLANG_ENABLE_OBJC_ARC = YES; 459 | CLANG_WARN_BOOL_CONVERSION = YES; 460 | CLANG_WARN_CONSTANT_CONVERSION = YES; 461 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 462 | CLANG_WARN_EMPTY_BODY = YES; 463 | CLANG_WARN_ENUM_CONVERSION = YES; 464 | CLANG_WARN_INT_CONVERSION = YES; 465 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 466 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 467 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 468 | COPY_PHASE_STRIP = NO; 469 | ENABLE_TESTABILITY = YES; 470 | GCC_C_LANGUAGE_STANDARD = gnu99; 471 | GCC_DYNAMIC_NO_PIC = NO; 472 | GCC_OPTIMIZATION_LEVEL = 0; 473 | GCC_PREPROCESSOR_DEFINITIONS = ( 474 | "DEBUG=1", 475 | "$(inherited)", 476 | ); 477 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 478 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 479 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 480 | GCC_WARN_UNDECLARED_SELECTOR = YES; 481 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 482 | GCC_WARN_UNUSED_FUNCTION = YES; 483 | GCC_WARN_UNUSED_VARIABLE = YES; 484 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 485 | ONLY_ACTIVE_ARCH = YES; 486 | SDKROOT = iphoneos; 487 | TARGETED_DEVICE_FAMILY = "1,2"; 488 | }; 489 | name = Debug; 490 | }; 491 | 6003F5BE195388D20070C39A /* Release */ = { 492 | isa = XCBuildConfiguration; 493 | buildSettings = { 494 | ALWAYS_SEARCH_USER_PATHS = NO; 495 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 496 | CLANG_CXX_LIBRARY = "libc++"; 497 | CLANG_ENABLE_MODULES = YES; 498 | CLANG_ENABLE_OBJC_ARC = YES; 499 | CLANG_WARN_BOOL_CONVERSION = YES; 500 | CLANG_WARN_CONSTANT_CONVERSION = YES; 501 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 502 | CLANG_WARN_EMPTY_BODY = YES; 503 | CLANG_WARN_ENUM_CONVERSION = YES; 504 | CLANG_WARN_INT_CONVERSION = YES; 505 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 506 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 507 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 508 | COPY_PHASE_STRIP = YES; 509 | ENABLE_NS_ASSERTIONS = NO; 510 | GCC_C_LANGUAGE_STANDARD = gnu99; 511 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 512 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 513 | GCC_WARN_UNDECLARED_SELECTOR = YES; 514 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 515 | GCC_WARN_UNUSED_FUNCTION = YES; 516 | GCC_WARN_UNUSED_VARIABLE = YES; 517 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 518 | SDKROOT = iphoneos; 519 | TARGETED_DEVICE_FAMILY = "1,2"; 520 | VALIDATE_PRODUCT = YES; 521 | }; 522 | name = Release; 523 | }; 524 | 6003F5C0195388D20070C39A /* Debug */ = { 525 | isa = XCBuildConfiguration; 526 | baseConfigurationReference = 77F479DD159AF3ECFBDB1538 /* Pods-Maker_Example.debug.xcconfig */; 527 | buildSettings = { 528 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 529 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 530 | GCC_PREFIX_HEADER = "Maker/Maker-Prefix.pch"; 531 | INFOPLIST_FILE = "Maker/Maker-Info.plist"; 532 | MODULE_NAME = ExampleApp; 533 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 534 | PRODUCT_NAME = "$(TARGET_NAME)"; 535 | USER_HEADER_SEARCH_PATHS = "${SRCROOT}"; 536 | WRAPPER_EXTENSION = app; 537 | }; 538 | name = Debug; 539 | }; 540 | 6003F5C1195388D20070C39A /* Release */ = { 541 | isa = XCBuildConfiguration; 542 | baseConfigurationReference = 859A1A89754F54CB69FC33A7 /* Pods-Maker_Example.release.xcconfig */; 543 | buildSettings = { 544 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 545 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 546 | GCC_PREFIX_HEADER = "Maker/Maker-Prefix.pch"; 547 | INFOPLIST_FILE = "Maker/Maker-Info.plist"; 548 | MODULE_NAME = ExampleApp; 549 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 550 | PRODUCT_NAME = "$(TARGET_NAME)"; 551 | USER_HEADER_SEARCH_PATHS = "${SRCROOT}"; 552 | WRAPPER_EXTENSION = app; 553 | }; 554 | name = Release; 555 | }; 556 | 6003F5C3195388D20070C39A /* Debug */ = { 557 | isa = XCBuildConfiguration; 558 | baseConfigurationReference = AA36E082CE3A002D7A99CAAA /* Pods-Maker_Tests.debug.xcconfig */; 559 | buildSettings = { 560 | BUNDLE_LOADER = "$(TEST_HOST)"; 561 | FRAMEWORK_SEARCH_PATHS = ( 562 | "$(SDKROOT)/Developer/Library/Frameworks", 563 | "$(inherited)", 564 | "$(DEVELOPER_FRAMEWORKS_DIR)", 565 | ); 566 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 567 | GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; 568 | GCC_PREPROCESSOR_DEFINITIONS = ( 569 | "DEBUG=1", 570 | "$(inherited)", 571 | ); 572 | INFOPLIST_FILE = "Tests/Tests-Info.plist"; 573 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 574 | PRODUCT_NAME = "$(TARGET_NAME)"; 575 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Maker_Example.app/Maker_Example"; 576 | WRAPPER_EXTENSION = xctest; 577 | }; 578 | name = Debug; 579 | }; 580 | 6003F5C4195388D20070C39A /* Release */ = { 581 | isa = XCBuildConfiguration; 582 | baseConfigurationReference = 0F6A742F3E8CDCB01279C203 /* Pods-Maker_Tests.release.xcconfig */; 583 | buildSettings = { 584 | BUNDLE_LOADER = "$(TEST_HOST)"; 585 | FRAMEWORK_SEARCH_PATHS = ( 586 | "$(SDKROOT)/Developer/Library/Frameworks", 587 | "$(inherited)", 588 | "$(DEVELOPER_FRAMEWORKS_DIR)", 589 | ); 590 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 591 | GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; 592 | INFOPLIST_FILE = "Tests/Tests-Info.plist"; 593 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 594 | PRODUCT_NAME = "$(TARGET_NAME)"; 595 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Maker_Example.app/Maker_Example"; 596 | WRAPPER_EXTENSION = xctest; 597 | }; 598 | name = Release; 599 | }; 600 | /* End XCBuildConfiguration section */ 601 | 602 | /* Begin XCConfigurationList section */ 603 | 6003F585195388D10070C39A /* Build configuration list for PBXProject "Maker" */ = { 604 | isa = XCConfigurationList; 605 | buildConfigurations = ( 606 | 6003F5BD195388D20070C39A /* Debug */, 607 | 6003F5BE195388D20070C39A /* Release */, 608 | ); 609 | defaultConfigurationIsVisible = 0; 610 | defaultConfigurationName = Release; 611 | }; 612 | 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Maker_Example" */ = { 613 | isa = XCConfigurationList; 614 | buildConfigurations = ( 615 | 6003F5C0195388D20070C39A /* Debug */, 616 | 6003F5C1195388D20070C39A /* Release */, 617 | ); 618 | defaultConfigurationIsVisible = 0; 619 | defaultConfigurationName = Release; 620 | }; 621 | 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "Maker_Tests" */ = { 622 | isa = XCConfigurationList; 623 | buildConfigurations = ( 624 | 6003F5C3195388D20070C39A /* Debug */, 625 | 6003F5C4195388D20070C39A /* Release */, 626 | ); 627 | defaultConfigurationIsVisible = 0; 628 | defaultConfigurationName = Release; 629 | }; 630 | /* End XCConfigurationList section */ 631 | }; 632 | rootObject = 6003F582195388D10070C39A /* Project object */; 633 | } 634 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 038A0FE882248011D3E3850D30E90E97 /* UIView+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5E356672615320EB3237921B7A0089 /* UIView+Maker.m */; }; 11 | 0AA168C60963BB5676114E623E953DC2 /* UIView+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D6C6CAFF46D7484785A4099691398C /* UIView+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 12 | 0ECC5C90888254D890093210512BF00E /* Pods-Maker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE35DED089E9B53FC704DC05D8C0F75 /* Pods-Maker_Tests-dummy.m */; }; 13 | 0F0D2824B63077EC3F4682961F1D5B51 /* UILabel+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = D65DEDBE6BAB2C09EAA711E3DC5BC802 /* UILabel+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 14 | 1DEDEF615A5296CE5D48095A3364D681 /* Maker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F5C5295B687E19C98EA30DD7000491B /* Maker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 15 | 2599386F120ED7F43935BD919E983C76 /* UIImageView+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 582080ADD93FE14FB0B845328A359C27 /* UIImageView+Maker.m */; }; 16 | 2C768C00A15CB8EA55B330FA48E715EC /* UIImageView+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = BFFD68E785E509076AE2ACC6D5B8DCC8 /* UIImageView+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 17 | 2C79FBC74D97BB01BD0A56CC4E6F2FD6 /* UILabel+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 4350721D4A6C7FCE8E9C4EA6044FBA43 /* UILabel+Maker.m */; }; 18 | 33EC58B7544B8F4009821B30A7E2BB7C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; 19 | 47C66C2B9EB8F14E8753EBB8B5E4F5CB /* Pods-Maker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D66E90903C0095DC4D4B9E5BAAC9AFD5 /* Pods-Maker_Example-dummy.m */; }; 20 | 4C187D0A8724F79D0AF3D788DF525A2D /* NSNumber+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 501A72D316428B6F1DA765B9A2D743BB /* NSNumber+Maker.m */; }; 21 | 59ECF098A3CB73337264AFA3B10295E6 /* UITextField+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 66D500C95876954CD86F688323780467 /* UITextField+Maker.m */; }; 22 | 5ED8BA1D40AF64C6D4A7AD9514BBB98B /* Maker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B33C152D974B30998F5A96C877D84C8E /* Maker-dummy.m */; }; 23 | 6189C17340CE8C73855044DF0E161BDD /* NSNumber+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = DB124648F8131D972017F6FD5B7B46DB /* NSNumber+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 24 | 6395526F364B8E87511FBF6E2C53CD0D /* UIButton+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DAAFBD3BF14A3948A8A058C4705CDA /* UIButton+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25 | 6DDAFCAC2DEB42045D22A442481FA537 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; 26 | 705B7199544F6DD2ABC142E9F486E928 /* UIButton+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B310C4F9CEF0FE8699F2D4FDFBB7EA /* UIButton+Maker.m */; }; 27 | 804368A3053BC1A8A9DFD3F666008C1A /* UIScrollView+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = DA47686DEC87FA6128152AD03795E7E5 /* UIScrollView+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 28 | 8F0CCA20460CA7C8BFD170D1994F7524 /* Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = 1795F7794779936C3A83A55BD7520492 /* Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29 | 99E93ED2E1F32778D92A42ABFD7CDBFC /* UITextField+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = 4917EB1016057CF5AE09770B2DF0ECC1 /* UITextField+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 30 | BC4E9B35BBD4A610A1E6F8060B28F64B /* UITableView+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FDDBD0F7297EE2D55B074A297672CD1 /* UITableView+Maker.m */; }; 31 | D10E8BE90FC039DD8987403FADC4AA3C /* MakerUntil.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B8437878268F29F8EDC45D0489DC1FE /* MakerUntil.m */; }; 32 | D9EA10FFCC0360643305279E8EBF7077 /* Pods-Maker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A640E416B573227D12803652ADD68D7 /* Pods-Maker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 33 | DC3F3D2B97E378DF8B09DE1147F326FB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; 34 | DDAA886AA17BBF99271945FD43C68025 /* UIScrollView+Maker.m in Sources */ = {isa = PBXBuildFile; fileRef = C3E74192C994455A05401D2750E5AF8B /* UIScrollView+Maker.m */; }; 35 | E45A111A31358E5DFDEB05BE01F65079 /* MakerUntil.h in Headers */ = {isa = PBXBuildFile; fileRef = F357C7AE1E74B6957C2987C33FE91638 /* MakerUntil.h */; settings = {ATTRIBUTES = (Public, ); }; }; 36 | E8D086D327D6D775BA34B368E4DBA41A /* UITableView+Maker.h in Headers */ = {isa = PBXBuildFile; fileRef = 176D54943501C4A54E74C465CE7CF051 /* UITableView+Maker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 37 | E8E945A5A4DB9539371A21230574F457 /* Pods-Maker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 788863C55B78076755E646535AE654DE /* Pods-Maker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 38 | /* End PBXBuildFile section */ 39 | 40 | /* Begin PBXContainerItemProxy section */ 41 | B677107FB2F8B4B1111E2805B89FB41C /* PBXContainerItemProxy */ = { 42 | isa = PBXContainerItemProxy; 43 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 44 | proxyType = 1; 45 | remoteGlobalIDString = 7FF479022BE2EEA6F3F9D2E769453DEF; 46 | remoteInfo = Maker; 47 | }; 48 | /* End PBXContainerItemProxy section */ 49 | 50 | /* Begin PBXFileReference section */ 51 | 02745E3E8D22DB4731A6394B85778A8C /* Pods_Maker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Maker_Tests.framework; path = "Pods-Maker_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 52 | 0B8437878268F29F8EDC45D0489DC1FE /* MakerUntil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MakerUntil.m; sourceTree = ""; }; 53 | 176D54943501C4A54E74C465CE7CF051 /* UITableView+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITableView+Maker.h"; sourceTree = ""; }; 54 | 1795F7794779936C3A83A55BD7520492 /* Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Maker.h; sourceTree = ""; }; 55 | 2E2876E83313F7F06198477135A0BC2E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 56 | 2FCB742BF7A51B8527FE7ADC414BF627 /* Pods-Maker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Maker_Example-resources.sh"; sourceTree = ""; }; 57 | 38BA0C5B28ACB61608A97D95A6EB6A58 /* Pods-Maker_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Maker_Example-frameworks.sh"; sourceTree = ""; }; 58 | 3F5C5295B687E19C98EA30DD7000491B /* Maker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Maker-umbrella.h"; sourceTree = ""; }; 59 | 4350721D4A6C7FCE8E9C4EA6044FBA43 /* UILabel+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Maker.m"; sourceTree = ""; }; 60 | 4917EB1016057CF5AE09770B2DF0ECC1 /* UITextField+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITextField+Maker.h"; sourceTree = ""; }; 61 | 4A7B6EAD7C07AA7A89C780E823F8A07D /* Pods-Maker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Maker_Example-acknowledgements.plist"; sourceTree = ""; }; 62 | 4CA032098601D17034F915734C41965F /* Pods-Maker_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Maker_Tests-frameworks.sh"; sourceTree = ""; }; 63 | 4FDDBD0F7297EE2D55B074A297672CD1 /* UITableView+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITableView+Maker.m"; sourceTree = ""; }; 64 | 501A72D316428B6F1DA765B9A2D743BB /* NSNumber+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+Maker.m"; sourceTree = ""; }; 65 | 582080ADD93FE14FB0B845328A359C27 /* UIImageView+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+Maker.m"; sourceTree = ""; }; 66 | 66D500C95876954CD86F688323780467 /* UITextField+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITextField+Maker.m"; sourceTree = ""; }; 67 | 6A640E416B573227D12803652ADD68D7 /* Pods-Maker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Maker_Tests-umbrella.h"; sourceTree = ""; }; 68 | 6ADCCB9A5478F680EC35DC6F30E06973 /* Pods-Maker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Maker_Example.release.xcconfig"; sourceTree = ""; }; 69 | 74CF95933877CAAB0BF3E24E23AECBE2 /* Pods-Maker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Maker_Tests.release.xcconfig"; sourceTree = ""; }; 70 | 75D223B5F552D16F4F4D60AB05EB1958 /* Maker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Maker.framework; path = Maker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 71 | 788863C55B78076755E646535AE654DE /* Pods-Maker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Maker_Example-umbrella.h"; sourceTree = ""; }; 72 | 795A44F5070FF306D887C135D5AA19E2 /* Pods-Maker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Maker_Tests-acknowledgements.markdown"; sourceTree = ""; }; 73 | 7CBF88C7781EA3B5A813CAB5CD9C8FCC /* Pods-Maker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Maker_Example-acknowledgements.markdown"; sourceTree = ""; }; 74 | 805BDD1EB6B7E18E4E89FBEBF349B2C0 /* Pods-Maker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Maker_Tests.modulemap"; sourceTree = ""; }; 75 | 81C9DA1D0E54DA77B88FF4C8A4C5EBA6 /* Maker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Maker-prefix.pch"; sourceTree = ""; }; 76 | 88550661941EB02DE86B1FE9CD1ED135 /* Pods-Maker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Maker_Tests-acknowledgements.plist"; sourceTree = ""; }; 77 | 91B310C4F9CEF0FE8699F2D4FDFBB7EA /* UIButton+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+Maker.m"; sourceTree = ""; }; 78 | 92D6C6CAFF46D7484785A4099691398C /* UIView+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Maker.h"; sourceTree = ""; }; 79 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 80 | 9723CC7A8BCA1496FA6E1BEB6F6D83C8 /* Maker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Maker.xcconfig; sourceTree = ""; }; 81 | 98B016656E1CFAF1278E0697F95DD26F /* Pods-Maker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Maker_Tests.debug.xcconfig"; sourceTree = ""; }; 82 | AE6F617CDEF82B2A64C84CA3DDCD1E67 /* Pods-Maker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Maker_Example.debug.xcconfig"; sourceTree = ""; }; 83 | AEE35DED089E9B53FC704DC05D8C0F75 /* Pods-Maker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Maker_Tests-dummy.m"; sourceTree = ""; }; 84 | B33C152D974B30998F5A96C877D84C8E /* Maker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Maker-dummy.m"; sourceTree = ""; }; 85 | BB5E356672615320EB3237921B7A0089 /* UIView+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Maker.m"; sourceTree = ""; }; 86 | BFFD68E785E509076AE2ACC6D5B8DCC8 /* UIImageView+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImageView+Maker.h"; sourceTree = ""; }; 87 | C3E74192C994455A05401D2750E5AF8B /* UIScrollView+Maker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+Maker.m"; sourceTree = ""; }; 88 | CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 89 | D65DEDBE6BAB2C09EAA711E3DC5BC802 /* UILabel+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UILabel+Maker.h"; sourceTree = ""; }; 90 | D66E90903C0095DC4D4B9E5BAAC9AFD5 /* Pods-Maker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Maker_Example-dummy.m"; sourceTree = ""; }; 91 | DA47686DEC87FA6128152AD03795E7E5 /* UIScrollView+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+Maker.h"; sourceTree = ""; }; 92 | DAE7BEF67E3326267F7D3A37453220FB /* Maker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Maker.modulemap; sourceTree = ""; }; 93 | DB124648F8131D972017F6FD5B7B46DB /* NSNumber+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNumber+Maker.h"; sourceTree = ""; }; 94 | DB5D36AB3509FE2806416616486A48F9 /* Pods_Maker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Maker_Example.framework; path = "Pods-Maker_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 95 | EC1FD708700C43948B552D5167D1C8BB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 96 | EF9E300A505BC02FACB1C91055CD1EF3 /* Pods-Maker_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Maker_Example.modulemap"; sourceTree = ""; }; 97 | F357C7AE1E74B6957C2987C33FE91638 /* MakerUntil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MakerUntil.h; sourceTree = ""; }; 98 | F7DAAFBD3BF14A3948A8A058C4705CDA /* UIButton+Maker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+Maker.h"; sourceTree = ""; }; 99 | F9B72E9DC5CB7A37578A319317DDDBA5 /* Pods-Maker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Maker_Tests-resources.sh"; sourceTree = ""; }; 100 | FF63ECBD5AF996F30B49EF1011F93BC3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 101 | /* End PBXFileReference section */ 102 | 103 | /* Begin PBXFrameworksBuildPhase section */ 104 | 30D04AC100B76BC3E7509A1975987013 /* Frameworks */ = { 105 | isa = PBXFrameworksBuildPhase; 106 | buildActionMask = 2147483647; 107 | files = ( 108 | 6DDAFCAC2DEB42045D22A442481FA537 /* Foundation.framework in Frameworks */, 109 | ); 110 | runOnlyForDeploymentPostprocessing = 0; 111 | }; 112 | 4A71CF11DD57B23FF8117A35EFFC07EB /* Frameworks */ = { 113 | isa = PBXFrameworksBuildPhase; 114 | buildActionMask = 2147483647; 115 | files = ( 116 | DC3F3D2B97E378DF8B09DE1147F326FB /* Foundation.framework in Frameworks */, 117 | ); 118 | runOnlyForDeploymentPostprocessing = 0; 119 | }; 120 | BD658EF16C7012EE27991E52F23EDD16 /* Frameworks */ = { 121 | isa = PBXFrameworksBuildPhase; 122 | buildActionMask = 2147483647; 123 | files = ( 124 | 33EC58B7544B8F4009821B30A7E2BB7C /* Foundation.framework in Frameworks */, 125 | ); 126 | runOnlyForDeploymentPostprocessing = 0; 127 | }; 128 | /* End PBXFrameworksBuildPhase section */ 129 | 130 | /* Begin PBXGroup section */ 131 | 1A56174F20523CCBF294166FD763FAE3 /* Pods-Maker_Example */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | FF63ECBD5AF996F30B49EF1011F93BC3 /* Info.plist */, 135 | EF9E300A505BC02FACB1C91055CD1EF3 /* Pods-Maker_Example.modulemap */, 136 | 7CBF88C7781EA3B5A813CAB5CD9C8FCC /* Pods-Maker_Example-acknowledgements.markdown */, 137 | 4A7B6EAD7C07AA7A89C780E823F8A07D /* Pods-Maker_Example-acknowledgements.plist */, 138 | D66E90903C0095DC4D4B9E5BAAC9AFD5 /* Pods-Maker_Example-dummy.m */, 139 | 38BA0C5B28ACB61608A97D95A6EB6A58 /* Pods-Maker_Example-frameworks.sh */, 140 | 2FCB742BF7A51B8527FE7ADC414BF627 /* Pods-Maker_Example-resources.sh */, 141 | 788863C55B78076755E646535AE654DE /* Pods-Maker_Example-umbrella.h */, 142 | AE6F617CDEF82B2A64C84CA3DDCD1E67 /* Pods-Maker_Example.debug.xcconfig */, 143 | 6ADCCB9A5478F680EC35DC6F30E06973 /* Pods-Maker_Example.release.xcconfig */, 144 | ); 145 | name = "Pods-Maker_Example"; 146 | path = "Target Support Files/Pods-Maker_Example"; 147 | sourceTree = ""; 148 | }; 149 | 2008A58CA0E2450115B7760332D352A8 /* Maker */ = { 150 | isa = PBXGroup; 151 | children = ( 152 | 65F601A37B13F62A70EDEB978C22443E /* Maker */, 153 | B89292B707A85FF4AE7146F6CD150098 /* Support Files */, 154 | ); 155 | name = Maker; 156 | path = ../..; 157 | sourceTree = ""; 158 | }; 159 | 23BB033914D3AE8C9C678208EBA0F2FB /* Targets Support Files */ = { 160 | isa = PBXGroup; 161 | children = ( 162 | 1A56174F20523CCBF294166FD763FAE3 /* Pods-Maker_Example */, 163 | A9F552E8C9D1EA7D9565E3B598175122 /* Pods-Maker_Tests */, 164 | ); 165 | name = "Targets Support Files"; 166 | sourceTree = ""; 167 | }; 168 | 2C1CA05B353F2450785A368CFF4E9A1D /* Base */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | 92D6C6CAFF46D7484785A4099691398C /* UIView+Maker.h */, 172 | BB5E356672615320EB3237921B7A0089 /* UIView+Maker.m */, 173 | ); 174 | name = Base; 175 | path = Base; 176 | sourceTree = ""; 177 | }; 178 | 3783553D9A35B0AFDFB9883F59F3FAF5 /* Development Pods */ = { 179 | isa = PBXGroup; 180 | children = ( 181 | 2008A58CA0E2450115B7760332D352A8 /* Maker */, 182 | ); 183 | name = "Development Pods"; 184 | sourceTree = ""; 185 | }; 186 | 386CFD555FD14C95114A1D96DA2F277A /* Classes */ = { 187 | isa = PBXGroup; 188 | children = ( 189 | 1795F7794779936C3A83A55BD7520492 /* Maker.h */, 190 | 2C1CA05B353F2450785A368CFF4E9A1D /* Base */, 191 | E61813A3CDC6062413C24AE0475CCFEA /* Comments */, 192 | 7ADE21668455D68FD96352C3954495F0 /* Lib */, 193 | ); 194 | name = Classes; 195 | path = Classes; 196 | sourceTree = ""; 197 | }; 198 | 65F601A37B13F62A70EDEB978C22443E /* Maker */ = { 199 | isa = PBXGroup; 200 | children = ( 201 | 386CFD555FD14C95114A1D96DA2F277A /* Classes */, 202 | ); 203 | name = Maker; 204 | path = Maker; 205 | sourceTree = ""; 206 | }; 207 | 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */ = { 208 | isa = PBXGroup; 209 | children = ( 210 | CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */, 211 | ); 212 | name = iOS; 213 | sourceTree = ""; 214 | }; 215 | 7ADE21668455D68FD96352C3954495F0 /* Lib */ = { 216 | isa = PBXGroup; 217 | children = ( 218 | F357C7AE1E74B6957C2987C33FE91638 /* MakerUntil.h */, 219 | 0B8437878268F29F8EDC45D0489DC1FE /* MakerUntil.m */, 220 | DB124648F8131D972017F6FD5B7B46DB /* NSNumber+Maker.h */, 221 | 501A72D316428B6F1DA765B9A2D743BB /* NSNumber+Maker.m */, 222 | ); 223 | name = Lib; 224 | path = Lib; 225 | sourceTree = ""; 226 | }; 227 | 7DB346D0F39D3F0E887471402A8071AB = { 228 | isa = PBXGroup; 229 | children = ( 230 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 231 | 3783553D9A35B0AFDFB9883F59F3FAF5 /* Development Pods */, 232 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, 233 | 8477C4B810871DFDAF0D94BEC4CDAD28 /* Products */, 234 | 23BB033914D3AE8C9C678208EBA0F2FB /* Targets Support Files */, 235 | ); 236 | sourceTree = ""; 237 | }; 238 | 8477C4B810871DFDAF0D94BEC4CDAD28 /* Products */ = { 239 | isa = PBXGroup; 240 | children = ( 241 | 75D223B5F552D16F4F4D60AB05EB1958 /* Maker.framework */, 242 | DB5D36AB3509FE2806416616486A48F9 /* Pods_Maker_Example.framework */, 243 | 02745E3E8D22DB4731A6394B85778A8C /* Pods_Maker_Tests.framework */, 244 | ); 245 | name = Products; 246 | sourceTree = ""; 247 | }; 248 | A9F552E8C9D1EA7D9565E3B598175122 /* Pods-Maker_Tests */ = { 249 | isa = PBXGroup; 250 | children = ( 251 | EC1FD708700C43948B552D5167D1C8BB /* Info.plist */, 252 | 805BDD1EB6B7E18E4E89FBEBF349B2C0 /* Pods-Maker_Tests.modulemap */, 253 | 795A44F5070FF306D887C135D5AA19E2 /* Pods-Maker_Tests-acknowledgements.markdown */, 254 | 88550661941EB02DE86B1FE9CD1ED135 /* Pods-Maker_Tests-acknowledgements.plist */, 255 | AEE35DED089E9B53FC704DC05D8C0F75 /* Pods-Maker_Tests-dummy.m */, 256 | 4CA032098601D17034F915734C41965F /* Pods-Maker_Tests-frameworks.sh */, 257 | F9B72E9DC5CB7A37578A319317DDDBA5 /* Pods-Maker_Tests-resources.sh */, 258 | 6A640E416B573227D12803652ADD68D7 /* Pods-Maker_Tests-umbrella.h */, 259 | 98B016656E1CFAF1278E0697F95DD26F /* Pods-Maker_Tests.debug.xcconfig */, 260 | 74CF95933877CAAB0BF3E24E23AECBE2 /* Pods-Maker_Tests.release.xcconfig */, 261 | ); 262 | name = "Pods-Maker_Tests"; 263 | path = "Target Support Files/Pods-Maker_Tests"; 264 | sourceTree = ""; 265 | }; 266 | B89292B707A85FF4AE7146F6CD150098 /* Support Files */ = { 267 | isa = PBXGroup; 268 | children = ( 269 | 2E2876E83313F7F06198477135A0BC2E /* Info.plist */, 270 | DAE7BEF67E3326267F7D3A37453220FB /* Maker.modulemap */, 271 | 9723CC7A8BCA1496FA6E1BEB6F6D83C8 /* Maker.xcconfig */, 272 | B33C152D974B30998F5A96C877D84C8E /* Maker-dummy.m */, 273 | 81C9DA1D0E54DA77B88FF4C8A4C5EBA6 /* Maker-prefix.pch */, 274 | 3F5C5295B687E19C98EA30DD7000491B /* Maker-umbrella.h */, 275 | ); 276 | name = "Support Files"; 277 | path = "Example/Pods/Target Support Files/Maker"; 278 | sourceTree = ""; 279 | }; 280 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { 281 | isa = PBXGroup; 282 | children = ( 283 | 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */, 284 | ); 285 | name = Frameworks; 286 | sourceTree = ""; 287 | }; 288 | E61813A3CDC6062413C24AE0475CCFEA /* Comments */ = { 289 | isa = PBXGroup; 290 | children = ( 291 | F7DAAFBD3BF14A3948A8A058C4705CDA /* UIButton+Maker.h */, 292 | 91B310C4F9CEF0FE8699F2D4FDFBB7EA /* UIButton+Maker.m */, 293 | BFFD68E785E509076AE2ACC6D5B8DCC8 /* UIImageView+Maker.h */, 294 | 582080ADD93FE14FB0B845328A359C27 /* UIImageView+Maker.m */, 295 | D65DEDBE6BAB2C09EAA711E3DC5BC802 /* UILabel+Maker.h */, 296 | 4350721D4A6C7FCE8E9C4EA6044FBA43 /* UILabel+Maker.m */, 297 | DA47686DEC87FA6128152AD03795E7E5 /* UIScrollView+Maker.h */, 298 | C3E74192C994455A05401D2750E5AF8B /* UIScrollView+Maker.m */, 299 | 176D54943501C4A54E74C465CE7CF051 /* UITableView+Maker.h */, 300 | 4FDDBD0F7297EE2D55B074A297672CD1 /* UITableView+Maker.m */, 301 | 4917EB1016057CF5AE09770B2DF0ECC1 /* UITextField+Maker.h */, 302 | 66D500C95876954CD86F688323780467 /* UITextField+Maker.m */, 303 | ); 304 | name = Comments; 305 | path = Comments; 306 | sourceTree = ""; 307 | }; 308 | /* End PBXGroup section */ 309 | 310 | /* Begin PBXHeadersBuildPhase section */ 311 | 86B4A9D8FE9BF162C9C40E46A2AE4E87 /* Headers */ = { 312 | isa = PBXHeadersBuildPhase; 313 | buildActionMask = 2147483647; 314 | files = ( 315 | 1DEDEF615A5296CE5D48095A3364D681 /* Maker-umbrella.h in Headers */, 316 | 8F0CCA20460CA7C8BFD170D1994F7524 /* Maker.h in Headers */, 317 | E45A111A31358E5DFDEB05BE01F65079 /* MakerUntil.h in Headers */, 318 | 6189C17340CE8C73855044DF0E161BDD /* NSNumber+Maker.h in Headers */, 319 | 6395526F364B8E87511FBF6E2C53CD0D /* UIButton+Maker.h in Headers */, 320 | 2C768C00A15CB8EA55B330FA48E715EC /* UIImageView+Maker.h in Headers */, 321 | 0F0D2824B63077EC3F4682961F1D5B51 /* UILabel+Maker.h in Headers */, 322 | 804368A3053BC1A8A9DFD3F666008C1A /* UIScrollView+Maker.h in Headers */, 323 | E8D086D327D6D775BA34B368E4DBA41A /* UITableView+Maker.h in Headers */, 324 | 99E93ED2E1F32778D92A42ABFD7CDBFC /* UITextField+Maker.h in Headers */, 325 | 0AA168C60963BB5676114E623E953DC2 /* UIView+Maker.h in Headers */, 326 | ); 327 | runOnlyForDeploymentPostprocessing = 0; 328 | }; 329 | D44EC6C579F192E9B2798D804FA04306 /* Headers */ = { 330 | isa = PBXHeadersBuildPhase; 331 | buildActionMask = 2147483647; 332 | files = ( 333 | E8E945A5A4DB9539371A21230574F457 /* Pods-Maker_Example-umbrella.h in Headers */, 334 | ); 335 | runOnlyForDeploymentPostprocessing = 0; 336 | }; 337 | F887189475899EE837E81DBEEB7BDE9A /* Headers */ = { 338 | isa = PBXHeadersBuildPhase; 339 | buildActionMask = 2147483647; 340 | files = ( 341 | D9EA10FFCC0360643305279E8EBF7077 /* Pods-Maker_Tests-umbrella.h in Headers */, 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | }; 345 | /* End PBXHeadersBuildPhase section */ 346 | 347 | /* Begin PBXNativeTarget section */ 348 | 333B72D902DC6328641AAD06E33F06A9 /* Pods-Maker_Tests */ = { 349 | isa = PBXNativeTarget; 350 | buildConfigurationList = F0BE8DF06412D78C574E4D3AF9B2436A /* Build configuration list for PBXNativeTarget "Pods-Maker_Tests" */; 351 | buildPhases = ( 352 | 1F62FF9D23FC33B658A51FB1FF4FFE50 /* Sources */, 353 | BD658EF16C7012EE27991E52F23EDD16 /* Frameworks */, 354 | F887189475899EE837E81DBEEB7BDE9A /* Headers */, 355 | ); 356 | buildRules = ( 357 | ); 358 | dependencies = ( 359 | ); 360 | name = "Pods-Maker_Tests"; 361 | productName = "Pods-Maker_Tests"; 362 | productReference = 02745E3E8D22DB4731A6394B85778A8C /* Pods_Maker_Tests.framework */; 363 | productType = "com.apple.product-type.framework"; 364 | }; 365 | 3AE696E2993A80051A7C7E54AE09657E /* Pods-Maker_Example */ = { 366 | isa = PBXNativeTarget; 367 | buildConfigurationList = 85C7D28933E0D473CB255A3D57A4D207 /* Build configuration list for PBXNativeTarget "Pods-Maker_Example" */; 368 | buildPhases = ( 369 | 1F954A910CEB273BE577ADCE693E05E9 /* Sources */, 370 | 4A71CF11DD57B23FF8117A35EFFC07EB /* Frameworks */, 371 | D44EC6C579F192E9B2798D804FA04306 /* Headers */, 372 | ); 373 | buildRules = ( 374 | ); 375 | dependencies = ( 376 | DFEA19C2309F08F56BBE36032A1D228E /* PBXTargetDependency */, 377 | ); 378 | name = "Pods-Maker_Example"; 379 | productName = "Pods-Maker_Example"; 380 | productReference = DB5D36AB3509FE2806416616486A48F9 /* Pods_Maker_Example.framework */; 381 | productType = "com.apple.product-type.framework"; 382 | }; 383 | 7FF479022BE2EEA6F3F9D2E769453DEF /* Maker */ = { 384 | isa = PBXNativeTarget; 385 | buildConfigurationList = 8EEBA8C812E769533F926E4CD7199727 /* Build configuration list for PBXNativeTarget "Maker" */; 386 | buildPhases = ( 387 | AAFBD96636D39B8FB311B46B1B8FFE7B /* Sources */, 388 | 30D04AC100B76BC3E7509A1975987013 /* Frameworks */, 389 | 86B4A9D8FE9BF162C9C40E46A2AE4E87 /* Headers */, 390 | ); 391 | buildRules = ( 392 | ); 393 | dependencies = ( 394 | ); 395 | name = Maker; 396 | productName = Maker; 397 | productReference = 75D223B5F552D16F4F4D60AB05EB1958 /* Maker.framework */; 398 | productType = "com.apple.product-type.framework"; 399 | }; 400 | /* End PBXNativeTarget section */ 401 | 402 | /* Begin PBXProject section */ 403 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 404 | isa = PBXProject; 405 | attributes = { 406 | LastSwiftUpdateCheck = 0730; 407 | LastUpgradeCheck = 0700; 408 | }; 409 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 410 | compatibilityVersion = "Xcode 3.2"; 411 | developmentRegion = English; 412 | hasScannedForEncodings = 0; 413 | knownRegions = ( 414 | en, 415 | ); 416 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 417 | productRefGroup = 8477C4B810871DFDAF0D94BEC4CDAD28 /* Products */; 418 | projectDirPath = ""; 419 | projectRoot = ""; 420 | targets = ( 421 | 7FF479022BE2EEA6F3F9D2E769453DEF /* Maker */, 422 | 3AE696E2993A80051A7C7E54AE09657E /* Pods-Maker_Example */, 423 | 333B72D902DC6328641AAD06E33F06A9 /* Pods-Maker_Tests */, 424 | ); 425 | }; 426 | /* End PBXProject section */ 427 | 428 | /* Begin PBXSourcesBuildPhase section */ 429 | 1F62FF9D23FC33B658A51FB1FF4FFE50 /* Sources */ = { 430 | isa = PBXSourcesBuildPhase; 431 | buildActionMask = 2147483647; 432 | files = ( 433 | 0ECC5C90888254D890093210512BF00E /* Pods-Maker_Tests-dummy.m in Sources */, 434 | ); 435 | runOnlyForDeploymentPostprocessing = 0; 436 | }; 437 | 1F954A910CEB273BE577ADCE693E05E9 /* Sources */ = { 438 | isa = PBXSourcesBuildPhase; 439 | buildActionMask = 2147483647; 440 | files = ( 441 | 47C66C2B9EB8F14E8753EBB8B5E4F5CB /* Pods-Maker_Example-dummy.m in Sources */, 442 | ); 443 | runOnlyForDeploymentPostprocessing = 0; 444 | }; 445 | AAFBD96636D39B8FB311B46B1B8FFE7B /* Sources */ = { 446 | isa = PBXSourcesBuildPhase; 447 | buildActionMask = 2147483647; 448 | files = ( 449 | 5ED8BA1D40AF64C6D4A7AD9514BBB98B /* Maker-dummy.m in Sources */, 450 | D10E8BE90FC039DD8987403FADC4AA3C /* MakerUntil.m in Sources */, 451 | 4C187D0A8724F79D0AF3D788DF525A2D /* NSNumber+Maker.m in Sources */, 452 | 705B7199544F6DD2ABC142E9F486E928 /* UIButton+Maker.m in Sources */, 453 | 2599386F120ED7F43935BD919E983C76 /* UIImageView+Maker.m in Sources */, 454 | 2C79FBC74D97BB01BD0A56CC4E6F2FD6 /* UILabel+Maker.m in Sources */, 455 | DDAA886AA17BBF99271945FD43C68025 /* UIScrollView+Maker.m in Sources */, 456 | BC4E9B35BBD4A610A1E6F8060B28F64B /* UITableView+Maker.m in Sources */, 457 | 59ECF098A3CB73337264AFA3B10295E6 /* UITextField+Maker.m in Sources */, 458 | 038A0FE882248011D3E3850D30E90E97 /* UIView+Maker.m in Sources */, 459 | ); 460 | runOnlyForDeploymentPostprocessing = 0; 461 | }; 462 | /* End PBXSourcesBuildPhase section */ 463 | 464 | /* Begin PBXTargetDependency section */ 465 | DFEA19C2309F08F56BBE36032A1D228E /* PBXTargetDependency */ = { 466 | isa = PBXTargetDependency; 467 | name = Maker; 468 | target = 7FF479022BE2EEA6F3F9D2E769453DEF /* Maker */; 469 | targetProxy = B677107FB2F8B4B1111E2805B89FB41C /* PBXContainerItemProxy */; 470 | }; 471 | /* End PBXTargetDependency section */ 472 | 473 | /* Begin XCBuildConfiguration section */ 474 | 14F77047E4596219AE4FE083B97985A8 /* Debug */ = { 475 | isa = XCBuildConfiguration; 476 | baseConfigurationReference = 9723CC7A8BCA1496FA6E1BEB6F6D83C8 /* Maker.xcconfig */; 477 | buildSettings = { 478 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 479 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 480 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 481 | CURRENT_PROJECT_VERSION = 1; 482 | DEBUG_INFORMATION_FORMAT = dwarf; 483 | DEFINES_MODULE = YES; 484 | DYLIB_COMPATIBILITY_VERSION = 1; 485 | DYLIB_CURRENT_VERSION = 1; 486 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 487 | ENABLE_STRICT_OBJC_MSGSEND = YES; 488 | GCC_NO_COMMON_BLOCKS = YES; 489 | GCC_PREFIX_HEADER = "Target Support Files/Maker/Maker-prefix.pch"; 490 | INFOPLIST_FILE = "Target Support Files/Maker/Info.plist"; 491 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 492 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 493 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 494 | MODULEMAP_FILE = "Target Support Files/Maker/Maker.modulemap"; 495 | MTL_ENABLE_DEBUG_INFO = YES; 496 | PRODUCT_NAME = Maker; 497 | SDKROOT = iphoneos; 498 | SKIP_INSTALL = YES; 499 | TARGETED_DEVICE_FAMILY = "1,2"; 500 | VERSIONING_SYSTEM = "apple-generic"; 501 | VERSION_INFO_PREFIX = ""; 502 | }; 503 | name = Debug; 504 | }; 505 | 3000E89CDD38EF37819C060659E3DB32 /* Release */ = { 506 | isa = XCBuildConfiguration; 507 | baseConfigurationReference = 9723CC7A8BCA1496FA6E1BEB6F6D83C8 /* Maker.xcconfig */; 508 | buildSettings = { 509 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 510 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 511 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 512 | CURRENT_PROJECT_VERSION = 1; 513 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 514 | DEFINES_MODULE = YES; 515 | DYLIB_COMPATIBILITY_VERSION = 1; 516 | DYLIB_CURRENT_VERSION = 1; 517 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 518 | ENABLE_STRICT_OBJC_MSGSEND = YES; 519 | GCC_NO_COMMON_BLOCKS = YES; 520 | GCC_PREFIX_HEADER = "Target Support Files/Maker/Maker-prefix.pch"; 521 | INFOPLIST_FILE = "Target Support Files/Maker/Info.plist"; 522 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 523 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 524 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 525 | MODULEMAP_FILE = "Target Support Files/Maker/Maker.modulemap"; 526 | MTL_ENABLE_DEBUG_INFO = NO; 527 | PRODUCT_NAME = Maker; 528 | SDKROOT = iphoneos; 529 | SKIP_INSTALL = YES; 530 | TARGETED_DEVICE_FAMILY = "1,2"; 531 | VERSIONING_SYSTEM = "apple-generic"; 532 | VERSION_INFO_PREFIX = ""; 533 | }; 534 | name = Release; 535 | }; 536 | 3AD361A0ABD244E8BED892286AE4D3B9 /* Debug */ = { 537 | isa = XCBuildConfiguration; 538 | baseConfigurationReference = AE6F617CDEF82B2A64C84CA3DDCD1E67 /* Pods-Maker_Example.debug.xcconfig */; 539 | buildSettings = { 540 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 541 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 542 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 543 | CURRENT_PROJECT_VERSION = 1; 544 | DEBUG_INFORMATION_FORMAT = dwarf; 545 | DEFINES_MODULE = YES; 546 | DYLIB_COMPATIBILITY_VERSION = 1; 547 | DYLIB_CURRENT_VERSION = 1; 548 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 549 | ENABLE_STRICT_OBJC_MSGSEND = YES; 550 | GCC_NO_COMMON_BLOCKS = YES; 551 | INFOPLIST_FILE = "Target Support Files/Pods-Maker_Example/Info.plist"; 552 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 553 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 554 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 555 | MACH_O_TYPE = staticlib; 556 | MODULEMAP_FILE = "Target Support Files/Pods-Maker_Example/Pods-Maker_Example.modulemap"; 557 | MTL_ENABLE_DEBUG_INFO = YES; 558 | OTHER_LDFLAGS = ""; 559 | OTHER_LIBTOOLFLAGS = ""; 560 | PODS_ROOT = "$(SRCROOT)"; 561 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 562 | PRODUCT_NAME = Pods_Maker_Example; 563 | SDKROOT = iphoneos; 564 | SKIP_INSTALL = YES; 565 | TARGETED_DEVICE_FAMILY = "1,2"; 566 | VERSIONING_SYSTEM = "apple-generic"; 567 | VERSION_INFO_PREFIX = ""; 568 | }; 569 | name = Debug; 570 | }; 571 | 794EE55524E4C50D123DD9A0626C280C /* Release */ = { 572 | isa = XCBuildConfiguration; 573 | baseConfigurationReference = 74CF95933877CAAB0BF3E24E23AECBE2 /* Pods-Maker_Tests.release.xcconfig */; 574 | buildSettings = { 575 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 576 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 577 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 578 | CURRENT_PROJECT_VERSION = 1; 579 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 580 | DEFINES_MODULE = YES; 581 | DYLIB_COMPATIBILITY_VERSION = 1; 582 | DYLIB_CURRENT_VERSION = 1; 583 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 584 | ENABLE_STRICT_OBJC_MSGSEND = YES; 585 | GCC_NO_COMMON_BLOCKS = YES; 586 | INFOPLIST_FILE = "Target Support Files/Pods-Maker_Tests/Info.plist"; 587 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 588 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 589 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 590 | MACH_O_TYPE = staticlib; 591 | MODULEMAP_FILE = "Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.modulemap"; 592 | MTL_ENABLE_DEBUG_INFO = NO; 593 | OTHER_LDFLAGS = ""; 594 | OTHER_LIBTOOLFLAGS = ""; 595 | PODS_ROOT = "$(SRCROOT)"; 596 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 597 | PRODUCT_NAME = Pods_Maker_Tests; 598 | SDKROOT = iphoneos; 599 | SKIP_INSTALL = YES; 600 | TARGETED_DEVICE_FAMILY = "1,2"; 601 | VERSIONING_SYSTEM = "apple-generic"; 602 | VERSION_INFO_PREFIX = ""; 603 | }; 604 | name = Release; 605 | }; 606 | 8DED8AD26D381A6ACFF202E5217EC498 /* Release */ = { 607 | isa = XCBuildConfiguration; 608 | buildSettings = { 609 | ALWAYS_SEARCH_USER_PATHS = NO; 610 | CLANG_ANALYZER_NONNULL = YES; 611 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 612 | CLANG_CXX_LIBRARY = "libc++"; 613 | CLANG_ENABLE_MODULES = YES; 614 | CLANG_ENABLE_OBJC_ARC = YES; 615 | CLANG_WARN_BOOL_CONVERSION = YES; 616 | CLANG_WARN_CONSTANT_CONVERSION = YES; 617 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 618 | CLANG_WARN_EMPTY_BODY = YES; 619 | CLANG_WARN_ENUM_CONVERSION = YES; 620 | CLANG_WARN_INT_CONVERSION = YES; 621 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 622 | CLANG_WARN_UNREACHABLE_CODE = YES; 623 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 624 | CODE_SIGNING_REQUIRED = NO; 625 | COPY_PHASE_STRIP = YES; 626 | ENABLE_NS_ASSERTIONS = NO; 627 | GCC_C_LANGUAGE_STANDARD = gnu99; 628 | GCC_PREPROCESSOR_DEFINITIONS = ( 629 | "POD_CONFIGURATION_RELEASE=1", 630 | "$(inherited)", 631 | ); 632 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 633 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 634 | GCC_WARN_UNDECLARED_SELECTOR = YES; 635 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 636 | GCC_WARN_UNUSED_FUNCTION = YES; 637 | GCC_WARN_UNUSED_VARIABLE = YES; 638 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 639 | PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; 640 | STRIP_INSTALLED_PRODUCT = NO; 641 | SYMROOT = "${SRCROOT}/../build"; 642 | VALIDATE_PRODUCT = YES; 643 | }; 644 | name = Release; 645 | }; 646 | 9E1E4E48AF2EAB23169E611BF694090A /* Debug */ = { 647 | isa = XCBuildConfiguration; 648 | buildSettings = { 649 | ALWAYS_SEARCH_USER_PATHS = NO; 650 | CLANG_ANALYZER_NONNULL = YES; 651 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 652 | CLANG_CXX_LIBRARY = "libc++"; 653 | CLANG_ENABLE_MODULES = YES; 654 | CLANG_ENABLE_OBJC_ARC = YES; 655 | CLANG_WARN_BOOL_CONVERSION = YES; 656 | CLANG_WARN_CONSTANT_CONVERSION = YES; 657 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 658 | CLANG_WARN_EMPTY_BODY = YES; 659 | CLANG_WARN_ENUM_CONVERSION = YES; 660 | CLANG_WARN_INT_CONVERSION = YES; 661 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 662 | CLANG_WARN_UNREACHABLE_CODE = YES; 663 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 664 | CODE_SIGNING_REQUIRED = NO; 665 | COPY_PHASE_STRIP = NO; 666 | ENABLE_TESTABILITY = YES; 667 | GCC_C_LANGUAGE_STANDARD = gnu99; 668 | GCC_DYNAMIC_NO_PIC = NO; 669 | GCC_OPTIMIZATION_LEVEL = 0; 670 | GCC_PREPROCESSOR_DEFINITIONS = ( 671 | "POD_CONFIGURATION_DEBUG=1", 672 | "DEBUG=1", 673 | "$(inherited)", 674 | ); 675 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 676 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 677 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 678 | GCC_WARN_UNDECLARED_SELECTOR = YES; 679 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 680 | GCC_WARN_UNUSED_FUNCTION = YES; 681 | GCC_WARN_UNUSED_VARIABLE = YES; 682 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 683 | ONLY_ACTIVE_ARCH = YES; 684 | PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; 685 | STRIP_INSTALLED_PRODUCT = NO; 686 | SYMROOT = "${SRCROOT}/../build"; 687 | }; 688 | name = Debug; 689 | }; 690 | A85740D3869EF0F8A5C94417FBEE9CA3 /* Release */ = { 691 | isa = XCBuildConfiguration; 692 | baseConfigurationReference = 6ADCCB9A5478F680EC35DC6F30E06973 /* Pods-Maker_Example.release.xcconfig */; 693 | buildSettings = { 694 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 695 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 696 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 697 | CURRENT_PROJECT_VERSION = 1; 698 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 699 | DEFINES_MODULE = YES; 700 | DYLIB_COMPATIBILITY_VERSION = 1; 701 | DYLIB_CURRENT_VERSION = 1; 702 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 703 | ENABLE_STRICT_OBJC_MSGSEND = YES; 704 | GCC_NO_COMMON_BLOCKS = YES; 705 | INFOPLIST_FILE = "Target Support Files/Pods-Maker_Example/Info.plist"; 706 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 707 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 708 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 709 | MACH_O_TYPE = staticlib; 710 | MODULEMAP_FILE = "Target Support Files/Pods-Maker_Example/Pods-Maker_Example.modulemap"; 711 | MTL_ENABLE_DEBUG_INFO = NO; 712 | OTHER_LDFLAGS = ""; 713 | OTHER_LIBTOOLFLAGS = ""; 714 | PODS_ROOT = "$(SRCROOT)"; 715 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 716 | PRODUCT_NAME = Pods_Maker_Example; 717 | SDKROOT = iphoneos; 718 | SKIP_INSTALL = YES; 719 | TARGETED_DEVICE_FAMILY = "1,2"; 720 | VERSIONING_SYSTEM = "apple-generic"; 721 | VERSION_INFO_PREFIX = ""; 722 | }; 723 | name = Release; 724 | }; 725 | F4CEF9D5BE3874029EC6A9788AFA3160 /* Debug */ = { 726 | isa = XCBuildConfiguration; 727 | baseConfigurationReference = 98B016656E1CFAF1278E0697F95DD26F /* Pods-Maker_Tests.debug.xcconfig */; 728 | buildSettings = { 729 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 730 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 731 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 732 | CURRENT_PROJECT_VERSION = 1; 733 | DEBUG_INFORMATION_FORMAT = dwarf; 734 | DEFINES_MODULE = YES; 735 | DYLIB_COMPATIBILITY_VERSION = 1; 736 | DYLIB_CURRENT_VERSION = 1; 737 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 738 | ENABLE_STRICT_OBJC_MSGSEND = YES; 739 | GCC_NO_COMMON_BLOCKS = YES; 740 | INFOPLIST_FILE = "Target Support Files/Pods-Maker_Tests/Info.plist"; 741 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 742 | IPHONEOS_DEPLOYMENT_TARGET = 8.3; 743 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 744 | MACH_O_TYPE = staticlib; 745 | MODULEMAP_FILE = "Target Support Files/Pods-Maker_Tests/Pods-Maker_Tests.modulemap"; 746 | MTL_ENABLE_DEBUG_INFO = YES; 747 | OTHER_LDFLAGS = ""; 748 | OTHER_LIBTOOLFLAGS = ""; 749 | PODS_ROOT = "$(SRCROOT)"; 750 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 751 | PRODUCT_NAME = Pods_Maker_Tests; 752 | SDKROOT = iphoneos; 753 | SKIP_INSTALL = YES; 754 | TARGETED_DEVICE_FAMILY = "1,2"; 755 | VERSIONING_SYSTEM = "apple-generic"; 756 | VERSION_INFO_PREFIX = ""; 757 | }; 758 | name = Debug; 759 | }; 760 | /* End XCBuildConfiguration section */ 761 | 762 | /* Begin XCConfigurationList section */ 763 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 764 | isa = XCConfigurationList; 765 | buildConfigurations = ( 766 | 9E1E4E48AF2EAB23169E611BF694090A /* Debug */, 767 | 8DED8AD26D381A6ACFF202E5217EC498 /* Release */, 768 | ); 769 | defaultConfigurationIsVisible = 0; 770 | defaultConfigurationName = Release; 771 | }; 772 | 85C7D28933E0D473CB255A3D57A4D207 /* Build configuration list for PBXNativeTarget "Pods-Maker_Example" */ = { 773 | isa = XCConfigurationList; 774 | buildConfigurations = ( 775 | 3AD361A0ABD244E8BED892286AE4D3B9 /* Debug */, 776 | A85740D3869EF0F8A5C94417FBEE9CA3 /* Release */, 777 | ); 778 | defaultConfigurationIsVisible = 0; 779 | defaultConfigurationName = Release; 780 | }; 781 | 8EEBA8C812E769533F926E4CD7199727 /* Build configuration list for PBXNativeTarget "Maker" */ = { 782 | isa = XCConfigurationList; 783 | buildConfigurations = ( 784 | 14F77047E4596219AE4FE083B97985A8 /* Debug */, 785 | 3000E89CDD38EF37819C060659E3DB32 /* Release */, 786 | ); 787 | defaultConfigurationIsVisible = 0; 788 | defaultConfigurationName = Release; 789 | }; 790 | F0BE8DF06412D78C574E4D3AF9B2436A /* Build configuration list for PBXNativeTarget "Pods-Maker_Tests" */ = { 791 | isa = XCConfigurationList; 792 | buildConfigurations = ( 793 | F4CEF9D5BE3874029EC6A9788AFA3160 /* Debug */, 794 | 794EE55524E4C50D123DD9A0626C280C /* Release */, 795 | ); 796 | defaultConfigurationIsVisible = 0; 797 | defaultConfigurationName = Release; 798 | }; 799 | /* End XCConfigurationList section */ 800 | }; 801 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 802 | } 803 | --------------------------------------------------------------------------------