diff --git a/MLEmoji/MLEmojiLabel.h b/Classes/MLEmojiLabel.h similarity index 92% rename from MLEmoji/MLEmojiLabel.h rename to Classes/MLEmojiLabel.h index bf09e46..40bc056 100644 --- a/MLEmoji/MLEmojiLabel.h +++ b/Classes/MLEmojiLabel.h @@ -36,6 +36,7 @@ typedef NS_OPTIONS(NSUInteger, MLEmojiLabelLinkType) { @property (nonatomic, copy) NSString *customEmojiRegex; //自定义表情正则 @property (nonatomic, copy) NSString *customEmojiPlistName; //xxxxx.plist 格式 +@property (nonatomic, copy) NSString *customEmojiBundleName; //自定义表情图片所存储的bundleName xxxx.bundle格式 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wobjc-property-synthesis" diff --git a/MLEmoji/MLEmojiLabel.m b/Classes/MLEmojiLabel.m similarity index 85% rename from MLEmoji/MLEmojiLabel.m rename to Classes/MLEmojiLabel.m index 6651705..bf03865 100644 --- a/MLEmoji/MLEmojiLabel.m +++ b/Classes/MLEmojiLabel.m @@ -83,18 +83,18 @@ + (instancetype)sharedInstance { #pragma mark - getter - (NSMutableDictionary *)emojiDictRecords { - if (!_emojiDictRecords) { - _emojiDictRecords = [NSMutableDictionary new]; - } - return _emojiDictRecords; + if (!_emojiDictRecords) { + _emojiDictRecords = [NSMutableDictionary new]; + } + return _emojiDictRecords; } - (NSMutableDictionary *)emojiRegularExpressions { - if (!_emojiRegularExpressions) { - _emojiRegularExpressions = [NSMutableDictionary new]; - } - return _emojiRegularExpressions; + if (!_emojiRegularExpressions) { + _emojiRegularExpressions = [NSMutableDictionary new]; + } + return _emojiRegularExpressions; } #pragma mark - common @@ -135,9 +135,14 @@ - (NSRegularExpression *)regularExpressionForRegex:(NSString*)regex @interface TTTAttributedLabel(MLEmojiLabel) +@property (readwrite, nonatomic, strong) TTTAttributedLabelLink *activeLink; + - (void)commonInit; - (NSArray *)addLinksWithTextCheckingResults:(NSArray *)results attributes:(NSDictionary *)attributes; +- (void)drawStrike:(CTFrameRef)frame + inRect:(CGRect)rect + context:(CGContextRef)c; @end @@ -159,11 +164,11 @@ @implementation MLEmojiLabel + (NSDictionary *)emojiDictionary { static NSDictionary *emojiDictionary = nil; static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSString *emojiFilePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"expressionImage.plist"]; - emojiDictionary = [[NSDictionary alloc] initWithContentsOfFile:emojiFilePath]; - }); - return emojiDictionary; + dispatch_once(&onceToken, ^{ + NSString *emojiFilePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MLEmoji_ExpressionImage.plist"]; + emojiDictionary = [[NSDictionary alloc] initWithContentsOfFile:emojiFilePath]; + }); + return emojiDictionary; } #pragma mark - 表情 callback @@ -174,22 +179,22 @@ + (NSDictionary *)emojiDictionary { } CustomGlyphMetrics, *CustomGlyphMetricsRef; static void deallocCallback(void *refCon) { - free(refCon), refCon = NULL; + free(refCon), refCon = NULL; } static CGFloat ascentCallback(void *refCon) { - CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; - return metrics->ascent; + CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; + return metrics->ascent; } static CGFloat descentCallback(void *refCon) { - CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; - return metrics->descent; + CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; + return metrics->descent; } static CGFloat widthCallback(void *refCon) { - CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; - return metrics->width; + CustomGlyphMetricsRef metrics = (CustomGlyphMetricsRef)refCon; + return metrics->width; } #pragma mark - 初始化和TTT的一些修正 @@ -256,10 +261,12 @@ static inline CGFloat TTTFlushFactorForTextAlignment(NSTextAlignment textAlignme } #pragma mark - 绘制表情 -- (void)drawOtherForEndWithFrame:(CTFrameRef)frame - inRect:(CGRect)rect - context:(CGContextRef)c +- (void)drawStrike:(CTFrameRef)frame + inRect:(CGRect)rect + context:(CGContextRef)c { + [super drawStrike:frame inRect:rect context:c]; + //PS:这个是在TTT里drawFramesetter....方法最后做了修改的基础上。 CGFloat emojiWith = self.font.lineHeight*kEmojiWidthRatioWithLineHeight; CGFloat emojiOriginYOffset = self.font.lineHeight*kEmojiOriginYOffsetRatioWithLineHeight; @@ -352,7 +359,8 @@ - (void)drawOtherForEndWithFrame:(CTFrameRef)frame runBounds.origin.y = lineOrigins[lineIndex].y; runBounds.origin.y -= runDescent; - UIImage *image = [UIImage imageNamed:imageName]; + NSString *imagePath = [self.customEmojiBundleName?:@"MLEmoji_Expression.bundle" stringByAppendingPathComponent:imageName]; + UIImage *image = [UIImage imageNamed:imagePath]; runBounds.origin.y -= emojiOriginYOffset; //稍微矫正下。 CGContextDrawImage(c, runBounds, image.CGImage); } @@ -394,18 +402,18 @@ - (NSMutableAttributedString*)mutableAttributeStringWithEmojiText:(NSAttributedS for (NSTextCheckingResult *result in emojis) { NSRange range = result.range; NSAttributedString *attSubStr = [emojiText attributedSubstringFromRange:NSMakeRange(location, range.location - location)]; - [attrStr appendAttributedString:attSubStr]; + [attrStr appendAttributedString:attSubStr]; - location = range.location + range.length; + location = range.location + range.length; - NSAttributedString *emojiKey = [emojiText attributedSubstringFromRange:range]; + NSAttributedString *emojiKey = [emojiText attributedSubstringFromRange:range]; NSDictionary *emojiDict = self.customEmojiRegularExpression?self.customEmojiDictionary:[MLEmojiLabel emojiDictionary]; //如果当前获得key后面有多余的,这个需要记录下 NSAttributedString *otherAppendStr = nil; - NSString *imageName = emojiDict[emojiKey.string]; + NSString *imageName = emojiDict[emojiKey.string]; if (!self.customEmojiRegularExpression) { //微信的表情没有结束符号,所以有可能会发现过长的只有头部才是表情的段,需要循环检测一次。微信最大表情特殊字符是8个长度,检测8次即可 if (!imageName&&emojiKey.length>2) { @@ -422,41 +430,41 @@ - (NSMutableAttributedString*)mutableAttributeStringWithEmojiText:(NSAttributedS } } - if (imageName) { - // 这里不用空格,空格有个问题就是连续空格的时候只显示在一行 - NSMutableAttributedString *replaceStr = [[NSMutableAttributedString alloc] initWithString:kEmojiReplaceCharacter]; - NSRange __range = NSMakeRange([attrStr length], 1); - [attrStr appendAttributedString:replaceStr]; + if (imageName) { + // 这里不用空格,空格有个问题就是连续空格的时候只显示在一行 + NSMutableAttributedString *replaceStr = [[NSMutableAttributedString alloc] initWithString:kEmojiReplaceCharacter]; + NSRange __range = NSMakeRange([attrStr length], 1); + [attrStr appendAttributedString:replaceStr]; if (otherAppendStr) { //有其他需要添加的 [attrStr appendAttributedString:otherAppendStr]; } - // 定义回调函数 - CTRunDelegateCallbacks callbacks; - callbacks.version = kCTRunDelegateCurrentVersion; - callbacks.getAscent = ascentCallback; - callbacks.getDescent = descentCallback; - callbacks.getWidth = widthCallback; - callbacks.dealloc = deallocCallback; + // 定义回调函数 + CTRunDelegateCallbacks callbacks; + callbacks.version = kCTRunDelegateCurrentVersion; + callbacks.getAscent = ascentCallback; + callbacks.getDescent = descentCallback; + callbacks.getWidth = widthCallback; + callbacks.dealloc = deallocCallback; - // 这里设置下需要绘制的图片的大小,这里我自定义了一个结构体以便于存储数据 - CustomGlyphMetricsRef metrics = malloc(sizeof(CustomGlyphMetrics)); + // 这里设置下需要绘制的图片的大小,这里我自定义了一个结构体以便于存储数据 + CustomGlyphMetricsRef metrics = malloc(sizeof(CustomGlyphMetrics)); metrics->width = emojiWith; - metrics->ascent = 1/(1+kAscentDescentScale)*metrics->width; - metrics->descent = metrics->ascent*kAscentDescentScale; - CTRunDelegateRef delegate = CTRunDelegateCreate(&callbacks, metrics); - [attrStr addAttribute:(NSString *)kCTRunDelegateAttributeName + metrics->ascent = 1/(1+kAscentDescentScale)*metrics->width; + metrics->descent = metrics->ascent*kAscentDescentScale; + CTRunDelegateRef delegate = CTRunDelegateCreate(&callbacks, metrics); + [attrStr addAttribute:(NSString *)kCTRunDelegateAttributeName value:(__bridge id)delegate range:__range]; - CFRelease(delegate); + CFRelease(delegate); - // 设置自定义属性,绘制的时候需要用到 - [attrStr addAttribute:kCustomGlyphAttributeImageName + // 设置自定义属性,绘制的时候需要用到 + [attrStr addAttribute:kCustomGlyphAttributeImageName value:imageName range:__range]; - } else { - [attrStr appendAttributedString:emojiKey]; - } + } else { + [attrStr appendAttributedString:emojiKey]; + } } if (location < [emojiText length]) { NSRange range = NSMakeRange(location, [emojiText length] - location); @@ -596,7 +604,7 @@ - (void)setCustomEmojiPlistName:(NSString *)customEmojiPlistName _customEmojiPlistName = customEmojiPlistName; if (customEmojiPlistName&&customEmojiPlistName.length>0) { - self.customEmojiDictionary = [[MLEmojiLabelRegexPlistManager sharedInstance]emojiDictForKey:customEmojiPlistName]; + self.customEmojiDictionary = [[MLEmojiLabelRegexPlistManager sharedInstance]emojiDictForKey:customEmojiPlistName]; }else{ self.customEmojiDictionary = nil; } @@ -604,6 +612,17 @@ - (void)setCustomEmojiPlistName:(NSString *)customEmojiPlistName self.text = self.emojiText; //简单重新绘制处理下 } +- (void)setCustomEmojiBundleName:(NSString *)customEmojiBundleName +{ + if (customEmojiBundleName&&customEmojiBundleName.length>0&&![[customEmojiBundleName lowercaseString] hasSuffix:@".bundle"]) { + customEmojiBundleName = [customEmojiBundleName stringByAppendingString:@".bundle"]; + } + + _customEmojiBundleName = customEmojiBundleName; + + self.text = self.emojiText; //简单重新绘制处理下 +} + - (void)setFont:(UIFont *)font { [super setFont:font]; @@ -611,24 +630,30 @@ - (void)setFont:(UIFont *)font } #pragma mark - select link override -//PS:此处是在TTT代码里添加一个供继承的行为 -- (BOOL)didSelectLinkWithTextCheckingResult:(NSTextCheckingResult*)result + +- (void)touchesEnded:(NSSet *)touches + withEvent:(UIEvent *)event { - if (result.resultType == NSTextCheckingTypeCorrection) { - //判断消息类型 - for (NSUInteger i=0; i /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 364A89181929B07200BAFB8C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 364A89361929B07200BAFB8C /* ViewController.m in Sources */, + 364385B21A369B0E00C220CF /* EmojiTableViewController.m in Sources */, + 364A89301929B07200BAFB8C /* AppDelegate.m in Sources */, + 364A892C1929B07200BAFB8C /* main.m in Sources */, + 364385B11A369B0E00C220CF /* EmojiTableViewCell.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 364A89391929B07200BAFB8C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 364A894B1929B07200BAFB8C /* MLEmojiLabelTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 364A89431929B07200BAFB8C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 364A891B1929B07200BAFB8C /* MLEmojiLabel */; + targetProxy = 364A89421929B07200BAFB8C /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 364A89281929B07200BAFB8C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 364A89291929B07200BAFB8C /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 364A89311929B07200BAFB8C /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 364A89321929B07200BAFB8C /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 364A89471929B07200BAFB8C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 364A89481929B07200BAFB8C /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 364A894C1929B07200BAFB8C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 364A894D1929B07200BAFB8C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 364A894F1929B07200BAFB8C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E0B5B4AEFFCE9FE0B2B00171 /* Pods.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; + INFOPLIST_FILE = "MLEmojiLabel/MLEmojiLabel-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 364A89501929B07200BAFB8C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1F13F270DC814CD4B7B6716E /* Pods.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; + INFOPLIST_FILE = "MLEmojiLabel/MLEmojiLabel-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 364A89521929B07200BAFB8C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MLEmojiLabel.app/MLEmojiLabel"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "MLEmojiLabelTests/MLEmojiLabelTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + 364A89531929B07200BAFB8C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MLEmojiLabel.app/MLEmojiLabel"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; + INFOPLIST_FILE = "MLEmojiLabelTests/MLEmojiLabelTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 364A89171929B07200BAFB8C /* Build configuration list for PBXProject "MLEmojiLabel" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 364A894C1929B07200BAFB8C /* Debug */, + 364A894D1929B07200BAFB8C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 364A894E1929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabel" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 364A894F1929B07200BAFB8C /* Debug */, + 364A89501929B07200BAFB8C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 364A89511929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabelTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 364A89521929B07200BAFB8C /* Debug */, + 364A89531929B07200BAFB8C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 364A89141929B07200BAFB8C /* Project object */; +} diff --git a/MLEmojiLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from MLEmojiLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Example/MLEmojiLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/MLEmojiLabel.xcodeproj/project.xcworkspace/xcshareddata/MLEmojiLabel.xccheckout b/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcshareddata/MLEmojiLabel.xccheckout similarity index 100% rename from MLEmojiLabel.xcodeproj/project.xcworkspace/xcshareddata/MLEmojiLabel.xccheckout rename to Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcshareddata/MLEmojiLabel.xccheckout diff --git a/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate b/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..de7148a Binary files /dev/null and b/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/pudegui.xcuserdatad/UserInterfaceState.xcuserstate b/Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/pudegui.xcuserdatad/UserInterfaceState.xcuserstate similarity index 100% rename from MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/pudegui.xcuserdatad/UserInterfaceState.xcuserstate rename to Example/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/pudegui.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist similarity index 100% rename from MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist rename to Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme b/Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme similarity index 100% rename from MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme rename to Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme diff --git a/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist rename to Example/MLEmojiLabel.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme b/Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme similarity index 100% rename from MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme rename to Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/MLEmojiLabel.xcscheme diff --git a/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/xcschememanagement.plist rename to Example/MLEmojiLabel.xcodeproj/xcuserdata/pudegui.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Example/MLEmojiLabel.xcworkspace/contents.xcworkspacedata b/Example/MLEmojiLabel.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..527fa07 --- /dev/null +++ b/Example/MLEmojiLabel.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/MLEmojiLabel.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate b/Example/MLEmojiLabel.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..f4c92be Binary files /dev/null and b/Example/MLEmojiLabel.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MLEmojiLabel/AppDelegate.h b/Example/MLEmojiLabel/AppDelegate.h similarity index 100% rename from MLEmojiLabel/AppDelegate.h rename to Example/MLEmojiLabel/AppDelegate.h diff --git a/MLEmojiLabel/AppDelegate.m b/Example/MLEmojiLabel/AppDelegate.m similarity index 100% rename from MLEmojiLabel/AppDelegate.m rename to Example/MLEmojiLabel/AppDelegate.m diff --git a/MLEmojiLabel/Base.lproj/Main.storyboard b/Example/MLEmojiLabel/Base.lproj/Main.storyboard similarity index 100% rename from MLEmojiLabel/Base.lproj/Main.storyboard rename to Example/MLEmojiLabel/Base.lproj/Main.storyboard diff --git a/MLEmojiLabel/EmojiTableViewCell.h b/Example/MLEmojiLabel/EmojiTableViewCell.h similarity index 100% rename from MLEmojiLabel/EmojiTableViewCell.h rename to Example/MLEmojiLabel/EmojiTableViewCell.h diff --git a/MLEmojiLabel/EmojiTableViewCell.m b/Example/MLEmojiLabel/EmojiTableViewCell.m similarity index 100% rename from MLEmojiLabel/EmojiTableViewCell.m rename to Example/MLEmojiLabel/EmojiTableViewCell.m diff --git a/MLEmojiLabel/EmojiTableViewController.h b/Example/MLEmojiLabel/EmojiTableViewController.h similarity index 100% rename from MLEmojiLabel/EmojiTableViewController.h rename to Example/MLEmojiLabel/EmojiTableViewController.h diff --git a/MLEmojiLabel/EmojiTableViewController.m b/Example/MLEmojiLabel/EmojiTableViewController.m similarity index 100% rename from MLEmojiLabel/EmojiTableViewController.m rename to Example/MLEmojiLabel/EmojiTableViewController.m diff --git a/MLEmojiLabel/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/MLEmojiLabel/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from MLEmojiLabel/Images.xcassets/AppIcon.appiconset/Contents.json rename to Example/MLEmojiLabel/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/MLEmojiLabel/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/MLEmojiLabel/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from MLEmojiLabel/Images.xcassets/LaunchImage.launchimage/Contents.json rename to Example/MLEmojiLabel/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/MLEmojiLabel/MLEmojiLabel-Info.plist b/Example/MLEmojiLabel/MLEmojiLabel-Info.plist similarity index 100% rename from MLEmojiLabel/MLEmojiLabel-Info.plist rename to Example/MLEmojiLabel/MLEmojiLabel-Info.plist diff --git a/MLEmojiLabel/MLEmojiLabel-Prefix.pch b/Example/MLEmojiLabel/MLEmojiLabel-Prefix.pch similarity index 100% rename from MLEmojiLabel/MLEmojiLabel-Prefix.pch rename to Example/MLEmojiLabel/MLEmojiLabel-Prefix.pch diff --git a/MLEmojiLabel/ReceiverTextNodeBkgHL_ios7@2x.png b/Example/MLEmojiLabel/ReceiverTextNodeBkgHL_ios7@2x.png similarity index 100% rename from MLEmojiLabel/ReceiverTextNodeBkgHL_ios7@2x.png rename to Example/MLEmojiLabel/ReceiverTextNodeBkgHL_ios7@2x.png diff --git a/MLEmojiLabel/ReceiverTextNodeBkg_ios7@2x.png b/Example/MLEmojiLabel/ReceiverTextNodeBkg_ios7@2x.png similarity index 100% rename from MLEmojiLabel/ReceiverTextNodeBkg_ios7@2x.png rename to Example/MLEmojiLabel/ReceiverTextNodeBkg_ios7@2x.png diff --git a/MLEmojiLabel/ViewController.h b/Example/MLEmojiLabel/ViewController.h similarity index 100% rename from MLEmojiLabel/ViewController.h rename to Example/MLEmojiLabel/ViewController.h diff --git a/MLEmojiLabel/ViewController.m b/Example/MLEmojiLabel/ViewController.m similarity index 100% rename from MLEmojiLabel/ViewController.m rename to Example/MLEmojiLabel/ViewController.m diff --git a/MLEmojiLabel/en.lproj/InfoPlist.strings b/Example/MLEmojiLabel/en.lproj/InfoPlist.strings similarity index 100% rename from MLEmojiLabel/en.lproj/InfoPlist.strings rename to Example/MLEmojiLabel/en.lproj/InfoPlist.strings diff --git a/MLEmoji/expressionImage_custom.plist b/Example/MLEmojiLabel/expressionImage_custom.plist similarity index 100% rename from MLEmoji/expressionImage_custom.plist rename to Example/MLEmojiLabel/expressionImage_custom.plist diff --git a/MLEmoji/expression_custom.plist b/Example/MLEmojiLabel/expression_custom.plist similarity index 100% rename from MLEmoji/expression_custom.plist rename to Example/MLEmojiLabel/expression_custom.plist diff --git a/MLEmojiLabel/main.m b/Example/MLEmojiLabel/main.m similarity index 100% rename from MLEmojiLabel/main.m rename to Example/MLEmojiLabel/main.m diff --git a/MLEmojiLabelTests/MLEmojiLabelTests-Info.plist b/Example/MLEmojiLabelTests/MLEmojiLabelTests-Info.plist similarity index 100% rename from MLEmojiLabelTests/MLEmojiLabelTests-Info.plist rename to Example/MLEmojiLabelTests/MLEmojiLabelTests-Info.plist diff --git a/MLEmojiLabelTests/MLEmojiLabelTests.m b/Example/MLEmojiLabelTests/MLEmojiLabelTests.m similarity index 100% rename from MLEmojiLabelTests/MLEmojiLabelTests.m rename to Example/MLEmojiLabelTests/MLEmojiLabelTests.m diff --git a/MLEmojiLabelTests/en.lproj/InfoPlist.strings b/Example/MLEmojiLabelTests/en.lproj/InfoPlist.strings similarity index 100% rename from MLEmojiLabelTests/en.lproj/InfoPlist.strings rename to Example/MLEmojiLabelTests/en.lproj/InfoPlist.strings diff --git a/MLEmojiLabel_Common.jpg b/Example/MLEmojiLabel_Common.jpg similarity index 100% rename from MLEmojiLabel_Common.jpg rename to Example/MLEmojiLabel_Common.jpg diff --git a/MLEmojiLabel_TableView.jpg b/Example/MLEmojiLabel_TableView.jpg similarity index 100% rename from MLEmojiLabel_TableView.jpg rename to Example/MLEmojiLabel_TableView.jpg diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 0000000..35c8070 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,4 @@ +source 'https://github.com/CocoaPods/Specs.git' +platform :ios, '6.0' + +pod 'MLEmojiLabel', :path => '../MLEmojiLabel.podspec' \ No newline at end of file diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..99f4fcd --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,17 @@ +PODS: + - MLEmojiLabel (1.0.0): + - TTTAttributedLabel (~> 1.13.4) + - TTTAttributedLabel (1.13.4) + +DEPENDENCIES: + - MLEmojiLabel (from `../MLEmojiLabel.podspec`) + +EXTERNAL SOURCES: + MLEmojiLabel: + :path: "../MLEmojiLabel.podspec" + +SPEC CHECKSUMS: + MLEmojiLabel: ceeab17d10d296cc00636bf201c8da597fdede10 + TTTAttributedLabel: 0a2ac7b2dd726d32a070dafb01446026b11e624f + +COCOAPODS: 0.38.2 diff --git a/Example/Pods/Headers/Private/MLEmojiLabel/MLEmojiLabel.h b/Example/Pods/Headers/Private/MLEmojiLabel/MLEmojiLabel.h new file mode 120000 index 0000000..7ee2649 --- /dev/null +++ b/Example/Pods/Headers/Private/MLEmojiLabel/MLEmojiLabel.h @@ -0,0 +1 @@ +../../../../../Classes/MLEmojiLabel.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/TTTAttributedLabel/TTTAttributedLabel.h b/Example/Pods/Headers/Private/TTTAttributedLabel/TTTAttributedLabel.h new file mode 120000 index 0000000..28a8d21 --- /dev/null +++ b/Example/Pods/Headers/Private/TTTAttributedLabel/TTTAttributedLabel.h @@ -0,0 +1 @@ +../../../TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/MLEmojiLabel/MLEmojiLabel.h b/Example/Pods/Headers/Public/MLEmojiLabel/MLEmojiLabel.h new file mode 120000 index 0000000..7ee2649 --- /dev/null +++ b/Example/Pods/Headers/Public/MLEmojiLabel/MLEmojiLabel.h @@ -0,0 +1 @@ +../../../../../Classes/MLEmojiLabel.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/TTTAttributedLabel/TTTAttributedLabel.h b/Example/Pods/Headers/Public/TTTAttributedLabel/TTTAttributedLabel.h new file mode 120000 index 0000000..28a8d21 --- /dev/null +++ b/Example/Pods/Headers/Public/TTTAttributedLabel/TTTAttributedLabel.h @@ -0,0 +1 @@ +../../../TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/MLEmojiLabel.podspec.json b/Example/Pods/Local Podspecs/MLEmojiLabel.podspec.json new file mode 100644 index 0000000..d2993d6 --- /dev/null +++ b/Example/Pods/Local Podspecs/MLEmojiLabel.podspec.json @@ -0,0 +1,28 @@ +{ + "name": "MLEmojiLabel", + "version": "1.0.0", + "summary": "Autolink @,#xx#,phone,website,email and custom expression for TTTAttributedLabel.", + "homepage": "https://github.com/molon/MLEmojiLabel", + "license": { + "type": "MIT" + }, + "authors": { + "molon": "dudl@qq.com" + }, + "source": { + "git": "https://github.com/molon/MLEmojiLabel.git", + "tag": "1.0.0" + }, + "platforms": { + "ios": "6.0" + }, + "public_header_files": "Classes/**/*.h", + "source_files": "Classes/**/*.{h,m}", + "resources": "Classes/**/*.{bundle,plist}", + "requires_arc": true, + "dependencies": { + "TTTAttributedLabel": [ + "~> 1.13.4" + ] + } +} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock new file mode 100644 index 0000000..99f4fcd --- /dev/null +++ b/Example/Pods/Manifest.lock @@ -0,0 +1,17 @@ +PODS: + - MLEmojiLabel (1.0.0): + - TTTAttributedLabel (~> 1.13.4) + - TTTAttributedLabel (1.13.4) + +DEPENDENCIES: + - MLEmojiLabel (from `../MLEmojiLabel.podspec`) + +EXTERNAL SOURCES: + MLEmojiLabel: + :path: "../MLEmojiLabel.podspec" + +SPEC CHECKSUMS: + MLEmojiLabel: ceeab17d10d296cc00636bf201c8da597fdede10 + TTTAttributedLabel: 0a2ac7b2dd726d32a070dafb01446026b11e624f + +COCOAPODS: 0.38.2 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..4a898ae --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,632 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 487DF718B0C84D190E41FB19D9EA4942 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E8AEA8FFE246FC14F363EB6EF9171F2 /* CoreText.framework */; }; + 498E6920F4FE16DD5C257127F97486B1 /* MLEmojiLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E17C507ED3ADD5FBD9D8A10BC736B0 /* MLEmojiLabel.m */; }; + 7B76F00C586EE7A766C115DD656A08B8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC2355246A56A90F830BBC5394511E6F /* Foundation.framework */; }; + 83CBB0BA10E829F06C1B9B3873C52828 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7C5E1914C110C0A041E48AE9FFB40FA /* QuartzCore.framework */; }; + 8E18408BB873B4FBF9450E2ABFE9C20E /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C2B70B0AFDFD00A9AC6B78E7DAA096 /* Pods-dummy.m */; }; + B04FC5C82F44A3B9FE089D0326A231AB /* TTTAttributedLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A0ACEB8F2A8509734918CDF3FE18F30 /* TTTAttributedLabel-dummy.m */; }; + B599E31AA12F63D2E220CFD373A7DC7A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC2355246A56A90F830BBC5394511E6F /* Foundation.framework */; }; + BA8234AFEA163EBB86AA41A72E6DA048 /* MLEmojiLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DA6DE1A40FAA6381D45C9404E6498FE /* MLEmojiLabel.h */; }; + CA1260279626DDFE7738F5D5DBBCB607 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC2355246A56A90F830BBC5394511E6F /* Foundation.framework */; }; + D7B8B8B2EC85E425ED158BE87DD06002 /* TTTAttributedLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = F4AAAE1A43A371526E4B60CC5B4859EA /* TTTAttributedLabel.h */; }; + E42A65797E5FB26AAC2D7732C6B979B0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6FD50E99DABE035B0185FC9ACE89105 /* UIKit.framework */; }; + EC230A30BE9CD22169A0E842866B23B3 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9E95563D00E592D7C9A573F65ACB86A /* CoreGraphics.framework */; }; + EC8805FF5DE4030CEDC789D666217536 /* MLEmojiLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 30E6BC6E9D91F9D67CAB3BE9E7FA5CDD /* MLEmojiLabel-dummy.m */; }; + F95F346581E5909525CD7EA6480F3291 /* TTTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = AD15EEB99DE58D11516CCD4CD2AA1A76 /* TTTAttributedLabel.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 30424DA45319661C0DDEB446E508339B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 55E3BAD594CAB8A0672DDE1E423B67E8; + remoteInfo = TTTAttributedLabel; + }; + 8F01A4498FB910D1C154CA43D87B9621 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C27616FB8D3577FC1DBD88B50C921195; + remoteInfo = MLEmojiLabel; + }; + CDF662AE994D82CF72028548DFCC65CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 55E3BAD594CAB8A0672DDE1E423B67E8; + remoteInfo = TTTAttributedLabel; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 005E225426357BDF1DFDC94AC8FF352B /* MLEmojiLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MLEmojiLabel.xcconfig; sourceTree = ""; }; + 0A0ACEB8F2A8509734918CDF3FE18F30 /* TTTAttributedLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TTTAttributedLabel-dummy.m"; sourceTree = ""; }; + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; + 1DA6DE1A40FAA6381D45C9404E6498FE /* MLEmojiLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MLEmojiLabel.h; sourceTree = ""; }; + 2243DB12DA32C6B2C89DB386CDBB70FF /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 2E8AEA8FFE246FC14F363EB6EF9171F2 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; }; + 30E6BC6E9D91F9D67CAB3BE9E7FA5CDD /* MLEmojiLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MLEmojiLabel-dummy.m"; sourceTree = ""; }; + 451AE37DF6B0CD9B0D381BF2C0329605 /* MLEmojiLabel-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "MLEmojiLabel-Private.xcconfig"; sourceTree = ""; }; + 465C6D6D38ACDCEDEE00D26CEBE73CDE /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 485859F71E32C77C67BA495AAD9A1795 /* MLEmojiLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MLEmojiLabel-prefix.pch"; sourceTree = ""; }; + 4DAA0AABB9167E58B528CB7E68A160C5 /* libMLEmojiLabel.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMLEmojiLabel.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 59C153FF597A4675BA91337C7408AEF3 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; + 755421FB5A7C1F31690992A23724EA92 /* TTTAttributedLabel-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "TTTAttributedLabel-Private.xcconfig"; sourceTree = ""; }; + 7CEF42CBD20A2731CB0E4D9382A97A43 /* TTTAttributedLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TTTAttributedLabel.xcconfig; sourceTree = ""; }; + 8FEE9039E1950A798175BE50B4AFACAA /* MLEmoji_Expression.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; path = MLEmoji_Expression.bundle; sourceTree = ""; }; + AC2355246A56A90F830BBC5394511E6F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + AD15EEB99DE58D11516CCD4CD2AA1A76 /* TTTAttributedLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TTTAttributedLabel.m; path = TTTAttributedLabel/TTTAttributedLabel.m; sourceTree = ""; }; + AE39D088A626FA2DAC1BBCB2CA1FA830 /* MLEmoji_Expression.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = MLEmoji_Expression.plist; sourceTree = ""; }; + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; + C6FD50E99DABE035B0185FC9ACE89105 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + D50D1BDE0A951409CBEC9F8A526FEDD4 /* MLEmoji_ExpressionImage.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = MLEmoji_ExpressionImage.plist; sourceTree = ""; }; + E7C5E1914C110C0A041E48AE9FFB40FA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + E9E95563D00E592D7C9A573F65ACB86A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + EB28DBC4846B0724DDE0C52B21A6526F /* libTTTAttributedLabel.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTTTAttributedLabel.a; sourceTree = BUILT_PRODUCTS_DIR; }; + F4AAAE1A43A371526E4B60CC5B4859EA /* TTTAttributedLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TTTAttributedLabel.h; path = TTTAttributedLabel/TTTAttributedLabel.h; sourceTree = ""; }; + F4E17C507ED3ADD5FBD9D8A10BC736B0 /* MLEmojiLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MLEmojiLabel.m; sourceTree = ""; }; + F9C2B70B0AFDFD00A9AC6B78E7DAA096 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + FE021CFD1E720E2ABCC4B4ED2251D5B4 /* TTTAttributedLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TTTAttributedLabel-prefix.pch"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 024E3DD65AA54F6D8D84A2B1597904FE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CA1260279626DDFE7738F5D5DBBCB607 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 073DF97A2C906FA814882CA7CA7C40D5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B599E31AA12F63D2E220CFD373A7DC7A /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6766305E3267C2C0356DA51C8445775A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EC230A30BE9CD22169A0E842866B23B3 /* CoreGraphics.framework in Frameworks */, + 487DF718B0C84D190E41FB19D9EA4942 /* CoreText.framework in Frameworks */, + 7B76F00C586EE7A766C115DD656A08B8 /* Foundation.framework in Frameworks */, + 83CBB0BA10E829F06C1B9B3873C52828 /* QuartzCore.framework in Frameworks */, + E42A65797E5FB26AAC2D7732C6B979B0 /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 20B56609144CE204DFA8221F742B2D76 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6169D5CC70045BF98F072CE58EB48579 /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 4A6797880510B7AD41AAD2555FB51A08 /* Support Files */ = { + isa = PBXGroup; + children = ( + 005E225426357BDF1DFDC94AC8FF352B /* MLEmojiLabel.xcconfig */, + 451AE37DF6B0CD9B0D381BF2C0329605 /* MLEmojiLabel-Private.xcconfig */, + 30E6BC6E9D91F9D67CAB3BE9E7FA5CDD /* MLEmojiLabel-dummy.m */, + 485859F71E32C77C67BA495AAD9A1795 /* MLEmojiLabel-prefix.pch */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/MLEmojiLabel"; + sourceTree = ""; + }; + 564B405E65BE5B18F313053935E3CD82 /* TTTAttributedLabel */ = { + isa = PBXGroup; + children = ( + F4AAAE1A43A371526E4B60CC5B4859EA /* TTTAttributedLabel.h */, + AD15EEB99DE58D11516CCD4CD2AA1A76 /* TTTAttributedLabel.m */, + F283CCC381D995B0D88B0642659D6EED /* Support Files */, + ); + path = TTTAttributedLabel; + sourceTree = ""; + }; + 6169D5CC70045BF98F072CE58EB48579 /* iOS */ = { + isa = PBXGroup; + children = ( + E9E95563D00E592D7C9A573F65ACB86A /* CoreGraphics.framework */, + 2E8AEA8FFE246FC14F363EB6EF9171F2 /* CoreText.framework */, + AC2355246A56A90F830BBC5394511E6F /* Foundation.framework */, + E7C5E1914C110C0A041E48AE9FFB40FA /* QuartzCore.framework */, + C6FD50E99DABE035B0185FC9ACE89105 /* UIKit.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 771B33E0B0CE3DCA35CA5C2B4AC00B7D /* Classes */ = { + isa = PBXGroup; + children = ( + 8FEE9039E1950A798175BE50B4AFACAA /* MLEmoji_Expression.bundle */, + AE39D088A626FA2DAC1BBCB2CA1FA830 /* MLEmoji_Expression.plist */, + D50D1BDE0A951409CBEC9F8A526FEDD4 /* MLEmoji_ExpressionImage.plist */, + ); + path = Classes; + sourceTree = ""; + }; + 7DB346D0F39D3F0E887471402A8071AB = { + isa = PBXGroup; + children = ( + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, + DDCB641BB9405691BCC48A9A66459AC9 /* Development Pods */, + 20B56609144CE204DFA8221F742B2D76 /* Frameworks */, + FC06AE555EA9FFC5AA21CB25EFBEEB6C /* Pods */, + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */, + ); + sourceTree = ""; + }; + 8473777E5D4641401BDA6CE436E40346 /* MLEmojiLabel */ = { + isa = PBXGroup; + children = ( + 9FB08EFFECE66CDED4474E10E783B1C2 /* Classes */, + C2E283755EA9CDDDEFB34F770EC4BE69 /* Resources */, + 4A6797880510B7AD41AAD2555FB51A08 /* Support Files */, + ); + name = MLEmojiLabel; + path = ../..; + sourceTree = ""; + }; + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */ = { + isa = PBXGroup; + children = ( + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */, + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */, + F9C2B70B0AFDFD00A9AC6B78E7DAA096 /* Pods-dummy.m */, + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */, + 59C153FF597A4675BA91337C7408AEF3 /* Pods.debug.xcconfig */, + 465C6D6D38ACDCEDEE00D26CEBE73CDE /* Pods.release.xcconfig */, + ); + name = Pods; + path = "Target Support Files/Pods"; + sourceTree = ""; + }; + 9FB08EFFECE66CDED4474E10E783B1C2 /* Classes */ = { + isa = PBXGroup; + children = ( + 1DA6DE1A40FAA6381D45C9404E6498FE /* MLEmojiLabel.h */, + F4E17C507ED3ADD5FBD9D8A10BC736B0 /* MLEmojiLabel.m */, + ); + path = Classes; + sourceTree = ""; + }; + C2E283755EA9CDDDEFB34F770EC4BE69 /* Resources */ = { + isa = PBXGroup; + children = ( + 771B33E0B0CE3DCA35CA5C2B4AC00B7D /* Classes */, + ); + name = Resources; + sourceTree = ""; + }; + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { + isa = PBXGroup; + children = ( + 4DAA0AABB9167E58B528CB7E68A160C5 /* libMLEmojiLabel.a */, + 2243DB12DA32C6B2C89DB386CDBB70FF /* libPods.a */, + EB28DBC4846B0724DDE0C52B21A6526F /* libTTTAttributedLabel.a */, + ); + name = Products; + sourceTree = ""; + }; + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + DDCB641BB9405691BCC48A9A66459AC9 /* Development Pods */ = { + isa = PBXGroup; + children = ( + 8473777E5D4641401BDA6CE436E40346 /* MLEmojiLabel */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + F283CCC381D995B0D88B0642659D6EED /* Support Files */ = { + isa = PBXGroup; + children = ( + 7CEF42CBD20A2731CB0E4D9382A97A43 /* TTTAttributedLabel.xcconfig */, + 755421FB5A7C1F31690992A23724EA92 /* TTTAttributedLabel-Private.xcconfig */, + 0A0ACEB8F2A8509734918CDF3FE18F30 /* TTTAttributedLabel-dummy.m */, + FE021CFD1E720E2ABCC4B4ED2251D5B4 /* TTTAttributedLabel-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/TTTAttributedLabel"; + sourceTree = ""; + }; + FC06AE555EA9FFC5AA21CB25EFBEEB6C /* Pods */ = { + isa = PBXGroup; + children = ( + 564B405E65BE5B18F313053935E3CD82 /* TTTAttributedLabel */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 757C7CDB402CD2CE81574BEC59FEC0BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D7B8B8B2EC85E425ED158BE87DD06002 /* TTTAttributedLabel.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5E763ADEF907D4C4E891906673EAC5F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + BA8234AFEA163EBB86AA41A72E6DA048 /* MLEmojiLabel.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 55E3BAD594CAB8A0672DDE1E423B67E8 /* TTTAttributedLabel */ = { + isa = PBXNativeTarget; + buildConfigurationList = 253D90DD0BC788379FA87F09AEF043B8 /* Build configuration list for PBXNativeTarget "TTTAttributedLabel" */; + buildPhases = ( + 7F293B21C582473833DB4F482C2996F8 /* Sources */, + 6766305E3267C2C0356DA51C8445775A /* Frameworks */, + 757C7CDB402CD2CE81574BEC59FEC0BC /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TTTAttributedLabel; + productName = TTTAttributedLabel; + productReference = EB28DBC4846B0724DDE0C52B21A6526F /* libTTTAttributedLabel.a */; + productType = "com.apple.product-type.library.static"; + }; + 81111B293B3E994D36172A6E2AEB59FE /* Pods */ = { + isa = PBXNativeTarget; + buildConfigurationList = 66C01FA3C460BB5008B278DE79D16CB4 /* Build configuration list for PBXNativeTarget "Pods" */; + buildPhases = ( + FF89D8CD97A47B8C98BEC37D559A97AE /* Sources */, + 024E3DD65AA54F6D8D84A2B1597904FE /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ABBF358E93508EBB679B8128E90ED57D /* PBXTargetDependency */, + B09301E64E7C4C700786D72AA37D63B5 /* PBXTargetDependency */, + ); + name = Pods; + productName = Pods; + productReference = 2243DB12DA32C6B2C89DB386CDBB70FF /* libPods.a */; + productType = "com.apple.product-type.library.static"; + }; + C27616FB8D3577FC1DBD88B50C921195 /* MLEmojiLabel */ = { + isa = PBXNativeTarget; + buildConfigurationList = EF18C1F201DADE3AB1919DEC440DFE2B /* Build configuration list for PBXNativeTarget "MLEmojiLabel" */; + buildPhases = ( + B20D9572A99C9CF6C98CF7F7AA8214E0 /* Sources */, + 073DF97A2C906FA814882CA7CA7C40D5 /* Frameworks */, + A5E763ADEF907D4C4E891906673EAC5F /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 46D04E2B6E60CDFE1CAE35CBC0A64820 /* PBXTargetDependency */, + ); + name = MLEmojiLabel; + productName = MLEmojiLabel; + productReference = 4DAA0AABB9167E58B528CB7E68A160C5 /* libMLEmojiLabel.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 0700; + }; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + C27616FB8D3577FC1DBD88B50C921195 /* MLEmojiLabel */, + 81111B293B3E994D36172A6E2AEB59FE /* Pods */, + 55E3BAD594CAB8A0672DDE1E423B67E8 /* TTTAttributedLabel */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 7F293B21C582473833DB4F482C2996F8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B04FC5C82F44A3B9FE089D0326A231AB /* TTTAttributedLabel-dummy.m in Sources */, + F95F346581E5909525CD7EA6480F3291 /* TTTAttributedLabel.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B20D9572A99C9CF6C98CF7F7AA8214E0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EC8805FF5DE4030CEDC789D666217536 /* MLEmojiLabel-dummy.m in Sources */, + 498E6920F4FE16DD5C257127F97486B1 /* MLEmojiLabel.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FF89D8CD97A47B8C98BEC37D559A97AE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8E18408BB873B4FBF9450E2ABFE9C20E /* Pods-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 46D04E2B6E60CDFE1CAE35CBC0A64820 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TTTAttributedLabel; + target = 55E3BAD594CAB8A0672DDE1E423B67E8 /* TTTAttributedLabel */; + targetProxy = CDF662AE994D82CF72028548DFCC65CC /* PBXContainerItemProxy */; + }; + ABBF358E93508EBB679B8128E90ED57D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = MLEmojiLabel; + target = C27616FB8D3577FC1DBD88B50C921195 /* MLEmojiLabel */; + targetProxy = 8F01A4498FB910D1C154CA43D87B9621 /* PBXContainerItemProxy */; + }; + B09301E64E7C4C700786D72AA37D63B5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TTTAttributedLabel; + target = 55E3BAD594CAB8A0672DDE1E423B67E8 /* TTTAttributedLabel */; + targetProxy = 30424DA45319661C0DDEB446E508339B /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 411064DE13357C80708A0129AF7C84F6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 59C153FF597A4675BA91337C7408AEF3 /* Pods.debug.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 6569F07DC21AD8B72752685013E3D9D8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = YES; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 68E71625ED61811ED2ADA7EC5A32CC0F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 451AE37DF6B0CD9B0D381BF2C0329605 /* MLEmojiLabel-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/MLEmojiLabel/MLEmojiLabel-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 771311D4ED56CAE2AD04017A78C2F7D0 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 451AE37DF6B0CD9B0D381BF2C0329605 /* MLEmojiLabel-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/MLEmojiLabel/MLEmojiLabel-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + A14E2444F162A20E3776820E0ADFFB52 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E2572E09139B9BAB037BB1B756340624 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 755421FB5A7C1F31690992A23724EA92 /* TTTAttributedLabel-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TTTAttributedLabel/TTTAttributedLabel-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + F7F76E71290D6E7F7B1A0CA862056B77 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 465C6D6D38ACDCEDEE00D26CEBE73CDE /* Pods.release.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + F999C3182ED5C5647DECF665844992D8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 755421FB5A7C1F31690992A23724EA92 /* TTTAttributedLabel-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TTTAttributedLabel/TTTAttributedLabel-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 253D90DD0BC788379FA87F09AEF043B8 /* Build configuration list for PBXNativeTarget "TTTAttributedLabel" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F999C3182ED5C5647DECF665844992D8 /* Debug */, + E2572E09139B9BAB037BB1B756340624 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6569F07DC21AD8B72752685013E3D9D8 /* Debug */, + A14E2444F162A20E3776820E0ADFFB52 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 66C01FA3C460BB5008B278DE79D16CB4 /* Build configuration list for PBXNativeTarget "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 411064DE13357C80708A0129AF7C84F6 /* Debug */, + F7F76E71290D6E7F7B1A0CA862056B77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + EF18C1F201DADE3AB1919DEC440DFE2B /* Build configuration list for PBXNativeTarget "MLEmojiLabel" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 68E71625ED61811ED2ADA7EC5A32CC0F /* Debug */, + 771311D4ED56CAE2AD04017A78C2F7D0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; +} diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/MLEmojiLabel.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/MLEmojiLabel.xcscheme new file mode 100644 index 0000000..5e3a58c --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/MLEmojiLabel.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/Pods.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/Pods.xcscheme new file mode 100644 index 0000000..9e006f5 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/Pods.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/TTTAttributedLabel.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/TTTAttributedLabel.xcscheme new file mode 100644 index 0000000..b41f325 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/TTTAttributedLabel.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ac0c113 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/molon.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,42 @@ + + + + + SchemeUserState + + MLEmojiLabel.xcscheme + + isShown + + + Pods.xcscheme + + isShown + + + TTTAttributedLabel.xcscheme + + isShown + + + + SuppressBuildableAutocreation + + 55E3BAD594CAB8A0672DDE1E423B67E8 + + primary + + + 81111B293B3E994D36172A6E2AEB59FE + + primary + + + C27616FB8D3577FC1DBD88B50C921195 + + primary + + + + + diff --git a/Example/Pods/TTTAttributedLabel/LICENSE b/Example/Pods/TTTAttributedLabel/LICENSE new file mode 100644 index 0000000..11028ca --- /dev/null +++ b/Example/Pods/TTTAttributedLabel/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Mattt Thompson (http://mattt.me/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Example/Pods/TTTAttributedLabel/README.md b/Example/Pods/TTTAttributedLabel/README.md new file mode 100644 index 0000000..6d17fe4 --- /dev/null +++ b/Example/Pods/TTTAttributedLabel/README.md @@ -0,0 +1,123 @@ +# TTTAttributedLabel + +[![Circle CI](https://circleci.com/gh/TTTAttributedLabel/TTTAttributedLabel.svg?style=svg)](https://circleci.com/gh/TTTAttributedLabel/TTTAttributedLabel) [![Documentation](http://img.shields.io/cocoapods/v/TTTAttributedLabel.svg?style=flat)](http://cocoadocs.org/docsets/TTTAttributedLabel/) [![Coverage Status](https://coveralls.io/repos/TTTAttributedLabel/TTTAttributedLabel/badge.svg)](https://coveralls.io/r/TTTAttributedLabel/TTTAttributedLabel) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) + +**A drop-in replacement for `UILabel` that supports attributes, data detectors, links, and more** + +`TTTAttributedLabel` is a drop-in replacement for `UILabel` providing a simple way to performantly render [attributed strings](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html). As a bonus, it also supports link embedding, both automatically with `NSTextCheckingTypes` and manually by specifying a range for a URL, address, phone number, event, or transit information. + +Even though `UILabel` received support for `NSAttributedString` in iOS 6, `TTTAttributedLabel` has several unique features: + +- Compatibility with iOS >= 4.3 +- Automatic data detection +- Manual link embedding +- Label style inheritance for attributed strings +- Custom styling for links within the label +- Long-press gestures in addition to tap gestures for links + +It also includes advanced paragraph style properties: + +- `attributedTruncationToken` +- `firstLineIndent` +- `highlightedShadowRadius` +- `highlightedShadowOffset` +- `highlightedShadowColor` +- `lineHeightMultiple` +- `lineSpacing` +- `minimumLineHeight` +- `maximumLineHeight` +- `shadowRadius` +- `textInsets` +- `verticalAlignment` + +### Accessibility + +As of version 1.10.0, `TTTAttributedLabel` supports VoiceOver through the `UIAccessibilityElement` protocol. Each link can be individually selected, with an `accessibilityLabel` equal to its string value, and a corresponding `accessibilityValue` for URL, phone number, and date links. Developers who wish to change this behavior or provide custom values should create a subclass and override `accessibilityElements`. + +## Communication + +- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/tttattributedlabel). (Tag `tttattributedlabel`) +- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/tttattributedlabel). +- If you **found a bug**, open an issue. +- If you **have a feature request**, open an issue. +- If you **want to contribute**, submit a pull request. + +## Installation + +[CocoaPods](http://cocoapods.org) is the recommended method of installing `TTTAttributedLabel`. Simply add the following line to your `Podfile`: + +#### Podfile + +```ruby +pod 'TTTAttributedLabel' +``` + +## Usage + +``` objective-c +TTTAttributedLabel *label = [[TTTAttributedLabel alloc] initWithFrame:CGRectZero]; +label.font = [UIFont systemFontOfSize:14]; +label.textColor = [UIColor darkGrayColor]; +label.lineBreakMode = NSLineBreakByWordWrapping; +label.numberOfLines = 0; + +// If you're using a simple `NSString` for your text, +// assign to the `text` property last so it can inherit other label properties. +NSString *text = @"Lorem ipsum dolor sit amet"; +[label setText:text afterInheritingLabelAttributesAndConfiguringWithBlock:^ NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) { + NSRange boldRange = [[mutableAttributedString string] rangeOfString:@"ipsum dolor" options:NSCaseInsensitiveSearch]; + NSRange strikeRange = [[mutableAttributedString string] rangeOfString:@"sit amet" options:NSCaseInsensitiveSearch]; + + // Core Text APIs use C functions without a direct bridge to UIFont. See Apple's "Core Text Programming Guide" to learn how to configure string attributes. + UIFont *boldSystemFont = [UIFont boldSystemFontOfSize:14]; + CTFontRef font = CTFontCreateWithName((__bridge CFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize, NULL); + if (font) { + [mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(id)font range:boldRange]; + [mutableAttributedString addAttribute:kTTTStrikeOutAttributeName value:@YES range:strikeRange]; + CFRelease(font); + } + + return mutableAttributedString; +}]; +``` + +First, we create and configure the label, the same way you would instantiate `UILabel`. Any text properties that are set on the label are inherited as the base attributes when using the `-setText:afterInheritingLabelAttributesAndConfiguringWithBlock:` method. In this example, the substring "ipsum dolar", would appear in bold, such that the label would read "Lorem **ipsum dolar** sit amet", in size 14 Helvetica, with a dark gray color. + +The normal `setText:` setter accepts both `NSString` and `NSAttributedString`; in the latter case, the attributed string is directly set, without inheriting the base style of the label. + +### Links and Data Detection + +In addition to supporting rich text, `TTTAttributedLabel` can automatically detect links for dates, addresses, URLs, phone numbers, transit information, and allows you to embed your own links. + +``` objective-c +label.enabledTextCheckingTypes = NSTextCheckingTypeLink; // Automatically detect links when the label text is subsequently changed +label.delegate = self; // Delegate methods are called when the user taps on a link (see `TTTAttributedLabelDelegate` protocol) + +label.text = @"Fork me on GitHub! (http://github.com/mattt/TTTAttributedLabel/)"; // Repository URL will be automatically detected and linked + +NSRange range = [label.text rangeOfString:@"me"]; +[label addLinkToURL:[NSURL URLWithString:@"http://github.com/mattt/"] withRange:range]; // Embedding a custom link in a substring +``` + +## Demo + +```bash +pod try TTTAttributedLabel +``` + +...or clone this repo and build and run/test the `Espressos` project in Xcode to see `TTTAttributedLabel` in action. If you don't have [CocoaPods](http://cocoapods.org) installed, grab it with `[sudo] gem install cocoapods`. + +```bash +cd Example +pod install +open Espressos.xcworkspace +``` + +## Requirements + +- iOS 4.3+ (iOS 6+ Base SDK) +- Xcode 6 + +## License + +`TTTAttributedLabel` is available under the MIT license. See the LICENSE file for more info. diff --git a/MLEmoji/TTTAttributedLabel/TTTAttributedLabel.h b/Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h similarity index 99% rename from MLEmoji/TTTAttributedLabel/TTTAttributedLabel.h rename to Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h index 2cda489..7e9691e 100644 --- a/MLEmoji/TTTAttributedLabel/TTTAttributedLabel.h +++ b/Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h @@ -169,7 +169,7 @@ IB_DESIGNABLE /** Indicates if links will be detected within an extended area around the touch to emulate the link detection behaviour of UIWebView. - Default value is NO. Enabling this may adversely impact performance. + Default value is YES. Disable to to improve performance on long labels. */ @property (nonatomic, assign) BOOL extendsLinkTouchArea; diff --git a/MLEmoji/TTTAttributedLabel/TTTAttributedLabel.m b/Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.m similarity index 97% rename from MLEmoji/TTTAttributedLabel/TTTAttributedLabel.m rename to Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.m index ff51fd5..264a0c3 100644 --- a/MLEmoji/TTTAttributedLabel/TTTAttributedLabel.m +++ b/Example/Pods/TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.m @@ -298,7 +298,7 @@ static inline CGSize CTFramesetterSuggestFrameSizeForAttributedStringWithConstra } CFRelease(frame); - CGPathRelease(path); + CFRelease(path); } CGSize suggestedSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, rangeToSize, NULL, constraints, NULL); @@ -306,23 +306,6 @@ static inline CGSize CTFramesetterSuggestFrameSizeForAttributedStringWithConstra return CGSizeMake(CGFloat_ceil(suggestedSize.width), CGFloat_ceil(suggestedSize.height)); } -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 - -@interface TTTAccessibilityElement : UIAccessibilityElement -@property (nonatomic, weak) UIView *superview; -@property (nonatomic, assign) CGRect boundingRect; -@end - -@implementation TTTAccessibilityElement - -- (CGRect)accessibilityFrame { - return UIAccessibilityConvertFrameToScreenCoordinates(self.boundingRect, self.superview); -} - -@end - -#endif - @interface TTTAttributedLabel () @property (readwrite, nonatomic, copy) NSAttributedString *inactiveAttributedText; @property (readwrite, nonatomic, copy) NSAttributedString *renderedAttributedText; @@ -420,7 +403,7 @@ - (void)commonInit { self.linkAttributes = [NSDictionary dictionaryWithDictionary:mutableLinkAttributes]; self.activeLinkAttributes = [NSDictionary dictionaryWithDictionary:mutableActiveLinkAttributes]; self.inactiveLinkAttributes = [NSDictionary dictionaryWithDictionary:mutableInactiveLinkAttributes]; - _extendsLinkTouchArea = NO; + _extendsLinkTouchArea = YES; _longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressGestureDidFire:)]; self.longPressGestureRecognizer.delegate = self; @@ -758,7 +741,7 @@ - (CFIndex)characterIndexAtPoint:(CGPoint)p { CGPathAddRect(path, NULL, textRect); CTFrameRef frame = CTFramesetterCreateFrame([self framesetter], CFRangeMake(0, (CFIndex)[self.attributedText length]), path, NULL); if (frame == NULL) { - CGPathRelease(path); + CFRelease(path); return NSNotFound; } @@ -766,7 +749,7 @@ - (CFIndex)characterIndexAtPoint:(CGPoint)p { NSInteger numberOfLines = self.numberOfLines > 0 ? MIN(self.numberOfLines, CFArrayGetCount(lines)) : CFArrayGetCount(lines); if (numberOfLines == 0) { CFRelease(frame); - CGPathRelease(path); + CFRelease(path); return NSNotFound; } @@ -807,7 +790,7 @@ - (CFIndex)characterIndexAtPoint:(CGPoint)p { } CFRelease(frame); - CGPathRelease(path); + CFRelease(path); return idx; } @@ -964,23 +947,10 @@ - (void)drawFramesetter:(CTFramesetterRef)framesetter } [self drawStrike:frame inRect:rect context:c]; - - //MARK: molon修改 供继承 - [self drawOtherForEndWithFrame:frame inRect:rect context:c]; - //MARK.. - - CFRelease(frame); - CGPathRelease(path); -} -//MARK: molon修改 供继承 -- (void)drawOtherForEndWithFrame:(CTFrameRef)frame - inRect:(CGRect)rect - context:(CGContextRef)c -{ - //这里预留留作重载 + CFRelease(frame); + CFRelease(path); } -//MARK.. - (void)drawBackground:(CTFrameRef)frame inRect:(CGRect)rect @@ -1151,7 +1121,7 @@ - (void)setText:(id)text { self.activeLink = nil; self.linkModels = [NSArray array]; - if (text && self.attributedText && self.enabledTextCheckingTypes) { + if (self.attributedText && self.enabledTextCheckingTypes) { #if __IPHONE_OS_VERSION_MIN_REQUIRED < 50000 __unsafe_unretained __typeof(self)weakSelf = self; #else @@ -1414,10 +1384,9 @@ - (NSArray *)accessibilityElements { NSString *accessibilityValue = link.accessibilityValue; if (accessibilityLabel) { - TTTAccessibilityElement *linkElement = [[TTTAccessibilityElement alloc] initWithAccessibilityContainer:self]; + UIAccessibilityElement *linkElement = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:self]; linkElement.accessibilityTraits = UIAccessibilityTraitLink; - linkElement.boundingRect = [self boundingRectForCharacterRange:link.result.range]; - linkElement.superview = self; + linkElement.accessibilityFrame = [self convertRect:[self boundingRectForCharacterRange:link.result.range] toView:self.window]; linkElement.accessibilityLabel = accessibilityLabel; if (![accessibilityLabel isEqualToString:accessibilityValue]) { @@ -1428,12 +1397,11 @@ - (NSArray *)accessibilityElements { } } - TTTAccessibilityElement *baseElement = [[TTTAccessibilityElement alloc] initWithAccessibilityContainer:self]; + UIAccessibilityElement *baseElement = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:self]; baseElement.accessibilityLabel = [super accessibilityLabel]; baseElement.accessibilityHint = [super accessibilityHint]; baseElement.accessibilityValue = [super accessibilityValue]; - baseElement.boundingRect = self.bounds; - baseElement.superview = self; + baseElement.accessibilityFrame = [self convertRect:self.bounds toView:self.window]; baseElement.accessibilityTraits = [super accessibilityTraits]; [mutableAccessibilityItems addObject:baseElement]; @@ -1602,13 +1570,7 @@ - (void)touchesEnded:(NSSet *)touches default: break; } - - //MARK:molon 修改,需要继承 - if ([self didSelectLinkWithTextCheckingResult:result]){ - return; - } - //.. - + // Fallback to `attributedLabel:didSelectLinkWithTextCheckingResult:` if no other delegate method matched. if ([self.delegate respondsToSelector:@selector(attributedLabel:didSelectLinkWithTextCheckingResult:)]) { [self.delegate attributedLabel:self didSelectLinkWithTextCheckingResult:result]; @@ -1618,13 +1580,6 @@ - (void)touchesEnded:(NSSet *)touches } } -//MARK:molon 修改,需要继承 -- (BOOL)didSelectLinkWithTextCheckingResult:(NSTextCheckingResult*)result -{ - return NO; -} -//.. - - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { diff --git a/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-Private.xcconfig b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-Private.xcconfig new file mode 100644 index 0000000..32390bc --- /dev/null +++ b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-Private.xcconfig @@ -0,0 +1,5 @@ +#include "MLEmojiLabel.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MLEmojiLabel" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MLEmojiLabel" "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-dummy.m b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-dummy.m new file mode 100644 index 0000000..8e37335 --- /dev/null +++ b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_MLEmojiLabel : NSObject +@end +@implementation PodsDummy_MLEmojiLabel +@end diff --git a/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-prefix.pch b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel.xcconfig b/Example/Pods/Target Support Files/MLEmojiLabel/MLEmojiLabel.xcconfig new file mode 100644 index 0000000..e69de29 diff --git a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown new file mode 100644 index 0000000..6f9b945 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown @@ -0,0 +1,50 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## MLEmojiLabel + +The MIT License (MIT) + +Copyright (c) 2014 molon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## TTTAttributedLabel + +Copyright (c) 2011 Mattt Thompson (http://mattt.me/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist new file mode 100644 index 0000000..f734626 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist @@ -0,0 +1,84 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 molon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + Title + MLEmojiLabel + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011 Mattt Thompson (http://mattt.me/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + Title + TTTAttributedLabel + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - http://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods/Pods-dummy.m b/Example/Pods/Target Support Files/Pods/Pods-dummy.m new file mode 100644 index 0000000..ade64bd --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods : NSObject +@end +@implementation PodsDummy_Pods +@end diff --git a/Example/Pods/Target Support Files/Pods/Pods-resources.sh b/Example/Pods/Target Support Files/Pods/Pods-resources.sh new file mode 100755 index 0000000..cb1f679 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods-resources.sh @@ -0,0 +1,105 @@ +#!/bin/sh +set -e + +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +realpath() { + DIRECTORY="$(cd "${1%/*}" && pwd)" + FILENAME="${1##*/}" + echo "$DIRECTORY/$FILENAME" +} + +install_resource() +{ + case $1 in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.framework) + echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" + xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + /*) + echo "$1" + echo "$1" >> "$RESOURCES_TO_COPY" + ;; + *) + echo "${PODS_ROOT}/$1" + echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" + ;; + esac +} +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_resource "../../Classes/MLEmoji_Expression.plist" + install_resource "../../Classes/MLEmoji_ExpressionImage.plist" + install_resource "../../Classes/MLEmoji_Expression.bundle" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_resource "../../Classes/MLEmoji_Expression.plist" + install_resource "../../Classes/MLEmoji_ExpressionImage.plist" + install_resource "../../Classes/MLEmoji_Expression.bundle" +fi + +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +then + case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; + esac + + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "`realpath $PODS_ROOT`*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi diff --git a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig new file mode 100644 index 0000000..88b02fd --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -0,0 +1,5 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MLEmojiLabel" "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/MLEmojiLabel" -isystem "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +OTHER_LDFLAGS = $(inherited) -ObjC -l"MLEmojiLabel" -l"TTTAttributedLabel" -framework "CoreGraphics" -framework "CoreText" -framework "QuartzCore" -framework "UIKit" +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig new file mode 100644 index 0000000..88b02fd --- /dev/null +++ b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -0,0 +1,5 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MLEmojiLabel" "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/MLEmojiLabel" -isystem "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +OTHER_LDFLAGS = $(inherited) -ObjC -l"MLEmojiLabel" -l"TTTAttributedLabel" -framework "CoreGraphics" -framework "CoreText" -framework "QuartzCore" -framework "UIKit" +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-Private.xcconfig b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-Private.xcconfig new file mode 100644 index 0000000..39a0603 --- /dev/null +++ b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-Private.xcconfig @@ -0,0 +1,6 @@ +#include "TTTAttributedLabel.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TTTAttributedLabel" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MLEmojiLabel" "${PODS_ROOT}/Headers/Public/TTTAttributedLabel" +OTHER_LDFLAGS = ${TTTATTRIBUTEDLABEL_OTHER_LDFLAGS} +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-dummy.m b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-dummy.m new file mode 100644 index 0000000..7e82a99 --- /dev/null +++ b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_TTTAttributedLabel : NSObject +@end +@implementation PodsDummy_TTTAttributedLabel +@end diff --git a/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-prefix.pch b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel.xcconfig b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel.xcconfig new file mode 100644 index 0000000..de60df1 --- /dev/null +++ b/Example/Pods/Target Support Files/TTTAttributedLabel/TTTAttributedLabel.xcconfig @@ -0,0 +1 @@ +TTTATTRIBUTEDLABEL_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "CoreText" -framework "QuartzCore" -framework "UIKit" \ No newline at end of file diff --git a/README.md b/Example/README.md similarity index 100% rename from README.md rename to Example/README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1b30f21 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 molon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/MLEmojiLabel.podspec b/MLEmojiLabel.podspec new file mode 100644 index 0000000..2c9804d --- /dev/null +++ b/MLEmojiLabel.podspec @@ -0,0 +1,23 @@ +Pod::Spec.new do |s| +s.name = "MLEmojiLabel" +s.version = "1.0.0" +s.summary = "Autolink @,#xx#,phone,website,email and custom expression for TTTAttributedLabel." + +s.homepage = 'https://github.com/molon/MLEmojiLabel' +s.license = { :type => 'MIT'} +s.author = { "molon" => "dudl@qq.com" } + +s.source = { +:git => "https://github.com/molon/MLEmojiLabel.git", +:tag => "#{s.version}" +} + +s.platform = :ios, '6.0' +s.public_header_files = 'Classes/**/*.h' +s.source_files = 'Classes/**/*.{h,m}' +s.resource = "Classes/**/*.{bundle,plist}" +s.requires_arc = true + +s.dependency 'TTTAttributedLabel', '~> 1.13.4' + +end diff --git a/MLEmojiLabel.xcodeproj/project.pbxproj b/MLEmojiLabel.xcodeproj/project.pbxproj deleted file mode 100644 index 65f82c9..0000000 --- a/MLEmojiLabel.xcodeproj/project.pbxproj +++ /dev/null @@ -1,977 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 364385B11A369B0E00C220CF /* EmojiTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 364385AE1A369B0D00C220CF /* EmojiTableViewCell.m */; }; - 364385B21A369B0E00C220CF /* EmojiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 364385B01A369B0D00C220CF /* EmojiTableViewController.m */; }; - 364703701A384D4000597BC3 /* MLEmojiLabel_Common.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3647036E1A384D4000597BC3 /* MLEmojiLabel_Common.jpg */; }; - 364703711A384D4000597BC3 /* MLEmojiLabel_TableView.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3647036F1A384D4000597BC3 /* MLEmojiLabel_TableView.jpg */; }; - 364A89201929B07200BAFB8C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A891F1929B07200BAFB8C /* Foundation.framework */; }; - 364A89221929B07200BAFB8C /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A89211929B07200BAFB8C /* CoreGraphics.framework */; }; - 364A89241929B07200BAFB8C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A89231929B07200BAFB8C /* UIKit.framework */; }; - 364A892A1929B07200BAFB8C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 364A89281929B07200BAFB8C /* InfoPlist.strings */; }; - 364A892C1929B07200BAFB8C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 364A892B1929B07200BAFB8C /* main.m */; }; - 364A89301929B07200BAFB8C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 364A892F1929B07200BAFB8C /* AppDelegate.m */; }; - 364A89331929B07200BAFB8C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 364A89311929B07200BAFB8C /* Main.storyboard */; }; - 364A89361929B07200BAFB8C /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 364A89351929B07200BAFB8C /* ViewController.m */; }; - 364A89381929B07200BAFB8C /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 364A89371929B07200BAFB8C /* Images.xcassets */; }; - 364A893F1929B07200BAFB8C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A893E1929B07200BAFB8C /* XCTest.framework */; }; - 364A89401929B07200BAFB8C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A891F1929B07200BAFB8C /* Foundation.framework */; }; - 364A89411929B07200BAFB8C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 364A89231929B07200BAFB8C /* UIKit.framework */; }; - 364A89491929B07200BAFB8C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 364A89471929B07200BAFB8C /* InfoPlist.strings */; }; - 364A894B1929B07200BAFB8C /* MLEmojiLabelTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 364A894A1929B07200BAFB8C /* MLEmojiLabelTests.m */; }; - 365FA09B1B57B7770094D200 /* TTTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 365FA09A1B57B7770094D200 /* TTTAttributedLabel.m */; }; - 369EBEC61929B320008CE3DB /* ReceiverTextNodeBkg_ios7@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 369EBEC41929B320008CE3DB /* ReceiverTextNodeBkg_ios7@2x.png */; }; - 369EBEC71929B320008CE3DB /* ReceiverTextNodeBkgHL_ios7@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 369EBEC51929B320008CE3DB /* ReceiverTextNodeBkgHL_ios7@2x.png */; }; - 369EE2DF19AB2BE100A93160 /* MLEmojiLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 369EE2DE19AB2BE100A93160 /* MLEmojiLabel.m */; }; - 36C3B6AF192B3D7A00B6063D /* Expression_100@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B63F192B3D7A00B6063D /* Expression_100@2x.png */; }; - 36C3B6B0192B3D7A00B6063D /* Expression_101@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B640192B3D7A00B6063D /* Expression_101@2x.png */; }; - 36C3B6B1192B3D7A00B6063D /* Expression_102@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B641192B3D7A00B6063D /* Expression_102@2x.png */; }; - 36C3B6B2192B3D7A00B6063D /* Expression_103@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B642192B3D7A00B6063D /* Expression_103@2x.png */; }; - 36C3B6B3192B3D7A00B6063D /* Expression_104@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B643192B3D7A00B6063D /* Expression_104@2x.png */; }; - 36C3B6B4192B3D7A00B6063D /* Expression_105@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B644192B3D7A00B6063D /* Expression_105@2x.png */; }; - 36C3B6B5192B3D7A00B6063D /* Expression_10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B645192B3D7A00B6063D /* Expression_10@2x.png */; }; - 36C3B6B6192B3D7A00B6063D /* Expression_11@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B646192B3D7A00B6063D /* Expression_11@2x.png */; }; - 36C3B6B7192B3D7A00B6063D /* Expression_12@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B647192B3D7A00B6063D /* Expression_12@2x.png */; }; - 36C3B6B8192B3D7A00B6063D /* Expression_13@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B648192B3D7A00B6063D /* Expression_13@2x.png */; }; - 36C3B6B9192B3D7A00B6063D /* Expression_14@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B649192B3D7A00B6063D /* Expression_14@2x.png */; }; - 36C3B6BA192B3D7A00B6063D /* Expression_15@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64A192B3D7A00B6063D /* Expression_15@2x.png */; }; - 36C3B6BB192B3D7A00B6063D /* Expression_16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64B192B3D7A00B6063D /* Expression_16@2x.png */; }; - 36C3B6BC192B3D7A00B6063D /* Expression_17@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64C192B3D7A00B6063D /* Expression_17@2x.png */; }; - 36C3B6BD192B3D7A00B6063D /* Expression_18@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64D192B3D7A00B6063D /* Expression_18@2x.png */; }; - 36C3B6BE192B3D7A00B6063D /* Expression_19@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64E192B3D7A00B6063D /* Expression_19@2x.png */; }; - 36C3B6BF192B3D7A00B6063D /* Expression_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B64F192B3D7A00B6063D /* Expression_1@2x.png */; }; - 36C3B6C0192B3D7A00B6063D /* Expression_20@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B650192B3D7A00B6063D /* Expression_20@2x.png */; }; - 36C3B6C1192B3D7A00B6063D /* Expression_21@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B651192B3D7A00B6063D /* Expression_21@2x.png */; }; - 36C3B6C2192B3D7A00B6063D /* Expression_22@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B652192B3D7A00B6063D /* Expression_22@2x.png */; }; - 36C3B6C3192B3D7A00B6063D /* Expression_23@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B653192B3D7A00B6063D /* Expression_23@2x.png */; }; - 36C3B6C4192B3D7A00B6063D /* Expression_24@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B654192B3D7A00B6063D /* Expression_24@2x.png */; }; - 36C3B6C5192B3D7A00B6063D /* Expression_25@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B655192B3D7A00B6063D /* Expression_25@2x.png */; }; - 36C3B6C6192B3D7A00B6063D /* Expression_26@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B656192B3D7A00B6063D /* Expression_26@2x.png */; }; - 36C3B6C7192B3D7A00B6063D /* Expression_27@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B657192B3D7A00B6063D /* Expression_27@2x.png */; }; - 36C3B6C8192B3D7A00B6063D /* Expression_28@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B658192B3D7A00B6063D /* Expression_28@2x.png */; }; - 36C3B6C9192B3D7A00B6063D /* Expression_29@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B659192B3D7A00B6063D /* Expression_29@2x.png */; }; - 36C3B6CA192B3D7A00B6063D /* Expression_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65A192B3D7A00B6063D /* Expression_2@2x.png */; }; - 36C3B6CB192B3D7A00B6063D /* Expression_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65B192B3D7A00B6063D /* Expression_30@2x.png */; }; - 36C3B6CC192B3D7A00B6063D /* Expression_31@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65C192B3D7A00B6063D /* Expression_31@2x.png */; }; - 36C3B6CD192B3D7A00B6063D /* Expression_32@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65D192B3D7A00B6063D /* Expression_32@2x.png */; }; - 36C3B6CE192B3D7A00B6063D /* Expression_33@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65E192B3D7A00B6063D /* Expression_33@2x.png */; }; - 36C3B6CF192B3D7A00B6063D /* Expression_34@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B65F192B3D7A00B6063D /* Expression_34@2x.png */; }; - 36C3B6D0192B3D7A00B6063D /* Expression_35@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B660192B3D7A00B6063D /* Expression_35@2x.png */; }; - 36C3B6D1192B3D7A00B6063D /* Expression_36@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B661192B3D7A00B6063D /* Expression_36@2x.png */; }; - 36C3B6D2192B3D7A00B6063D /* Expression_37@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B662192B3D7A00B6063D /* Expression_37@2x.png */; }; - 36C3B6D3192B3D7A00B6063D /* Expression_38@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B663192B3D7A00B6063D /* Expression_38@2x.png */; }; - 36C3B6D4192B3D7A00B6063D /* Expression_39@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B664192B3D7A00B6063D /* Expression_39@2x.png */; }; - 36C3B6D5192B3D7A00B6063D /* Expression_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B665192B3D7A00B6063D /* Expression_3@2x.png */; }; - 36C3B6D6192B3D7A00B6063D /* Expression_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B666192B3D7A00B6063D /* Expression_40@2x.png */; }; - 36C3B6D7192B3D7A00B6063D /* Expression_41@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B667192B3D7A00B6063D /* Expression_41@2x.png */; }; - 36C3B6D8192B3D7A00B6063D /* Expression_42@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B668192B3D7A00B6063D /* Expression_42@2x.png */; }; - 36C3B6D9192B3D7A00B6063D /* Expression_43@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B669192B3D7A00B6063D /* Expression_43@2x.png */; }; - 36C3B6DA192B3D7A00B6063D /* Expression_44@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66A192B3D7A00B6063D /* Expression_44@2x.png */; }; - 36C3B6DB192B3D7A00B6063D /* Expression_45@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66B192B3D7A00B6063D /* Expression_45@2x.png */; }; - 36C3B6DC192B3D7A00B6063D /* Expression_46@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66C192B3D7A00B6063D /* Expression_46@2x.png */; }; - 36C3B6DD192B3D7A00B6063D /* Expression_47@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66D192B3D7A00B6063D /* Expression_47@2x.png */; }; - 36C3B6DE192B3D7A00B6063D /* Expression_48@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66E192B3D7A00B6063D /* Expression_48@2x.png */; }; - 36C3B6DF192B3D7A00B6063D /* Expression_49@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B66F192B3D7A00B6063D /* Expression_49@2x.png */; }; - 36C3B6E0192B3D7A00B6063D /* Expression_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B670192B3D7A00B6063D /* Expression_4@2x.png */; }; - 36C3B6E1192B3D7A00B6063D /* Expression_50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B671192B3D7A00B6063D /* Expression_50@2x.png */; }; - 36C3B6E2192B3D7A00B6063D /* Expression_51@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B672192B3D7A00B6063D /* Expression_51@2x.png */; }; - 36C3B6E3192B3D7A00B6063D /* Expression_52@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B673192B3D7A00B6063D /* Expression_52@2x.png */; }; - 36C3B6E4192B3D7A00B6063D /* Expression_53@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B674192B3D7A00B6063D /* Expression_53@2x.png */; }; - 36C3B6E5192B3D7A00B6063D /* Expression_54@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B675192B3D7A00B6063D /* Expression_54@2x.png */; }; - 36C3B6E6192B3D7A00B6063D /* Expression_55@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B676192B3D7A00B6063D /* Expression_55@2x.png */; }; - 36C3B6E7192B3D7A00B6063D /* Expression_56@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B677192B3D7A00B6063D /* Expression_56@2x.png */; }; - 36C3B6E8192B3D7A00B6063D /* Expression_57@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B678192B3D7A00B6063D /* Expression_57@2x.png */; }; - 36C3B6E9192B3D7A00B6063D /* Expression_58@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B679192B3D7A00B6063D /* Expression_58@2x.png */; }; - 36C3B6EA192B3D7A00B6063D /* Expression_59@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67A192B3D7A00B6063D /* Expression_59@2x.png */; }; - 36C3B6EB192B3D7A00B6063D /* Expression_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67B192B3D7A00B6063D /* Expression_5@2x.png */; }; - 36C3B6EC192B3D7A00B6063D /* Expression_60@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67C192B3D7A00B6063D /* Expression_60@2x.png */; }; - 36C3B6ED192B3D7A00B6063D /* Expression_61@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67D192B3D7A00B6063D /* Expression_61@2x.png */; }; - 36C3B6EE192B3D7A00B6063D /* Expression_62@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67E192B3D7A00B6063D /* Expression_62@2x.png */; }; - 36C3B6EF192B3D7A00B6063D /* Expression_63@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B67F192B3D7A00B6063D /* Expression_63@2x.png */; }; - 36C3B6F0192B3D7A00B6063D /* Expression_64@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B680192B3D7A00B6063D /* Expression_64@2x.png */; }; - 36C3B6F1192B3D7A00B6063D /* Expression_65@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B681192B3D7A00B6063D /* Expression_65@2x.png */; }; - 36C3B6F2192B3D7A00B6063D /* Expression_66@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B682192B3D7A00B6063D /* Expression_66@2x.png */; }; - 36C3B6F3192B3D7A00B6063D /* Expression_67@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B683192B3D7A00B6063D /* Expression_67@2x.png */; }; - 36C3B6F4192B3D7A00B6063D /* Expression_68@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B684192B3D7A00B6063D /* Expression_68@2x.png */; }; - 36C3B6F5192B3D7A00B6063D /* Expression_69@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B685192B3D7A00B6063D /* Expression_69@2x.png */; }; - 36C3B6F6192B3D7A00B6063D /* Expression_6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B686192B3D7A00B6063D /* Expression_6@2x.png */; }; - 36C3B6F7192B3D7A00B6063D /* Expression_70@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B687192B3D7A00B6063D /* Expression_70@2x.png */; }; - 36C3B6F8192B3D7A00B6063D /* Expression_71@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B688192B3D7A00B6063D /* Expression_71@2x.png */; }; - 36C3B6F9192B3D7A00B6063D /* Expression_72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B689192B3D7A00B6063D /* Expression_72@2x.png */; }; - 36C3B6FA192B3D7A00B6063D /* Expression_73@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68A192B3D7A00B6063D /* Expression_73@2x.png */; }; - 36C3B6FB192B3D7A00B6063D /* Expression_74@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68B192B3D7A00B6063D /* Expression_74@2x.png */; }; - 36C3B6FC192B3D7A00B6063D /* Expression_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68C192B3D7A00B6063D /* Expression_75@2x.png */; }; - 36C3B6FD192B3D7A00B6063D /* Expression_76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68D192B3D7A00B6063D /* Expression_76@2x.png */; }; - 36C3B6FE192B3D7A00B6063D /* Expression_77@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68E192B3D7A00B6063D /* Expression_77@2x.png */; }; - 36C3B6FF192B3D7A00B6063D /* Expression_78@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B68F192B3D7A00B6063D /* Expression_78@2x.png */; }; - 36C3B700192B3D7A00B6063D /* Expression_79@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B690192B3D7A00B6063D /* Expression_79@2x.png */; }; - 36C3B701192B3D7A00B6063D /* Expression_7@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B691192B3D7A00B6063D /* Expression_7@2x.png */; }; - 36C3B702192B3D7A00B6063D /* Expression_80@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B692192B3D7A00B6063D /* Expression_80@2x.png */; }; - 36C3B703192B3D7A00B6063D /* Expression_81@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B693192B3D7A00B6063D /* Expression_81@2x.png */; }; - 36C3B704192B3D7A00B6063D /* Expression_82@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B694192B3D7A00B6063D /* Expression_82@2x.png */; }; - 36C3B705192B3D7A00B6063D /* Expression_83@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B695192B3D7A00B6063D /* Expression_83@2x.png */; }; - 36C3B706192B3D7A00B6063D /* Expression_84@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B696192B3D7A00B6063D /* Expression_84@2x.png */; }; - 36C3B707192B3D7A00B6063D /* Expression_85@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B697192B3D7A00B6063D /* Expression_85@2x.png */; }; - 36C3B708192B3D7A00B6063D /* Expression_86@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B698192B3D7A00B6063D /* Expression_86@2x.png */; }; - 36C3B709192B3D7A00B6063D /* Expression_87@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B699192B3D7A00B6063D /* Expression_87@2x.png */; }; - 36C3B70A192B3D7A00B6063D /* Expression_88@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69A192B3D7A00B6063D /* Expression_88@2x.png */; }; - 36C3B70B192B3D7A00B6063D /* Expression_89@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69B192B3D7A00B6063D /* Expression_89@2x.png */; }; - 36C3B70C192B3D7A00B6063D /* Expression_8@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69C192B3D7A00B6063D /* Expression_8@2x.png */; }; - 36C3B70D192B3D7A00B6063D /* Expression_90@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69D192B3D7A00B6063D /* Expression_90@2x.png */; }; - 36C3B70E192B3D7A00B6063D /* Expression_91@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69E192B3D7A00B6063D /* Expression_91@2x.png */; }; - 36C3B70F192B3D7A00B6063D /* Expression_92@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B69F192B3D7A00B6063D /* Expression_92@2x.png */; }; - 36C3B710192B3D7A00B6063D /* Expression_93@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A0192B3D7A00B6063D /* Expression_93@2x.png */; }; - 36C3B711192B3D7A00B6063D /* Expression_94@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A1192B3D7A00B6063D /* Expression_94@2x.png */; }; - 36C3B712192B3D7A00B6063D /* Expression_95@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A2192B3D7A00B6063D /* Expression_95@2x.png */; }; - 36C3B713192B3D7A00B6063D /* Expression_96@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A3192B3D7A00B6063D /* Expression_96@2x.png */; }; - 36C3B714192B3D7A00B6063D /* Expression_97@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A4192B3D7A00B6063D /* Expression_97@2x.png */; }; - 36C3B715192B3D7A00B6063D /* Expression_98@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A5192B3D7A00B6063D /* Expression_98@2x.png */; }; - 36C3B716192B3D7A00B6063D /* Expression_99@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A6192B3D7A00B6063D /* Expression_99@2x.png */; }; - 36C3B717192B3D7A00B6063D /* Expression_9@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B6A7192B3D7A00B6063D /* Expression_9@2x.png */; }; - 36C3B721192B424700B6063D /* expressionImage_custom.plist in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B71F192B424700B6063D /* expressionImage_custom.plist */; }; - 36C3B7E0192C6CEF00B6063D /* expressionImage.plist in Resources */ = {isa = PBXBuildFile; fileRef = 36C3B7DE192C6CEE00B6063D /* expressionImage.plist */; }; - 36C4DBC319790BAA00731042 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 36C4DBC119790BAA00731042 /* README.md */; }; - 36E2DB311999DBC900F8AF41 /* expression.plist in Resources */ = {isa = PBXBuildFile; fileRef = 36E2DB301999DBC900F8AF41 /* expression.plist */; }; - 36E2DB331999DBCF00F8AF41 /* expression_custom.plist in Resources */ = {isa = PBXBuildFile; fileRef = 36E2DB321999DBCF00F8AF41 /* expression_custom.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 364A89421929B07200BAFB8C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 364A89141929B07200BAFB8C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 364A891B1929B07200BAFB8C; - remoteInfo = MLEmojiLabel; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 364385AD1A369B0D00C220CF /* EmojiTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmojiTableViewCell.h; sourceTree = ""; }; - 364385AE1A369B0D00C220CF /* EmojiTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EmojiTableViewCell.m; sourceTree = ""; }; - 364385AF1A369B0D00C220CF /* EmojiTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmojiTableViewController.h; sourceTree = ""; }; - 364385B01A369B0D00C220CF /* EmojiTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EmojiTableViewController.m; sourceTree = ""; }; - 3647036E1A384D4000597BC3 /* MLEmojiLabel_Common.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = MLEmojiLabel_Common.jpg; sourceTree = ""; }; - 3647036F1A384D4000597BC3 /* MLEmojiLabel_TableView.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = MLEmojiLabel_TableView.jpg; sourceTree = ""; }; - 364A891C1929B07200BAFB8C /* MLEmojiLabel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MLEmojiLabel.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 364A891F1929B07200BAFB8C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 364A89211929B07200BAFB8C /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 364A89231929B07200BAFB8C /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 364A89271929B07200BAFB8C /* MLEmojiLabel-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MLEmojiLabel-Info.plist"; sourceTree = ""; }; - 364A89291929B07200BAFB8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 364A892B1929B07200BAFB8C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 364A892D1929B07200BAFB8C /* MLEmojiLabel-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MLEmojiLabel-Prefix.pch"; sourceTree = ""; }; - 364A892E1929B07200BAFB8C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 364A892F1929B07200BAFB8C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 364A89321929B07200BAFB8C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 364A89341929B07200BAFB8C /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 364A89351929B07200BAFB8C /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 364A89371929B07200BAFB8C /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 364A893D1929B07200BAFB8C /* MLEmojiLabelTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MLEmojiLabelTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 364A893E1929B07200BAFB8C /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 364A89461929B07200BAFB8C /* MLEmojiLabelTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MLEmojiLabelTests-Info.plist"; sourceTree = ""; }; - 364A89481929B07200BAFB8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 364A894A1929B07200BAFB8C /* MLEmojiLabelTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MLEmojiLabelTests.m; sourceTree = ""; }; - 365FA0991B57B7770094D200 /* TTTAttributedLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TTTAttributedLabel.h; sourceTree = ""; }; - 365FA09A1B57B7770094D200 /* TTTAttributedLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TTTAttributedLabel.m; sourceTree = ""; }; - 369EBEC41929B320008CE3DB /* ReceiverTextNodeBkg_ios7@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ReceiverTextNodeBkg_ios7@2x.png"; sourceTree = ""; }; - 369EBEC51929B320008CE3DB /* ReceiverTextNodeBkgHL_ios7@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ReceiverTextNodeBkgHL_ios7@2x.png"; sourceTree = ""; }; - 369EE2DD19AB2BE100A93160 /* MLEmojiLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MLEmojiLabel.h; sourceTree = ""; }; - 369EE2DE19AB2BE100A93160 /* MLEmojiLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MLEmojiLabel.m; sourceTree = ""; }; - 36C3B63F192B3D7A00B6063D /* Expression_100@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_100@2x.png"; sourceTree = ""; }; - 36C3B640192B3D7A00B6063D /* Expression_101@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_101@2x.png"; sourceTree = ""; }; - 36C3B641192B3D7A00B6063D /* Expression_102@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_102@2x.png"; sourceTree = ""; }; - 36C3B642192B3D7A00B6063D /* Expression_103@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_103@2x.png"; sourceTree = ""; }; - 36C3B643192B3D7A00B6063D /* Expression_104@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_104@2x.png"; sourceTree = ""; }; - 36C3B644192B3D7A00B6063D /* Expression_105@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_105@2x.png"; sourceTree = ""; }; - 36C3B645192B3D7A00B6063D /* Expression_10@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_10@2x.png"; sourceTree = ""; }; - 36C3B646192B3D7A00B6063D /* Expression_11@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_11@2x.png"; sourceTree = ""; }; - 36C3B647192B3D7A00B6063D /* Expression_12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_12@2x.png"; sourceTree = ""; }; - 36C3B648192B3D7A00B6063D /* Expression_13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_13@2x.png"; sourceTree = ""; }; - 36C3B649192B3D7A00B6063D /* Expression_14@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_14@2x.png"; sourceTree = ""; }; - 36C3B64A192B3D7A00B6063D /* Expression_15@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_15@2x.png"; sourceTree = ""; }; - 36C3B64B192B3D7A00B6063D /* Expression_16@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_16@2x.png"; sourceTree = ""; }; - 36C3B64C192B3D7A00B6063D /* Expression_17@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_17@2x.png"; sourceTree = ""; }; - 36C3B64D192B3D7A00B6063D /* Expression_18@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_18@2x.png"; sourceTree = ""; }; - 36C3B64E192B3D7A00B6063D /* Expression_19@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_19@2x.png"; sourceTree = ""; }; - 36C3B64F192B3D7A00B6063D /* Expression_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_1@2x.png"; sourceTree = ""; }; - 36C3B650192B3D7A00B6063D /* Expression_20@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_20@2x.png"; sourceTree = ""; }; - 36C3B651192B3D7A00B6063D /* Expression_21@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_21@2x.png"; sourceTree = ""; }; - 36C3B652192B3D7A00B6063D /* Expression_22@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_22@2x.png"; sourceTree = ""; }; - 36C3B653192B3D7A00B6063D /* Expression_23@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_23@2x.png"; sourceTree = ""; }; - 36C3B654192B3D7A00B6063D /* Expression_24@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_24@2x.png"; sourceTree = ""; }; - 36C3B655192B3D7A00B6063D /* Expression_25@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_25@2x.png"; sourceTree = ""; }; - 36C3B656192B3D7A00B6063D /* Expression_26@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_26@2x.png"; sourceTree = ""; }; - 36C3B657192B3D7A00B6063D /* Expression_27@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_27@2x.png"; sourceTree = ""; }; - 36C3B658192B3D7A00B6063D /* Expression_28@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_28@2x.png"; sourceTree = ""; }; - 36C3B659192B3D7A00B6063D /* Expression_29@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_29@2x.png"; sourceTree = ""; }; - 36C3B65A192B3D7A00B6063D /* Expression_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_2@2x.png"; sourceTree = ""; }; - 36C3B65B192B3D7A00B6063D /* Expression_30@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_30@2x.png"; sourceTree = ""; }; - 36C3B65C192B3D7A00B6063D /* Expression_31@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_31@2x.png"; sourceTree = ""; }; - 36C3B65D192B3D7A00B6063D /* Expression_32@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_32@2x.png"; sourceTree = ""; }; - 36C3B65E192B3D7A00B6063D /* Expression_33@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_33@2x.png"; sourceTree = ""; }; - 36C3B65F192B3D7A00B6063D /* Expression_34@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_34@2x.png"; sourceTree = ""; }; - 36C3B660192B3D7A00B6063D /* Expression_35@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_35@2x.png"; sourceTree = ""; }; - 36C3B661192B3D7A00B6063D /* Expression_36@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_36@2x.png"; sourceTree = ""; }; - 36C3B662192B3D7A00B6063D /* Expression_37@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_37@2x.png"; sourceTree = ""; }; - 36C3B663192B3D7A00B6063D /* Expression_38@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_38@2x.png"; sourceTree = ""; }; - 36C3B664192B3D7A00B6063D /* Expression_39@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_39@2x.png"; sourceTree = ""; }; - 36C3B665192B3D7A00B6063D /* Expression_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_3@2x.png"; sourceTree = ""; }; - 36C3B666192B3D7A00B6063D /* Expression_40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_40@2x.png"; sourceTree = ""; }; - 36C3B667192B3D7A00B6063D /* Expression_41@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_41@2x.png"; sourceTree = ""; }; - 36C3B668192B3D7A00B6063D /* Expression_42@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_42@2x.png"; sourceTree = ""; }; - 36C3B669192B3D7A00B6063D /* Expression_43@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_43@2x.png"; sourceTree = ""; }; - 36C3B66A192B3D7A00B6063D /* Expression_44@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_44@2x.png"; sourceTree = ""; }; - 36C3B66B192B3D7A00B6063D /* Expression_45@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_45@2x.png"; sourceTree = ""; }; - 36C3B66C192B3D7A00B6063D /* Expression_46@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_46@2x.png"; sourceTree = ""; }; - 36C3B66D192B3D7A00B6063D /* Expression_47@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_47@2x.png"; sourceTree = ""; }; - 36C3B66E192B3D7A00B6063D /* Expression_48@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_48@2x.png"; sourceTree = ""; }; - 36C3B66F192B3D7A00B6063D /* Expression_49@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_49@2x.png"; sourceTree = ""; }; - 36C3B670192B3D7A00B6063D /* Expression_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_4@2x.png"; sourceTree = ""; }; - 36C3B671192B3D7A00B6063D /* Expression_50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_50@2x.png"; sourceTree = ""; }; - 36C3B672192B3D7A00B6063D /* Expression_51@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_51@2x.png"; sourceTree = ""; }; - 36C3B673192B3D7A00B6063D /* Expression_52@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_52@2x.png"; sourceTree = ""; }; - 36C3B674192B3D7A00B6063D /* Expression_53@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_53@2x.png"; sourceTree = ""; }; - 36C3B675192B3D7A00B6063D /* Expression_54@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_54@2x.png"; sourceTree = ""; }; - 36C3B676192B3D7A00B6063D /* Expression_55@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_55@2x.png"; sourceTree = ""; }; - 36C3B677192B3D7A00B6063D /* Expression_56@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_56@2x.png"; sourceTree = ""; }; - 36C3B678192B3D7A00B6063D /* Expression_57@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_57@2x.png"; sourceTree = ""; }; - 36C3B679192B3D7A00B6063D /* Expression_58@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_58@2x.png"; sourceTree = ""; }; - 36C3B67A192B3D7A00B6063D /* Expression_59@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_59@2x.png"; sourceTree = ""; }; - 36C3B67B192B3D7A00B6063D /* Expression_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_5@2x.png"; sourceTree = ""; }; - 36C3B67C192B3D7A00B6063D /* Expression_60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_60@2x.png"; sourceTree = ""; }; - 36C3B67D192B3D7A00B6063D /* Expression_61@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_61@2x.png"; sourceTree = ""; }; - 36C3B67E192B3D7A00B6063D /* Expression_62@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_62@2x.png"; sourceTree = ""; }; - 36C3B67F192B3D7A00B6063D /* Expression_63@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_63@2x.png"; sourceTree = ""; }; - 36C3B680192B3D7A00B6063D /* Expression_64@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_64@2x.png"; sourceTree = ""; }; - 36C3B681192B3D7A00B6063D /* Expression_65@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_65@2x.png"; sourceTree = ""; }; - 36C3B682192B3D7A00B6063D /* Expression_66@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_66@2x.png"; sourceTree = ""; }; - 36C3B683192B3D7A00B6063D /* Expression_67@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_67@2x.png"; sourceTree = ""; }; - 36C3B684192B3D7A00B6063D /* Expression_68@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_68@2x.png"; sourceTree = ""; }; - 36C3B685192B3D7A00B6063D /* Expression_69@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_69@2x.png"; sourceTree = ""; }; - 36C3B686192B3D7A00B6063D /* Expression_6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_6@2x.png"; sourceTree = ""; }; - 36C3B687192B3D7A00B6063D /* Expression_70@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_70@2x.png"; sourceTree = ""; }; - 36C3B688192B3D7A00B6063D /* Expression_71@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_71@2x.png"; sourceTree = ""; }; - 36C3B689192B3D7A00B6063D /* Expression_72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_72@2x.png"; sourceTree = ""; }; - 36C3B68A192B3D7A00B6063D /* Expression_73@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_73@2x.png"; sourceTree = ""; }; - 36C3B68B192B3D7A00B6063D /* Expression_74@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_74@2x.png"; sourceTree = ""; }; - 36C3B68C192B3D7A00B6063D /* Expression_75@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_75@2x.png"; sourceTree = ""; }; - 36C3B68D192B3D7A00B6063D /* Expression_76@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_76@2x.png"; sourceTree = ""; }; - 36C3B68E192B3D7A00B6063D /* Expression_77@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_77@2x.png"; sourceTree = ""; }; - 36C3B68F192B3D7A00B6063D /* Expression_78@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_78@2x.png"; sourceTree = ""; }; - 36C3B690192B3D7A00B6063D /* Expression_79@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_79@2x.png"; sourceTree = ""; }; - 36C3B691192B3D7A00B6063D /* Expression_7@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_7@2x.png"; sourceTree = ""; }; - 36C3B692192B3D7A00B6063D /* Expression_80@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_80@2x.png"; sourceTree = ""; }; - 36C3B693192B3D7A00B6063D /* Expression_81@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_81@2x.png"; sourceTree = ""; }; - 36C3B694192B3D7A00B6063D /* Expression_82@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_82@2x.png"; sourceTree = ""; }; - 36C3B695192B3D7A00B6063D /* Expression_83@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_83@2x.png"; sourceTree = ""; }; - 36C3B696192B3D7A00B6063D /* Expression_84@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_84@2x.png"; sourceTree = ""; }; - 36C3B697192B3D7A00B6063D /* Expression_85@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_85@2x.png"; sourceTree = ""; }; - 36C3B698192B3D7A00B6063D /* Expression_86@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_86@2x.png"; sourceTree = ""; }; - 36C3B699192B3D7A00B6063D /* Expression_87@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_87@2x.png"; sourceTree = ""; }; - 36C3B69A192B3D7A00B6063D /* Expression_88@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_88@2x.png"; sourceTree = ""; }; - 36C3B69B192B3D7A00B6063D /* Expression_89@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_89@2x.png"; sourceTree = ""; }; - 36C3B69C192B3D7A00B6063D /* Expression_8@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_8@2x.png"; sourceTree = ""; }; - 36C3B69D192B3D7A00B6063D /* Expression_90@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_90@2x.png"; sourceTree = ""; }; - 36C3B69E192B3D7A00B6063D /* Expression_91@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_91@2x.png"; sourceTree = ""; }; - 36C3B69F192B3D7A00B6063D /* Expression_92@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_92@2x.png"; sourceTree = ""; }; - 36C3B6A0192B3D7A00B6063D /* Expression_93@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_93@2x.png"; sourceTree = ""; }; - 36C3B6A1192B3D7A00B6063D /* Expression_94@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_94@2x.png"; sourceTree = ""; }; - 36C3B6A2192B3D7A00B6063D /* Expression_95@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_95@2x.png"; sourceTree = ""; }; - 36C3B6A3192B3D7A00B6063D /* Expression_96@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_96@2x.png"; sourceTree = ""; }; - 36C3B6A4192B3D7A00B6063D /* Expression_97@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_97@2x.png"; sourceTree = ""; }; - 36C3B6A5192B3D7A00B6063D /* Expression_98@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_98@2x.png"; sourceTree = ""; }; - 36C3B6A6192B3D7A00B6063D /* Expression_99@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_99@2x.png"; sourceTree = ""; }; - 36C3B6A7192B3D7A00B6063D /* Expression_9@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Expression_9@2x.png"; sourceTree = ""; }; - 36C3B71F192B424700B6063D /* expressionImage_custom.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = expressionImage_custom.plist; path = ../MLEmoji/expressionImage_custom.plist; sourceTree = ""; }; - 36C3B7DE192C6CEE00B6063D /* expressionImage.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = expressionImage.plist; sourceTree = ""; }; - 36C4DBC119790BAA00731042 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = ""; }; - 36E2DB301999DBC900F8AF41 /* expression.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = expression.plist; sourceTree = ""; }; - 36E2DB321999DBCF00F8AF41 /* expression_custom.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = expression_custom.plist; path = MLEmoji/expression_custom.plist; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 364A89191929B07200BAFB8C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 364A89221929B07200BAFB8C /* CoreGraphics.framework in Frameworks */, - 364A89241929B07200BAFB8C /* UIKit.framework in Frameworks */, - 364A89201929B07200BAFB8C /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364A893A1929B07200BAFB8C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 364A893F1929B07200BAFB8C /* XCTest.framework in Frameworks */, - 364A89411929B07200BAFB8C /* UIKit.framework in Frameworks */, - 364A89401929B07200BAFB8C /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 364A89131929B07200BAFB8C = { - isa = PBXGroup; - children = ( - 3647036E1A384D4000597BC3 /* MLEmojiLabel_Common.jpg */, - 3647036F1A384D4000597BC3 /* MLEmojiLabel_TableView.jpg */, - 36C4DBC119790BAA00731042 /* README.md */, - 364A89251929B07200BAFB8C /* MLEmojiLabel */, - 364A89441929B07200BAFB8C /* MLEmojiLabelTests */, - 364A891E1929B07200BAFB8C /* Frameworks */, - 364A891D1929B07200BAFB8C /* Products */, - ); - sourceTree = ""; - }; - 364A891D1929B07200BAFB8C /* Products */ = { - isa = PBXGroup; - children = ( - 364A891C1929B07200BAFB8C /* MLEmojiLabel.app */, - 364A893D1929B07200BAFB8C /* MLEmojiLabelTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 364A891E1929B07200BAFB8C /* Frameworks */ = { - isa = PBXGroup; - children = ( - 364A891F1929B07200BAFB8C /* Foundation.framework */, - 364A89211929B07200BAFB8C /* CoreGraphics.framework */, - 364A89231929B07200BAFB8C /* UIKit.framework */, - 364A893E1929B07200BAFB8C /* XCTest.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 364A89251929B07200BAFB8C /* MLEmojiLabel */ = { - isa = PBXGroup; - children = ( - 36C3B71F192B424700B6063D /* expressionImage_custom.plist */, - 36E2DB321999DBCF00F8AF41 /* expression_custom.plist */, - 36C3B63D192B3D7A00B6063D /* MLEmoji */, - 369EBEC41929B320008CE3DB /* ReceiverTextNodeBkg_ios7@2x.png */, - 369EBEC51929B320008CE3DB /* ReceiverTextNodeBkgHL_ios7@2x.png */, - 364A892E1929B07200BAFB8C /* AppDelegate.h */, - 364A892F1929B07200BAFB8C /* AppDelegate.m */, - 364A89311929B07200BAFB8C /* Main.storyboard */, - 364A89341929B07200BAFB8C /* ViewController.h */, - 364A89351929B07200BAFB8C /* ViewController.m */, - 364385AD1A369B0D00C220CF /* EmojiTableViewCell.h */, - 364385AE1A369B0D00C220CF /* EmojiTableViewCell.m */, - 364385AF1A369B0D00C220CF /* EmojiTableViewController.h */, - 364385B01A369B0D00C220CF /* EmojiTableViewController.m */, - 364A89371929B07200BAFB8C /* Images.xcassets */, - 364A89261929B07200BAFB8C /* Supporting Files */, - ); - path = MLEmojiLabel; - sourceTree = ""; - }; - 364A89261929B07200BAFB8C /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 364A89271929B07200BAFB8C /* MLEmojiLabel-Info.plist */, - 364A89281929B07200BAFB8C /* InfoPlist.strings */, - 364A892B1929B07200BAFB8C /* main.m */, - 364A892D1929B07200BAFB8C /* MLEmojiLabel-Prefix.pch */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 364A89441929B07200BAFB8C /* MLEmojiLabelTests */ = { - isa = PBXGroup; - children = ( - 364A894A1929B07200BAFB8C /* MLEmojiLabelTests.m */, - 364A89451929B07200BAFB8C /* Supporting Files */, - ); - path = MLEmojiLabelTests; - sourceTree = ""; - }; - 364A89451929B07200BAFB8C /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 364A89461929B07200BAFB8C /* MLEmojiLabelTests-Info.plist */, - 364A89471929B07200BAFB8C /* InfoPlist.strings */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 365FA0981B57B7770094D200 /* TTTAttributedLabel */ = { - isa = PBXGroup; - children = ( - 365FA0991B57B7770094D200 /* TTTAttributedLabel.h */, - 365FA09A1B57B7770094D200 /* TTTAttributedLabel.m */, - ); - path = TTTAttributedLabel; - sourceTree = ""; - }; - 36C3B63D192B3D7A00B6063D /* MLEmoji */ = { - isa = PBXGroup; - children = ( - 365FA0981B57B7770094D200 /* TTTAttributedLabel */, - 369EE2DD19AB2BE100A93160 /* MLEmojiLabel.h */, - 369EE2DE19AB2BE100A93160 /* MLEmojiLabel.m */, - 36C3B63E192B3D7A00B6063D /* Expression */, - 36E2DB301999DBC900F8AF41 /* expression.plist */, - 36C3B7DE192C6CEE00B6063D /* expressionImage.plist */, - ); - path = MLEmoji; - sourceTree = SOURCE_ROOT; - }; - 36C3B63E192B3D7A00B6063D /* Expression */ = { - isa = PBXGroup; - children = ( - 36C3B63F192B3D7A00B6063D /* Expression_100@2x.png */, - 36C3B640192B3D7A00B6063D /* Expression_101@2x.png */, - 36C3B641192B3D7A00B6063D /* Expression_102@2x.png */, - 36C3B642192B3D7A00B6063D /* Expression_103@2x.png */, - 36C3B643192B3D7A00B6063D /* Expression_104@2x.png */, - 36C3B644192B3D7A00B6063D /* Expression_105@2x.png */, - 36C3B645192B3D7A00B6063D /* Expression_10@2x.png */, - 36C3B646192B3D7A00B6063D /* Expression_11@2x.png */, - 36C3B647192B3D7A00B6063D /* Expression_12@2x.png */, - 36C3B648192B3D7A00B6063D /* Expression_13@2x.png */, - 36C3B649192B3D7A00B6063D /* Expression_14@2x.png */, - 36C3B64A192B3D7A00B6063D /* Expression_15@2x.png */, - 36C3B64B192B3D7A00B6063D /* Expression_16@2x.png */, - 36C3B64C192B3D7A00B6063D /* Expression_17@2x.png */, - 36C3B64D192B3D7A00B6063D /* Expression_18@2x.png */, - 36C3B64E192B3D7A00B6063D /* Expression_19@2x.png */, - 36C3B64F192B3D7A00B6063D /* Expression_1@2x.png */, - 36C3B650192B3D7A00B6063D /* Expression_20@2x.png */, - 36C3B651192B3D7A00B6063D /* Expression_21@2x.png */, - 36C3B652192B3D7A00B6063D /* Expression_22@2x.png */, - 36C3B653192B3D7A00B6063D /* Expression_23@2x.png */, - 36C3B654192B3D7A00B6063D /* Expression_24@2x.png */, - 36C3B655192B3D7A00B6063D /* Expression_25@2x.png */, - 36C3B656192B3D7A00B6063D /* Expression_26@2x.png */, - 36C3B657192B3D7A00B6063D /* Expression_27@2x.png */, - 36C3B658192B3D7A00B6063D /* Expression_28@2x.png */, - 36C3B659192B3D7A00B6063D /* Expression_29@2x.png */, - 36C3B65A192B3D7A00B6063D /* Expression_2@2x.png */, - 36C3B65B192B3D7A00B6063D /* Expression_30@2x.png */, - 36C3B65C192B3D7A00B6063D /* Expression_31@2x.png */, - 36C3B65D192B3D7A00B6063D /* Expression_32@2x.png */, - 36C3B65E192B3D7A00B6063D /* Expression_33@2x.png */, - 36C3B65F192B3D7A00B6063D /* Expression_34@2x.png */, - 36C3B660192B3D7A00B6063D /* Expression_35@2x.png */, - 36C3B661192B3D7A00B6063D /* Expression_36@2x.png */, - 36C3B662192B3D7A00B6063D /* Expression_37@2x.png */, - 36C3B663192B3D7A00B6063D /* Expression_38@2x.png */, - 36C3B664192B3D7A00B6063D /* Expression_39@2x.png */, - 36C3B665192B3D7A00B6063D /* Expression_3@2x.png */, - 36C3B666192B3D7A00B6063D /* Expression_40@2x.png */, - 36C3B667192B3D7A00B6063D /* Expression_41@2x.png */, - 36C3B668192B3D7A00B6063D /* Expression_42@2x.png */, - 36C3B669192B3D7A00B6063D /* Expression_43@2x.png */, - 36C3B66A192B3D7A00B6063D /* Expression_44@2x.png */, - 36C3B66B192B3D7A00B6063D /* Expression_45@2x.png */, - 36C3B66C192B3D7A00B6063D /* Expression_46@2x.png */, - 36C3B66D192B3D7A00B6063D /* Expression_47@2x.png */, - 36C3B66E192B3D7A00B6063D /* Expression_48@2x.png */, - 36C3B66F192B3D7A00B6063D /* Expression_49@2x.png */, - 36C3B670192B3D7A00B6063D /* Expression_4@2x.png */, - 36C3B671192B3D7A00B6063D /* Expression_50@2x.png */, - 36C3B672192B3D7A00B6063D /* Expression_51@2x.png */, - 36C3B673192B3D7A00B6063D /* Expression_52@2x.png */, - 36C3B674192B3D7A00B6063D /* Expression_53@2x.png */, - 36C3B675192B3D7A00B6063D /* Expression_54@2x.png */, - 36C3B676192B3D7A00B6063D /* Expression_55@2x.png */, - 36C3B677192B3D7A00B6063D /* Expression_56@2x.png */, - 36C3B678192B3D7A00B6063D /* Expression_57@2x.png */, - 36C3B679192B3D7A00B6063D /* Expression_58@2x.png */, - 36C3B67A192B3D7A00B6063D /* Expression_59@2x.png */, - 36C3B67B192B3D7A00B6063D /* Expression_5@2x.png */, - 36C3B67C192B3D7A00B6063D /* Expression_60@2x.png */, - 36C3B67D192B3D7A00B6063D /* Expression_61@2x.png */, - 36C3B67E192B3D7A00B6063D /* Expression_62@2x.png */, - 36C3B67F192B3D7A00B6063D /* Expression_63@2x.png */, - 36C3B680192B3D7A00B6063D /* Expression_64@2x.png */, - 36C3B681192B3D7A00B6063D /* Expression_65@2x.png */, - 36C3B682192B3D7A00B6063D /* Expression_66@2x.png */, - 36C3B683192B3D7A00B6063D /* Expression_67@2x.png */, - 36C3B684192B3D7A00B6063D /* Expression_68@2x.png */, - 36C3B685192B3D7A00B6063D /* Expression_69@2x.png */, - 36C3B686192B3D7A00B6063D /* Expression_6@2x.png */, - 36C3B687192B3D7A00B6063D /* Expression_70@2x.png */, - 36C3B688192B3D7A00B6063D /* Expression_71@2x.png */, - 36C3B689192B3D7A00B6063D /* Expression_72@2x.png */, - 36C3B68A192B3D7A00B6063D /* Expression_73@2x.png */, - 36C3B68B192B3D7A00B6063D /* Expression_74@2x.png */, - 36C3B68C192B3D7A00B6063D /* Expression_75@2x.png */, - 36C3B68D192B3D7A00B6063D /* Expression_76@2x.png */, - 36C3B68E192B3D7A00B6063D /* Expression_77@2x.png */, - 36C3B68F192B3D7A00B6063D /* Expression_78@2x.png */, - 36C3B690192B3D7A00B6063D /* Expression_79@2x.png */, - 36C3B691192B3D7A00B6063D /* Expression_7@2x.png */, - 36C3B692192B3D7A00B6063D /* Expression_80@2x.png */, - 36C3B693192B3D7A00B6063D /* Expression_81@2x.png */, - 36C3B694192B3D7A00B6063D /* Expression_82@2x.png */, - 36C3B695192B3D7A00B6063D /* Expression_83@2x.png */, - 36C3B696192B3D7A00B6063D /* Expression_84@2x.png */, - 36C3B697192B3D7A00B6063D /* Expression_85@2x.png */, - 36C3B698192B3D7A00B6063D /* Expression_86@2x.png */, - 36C3B699192B3D7A00B6063D /* Expression_87@2x.png */, - 36C3B69A192B3D7A00B6063D /* Expression_88@2x.png */, - 36C3B69B192B3D7A00B6063D /* Expression_89@2x.png */, - 36C3B69C192B3D7A00B6063D /* Expression_8@2x.png */, - 36C3B69D192B3D7A00B6063D /* Expression_90@2x.png */, - 36C3B69E192B3D7A00B6063D /* Expression_91@2x.png */, - 36C3B69F192B3D7A00B6063D /* Expression_92@2x.png */, - 36C3B6A0192B3D7A00B6063D /* Expression_93@2x.png */, - 36C3B6A1192B3D7A00B6063D /* Expression_94@2x.png */, - 36C3B6A2192B3D7A00B6063D /* Expression_95@2x.png */, - 36C3B6A3192B3D7A00B6063D /* Expression_96@2x.png */, - 36C3B6A4192B3D7A00B6063D /* Expression_97@2x.png */, - 36C3B6A5192B3D7A00B6063D /* Expression_98@2x.png */, - 36C3B6A6192B3D7A00B6063D /* Expression_99@2x.png */, - 36C3B6A7192B3D7A00B6063D /* Expression_9@2x.png */, - ); - path = Expression; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 364A891B1929B07200BAFB8C /* MLEmojiLabel */ = { - isa = PBXNativeTarget; - buildConfigurationList = 364A894E1929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabel" */; - buildPhases = ( - 364A89181929B07200BAFB8C /* Sources */, - 364A89191929B07200BAFB8C /* Frameworks */, - 364A891A1929B07200BAFB8C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = MLEmojiLabel; - productName = MLEmojiLabel; - productReference = 364A891C1929B07200BAFB8C /* MLEmojiLabel.app */; - productType = "com.apple.product-type.application"; - }; - 364A893C1929B07200BAFB8C /* MLEmojiLabelTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 364A89511929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabelTests" */; - buildPhases = ( - 364A89391929B07200BAFB8C /* Sources */, - 364A893A1929B07200BAFB8C /* Frameworks */, - 364A893B1929B07200BAFB8C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 364A89431929B07200BAFB8C /* PBXTargetDependency */, - ); - name = MLEmojiLabelTests; - productName = MLEmojiLabelTests; - productReference = 364A893D1929B07200BAFB8C /* MLEmojiLabelTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 364A89141929B07200BAFB8C /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0510; - ORGANIZATIONNAME = molon; - TargetAttributes = { - 364A893C1929B07200BAFB8C = { - TestTargetID = 364A891B1929B07200BAFB8C; - }; - }; - }; - buildConfigurationList = 364A89171929B07200BAFB8C /* Build configuration list for PBXProject "MLEmojiLabel" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 364A89131929B07200BAFB8C; - productRefGroup = 364A891D1929B07200BAFB8C /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 364A891B1929B07200BAFB8C /* MLEmojiLabel */, - 364A893C1929B07200BAFB8C /* MLEmojiLabelTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 364A891A1929B07200BAFB8C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 36C3B6B6192B3D7A00B6063D /* Expression_11@2x.png in Resources */, - 36C3B6E5192B3D7A00B6063D /* Expression_54@2x.png in Resources */, - 36C3B6D7192B3D7A00B6063D /* Expression_41@2x.png in Resources */, - 36C3B6ED192B3D7A00B6063D /* Expression_61@2x.png in Resources */, - 36C3B6FA192B3D7A00B6063D /* Expression_73@2x.png in Resources */, - 36C3B6E8192B3D7A00B6063D /* Expression_57@2x.png in Resources */, - 36C3B6E7192B3D7A00B6063D /* Expression_56@2x.png in Resources */, - 36C3B6EA192B3D7A00B6063D /* Expression_59@2x.png in Resources */, - 36C3B717192B3D7A00B6063D /* Expression_9@2x.png in Resources */, - 36C3B6C4192B3D7A00B6063D /* Expression_24@2x.png in Resources */, - 36C3B6FD192B3D7A00B6063D /* Expression_76@2x.png in Resources */, - 36C3B6DD192B3D7A00B6063D /* Expression_47@2x.png in Resources */, - 36C3B6FF192B3D7A00B6063D /* Expression_78@2x.png in Resources */, - 36C3B6EB192B3D7A00B6063D /* Expression_5@2x.png in Resources */, - 36C3B70A192B3D7A00B6063D /* Expression_88@2x.png in Resources */, - 36C3B6E2192B3D7A00B6063D /* Expression_51@2x.png in Resources */, - 36C3B704192B3D7A00B6063D /* Expression_82@2x.png in Resources */, - 36C3B70E192B3D7A00B6063D /* Expression_91@2x.png in Resources */, - 36C3B709192B3D7A00B6063D /* Expression_87@2x.png in Resources */, - 364703701A384D4000597BC3 /* MLEmojiLabel_Common.jpg in Resources */, - 36C3B6D5192B3D7A00B6063D /* Expression_3@2x.png in Resources */, - 36C3B713192B3D7A00B6063D /* Expression_96@2x.png in Resources */, - 36C3B6E1192B3D7A00B6063D /* Expression_50@2x.png in Resources */, - 36C3B6BD192B3D7A00B6063D /* Expression_18@2x.png in Resources */, - 36C3B6DB192B3D7A00B6063D /* Expression_45@2x.png in Resources */, - 36C3B6C6192B3D7A00B6063D /* Expression_26@2x.png in Resources */, - 36C3B703192B3D7A00B6063D /* Expression_81@2x.png in Resources */, - 36C3B6D0192B3D7A00B6063D /* Expression_35@2x.png in Resources */, - 36C3B6D9192B3D7A00B6063D /* Expression_43@2x.png in Resources */, - 36C3B6C5192B3D7A00B6063D /* Expression_25@2x.png in Resources */, - 36C3B6F8192B3D7A00B6063D /* Expression_71@2x.png in Resources */, - 36C3B6E6192B3D7A00B6063D /* Expression_55@2x.png in Resources */, - 36C3B711192B3D7A00B6063D /* Expression_94@2x.png in Resources */, - 36C3B6BF192B3D7A00B6063D /* Expression_1@2x.png in Resources */, - 36C3B6F4192B3D7A00B6063D /* Expression_68@2x.png in Resources */, - 36C3B6C0192B3D7A00B6063D /* Expression_20@2x.png in Resources */, - 36E2DB311999DBC900F8AF41 /* expression.plist in Resources */, - 36C3B6EE192B3D7A00B6063D /* Expression_62@2x.png in Resources */, - 36C3B6EC192B3D7A00B6063D /* Expression_60@2x.png in Resources */, - 36C3B6F7192B3D7A00B6063D /* Expression_70@2x.png in Resources */, - 36C3B701192B3D7A00B6063D /* Expression_7@2x.png in Resources */, - 36C3B6DE192B3D7A00B6063D /* Expression_48@2x.png in Resources */, - 36C3B6D2192B3D7A00B6063D /* Expression_37@2x.png in Resources */, - 36C3B6DF192B3D7A00B6063D /* Expression_49@2x.png in Resources */, - 36C3B6F1192B3D7A00B6063D /* Expression_65@2x.png in Resources */, - 36C3B714192B3D7A00B6063D /* Expression_97@2x.png in Resources */, - 36C3B706192B3D7A00B6063D /* Expression_84@2x.png in Resources */, - 36C3B6F0192B3D7A00B6063D /* Expression_64@2x.png in Resources */, - 36C3B715192B3D7A00B6063D /* Expression_98@2x.png in Resources */, - 36C3B6E0192B3D7A00B6063D /* Expression_4@2x.png in Resources */, - 36C3B6BA192B3D7A00B6063D /* Expression_15@2x.png in Resources */, - 36C3B6F3192B3D7A00B6063D /* Expression_67@2x.png in Resources */, - 36C3B6B3192B3D7A00B6063D /* Expression_104@2x.png in Resources */, - 36C3B6B5192B3D7A00B6063D /* Expression_10@2x.png in Resources */, - 36C3B7E0192C6CEF00B6063D /* expressionImage.plist in Resources */, - 36C3B705192B3D7A00B6063D /* Expression_83@2x.png in Resources */, - 364A89381929B07200BAFB8C /* Images.xcassets in Resources */, - 36C3B6DA192B3D7A00B6063D /* Expression_44@2x.png in Resources */, - 36C3B70C192B3D7A00B6063D /* Expression_8@2x.png in Resources */, - 36C3B6F2192B3D7A00B6063D /* Expression_66@2x.png in Resources */, - 36E2DB331999DBCF00F8AF41 /* expression_custom.plist in Resources */, - 36C3B6D4192B3D7A00B6063D /* Expression_39@2x.png in Resources */, - 36C3B6E3192B3D7A00B6063D /* Expression_52@2x.png in Resources */, - 36C3B6E4192B3D7A00B6063D /* Expression_53@2x.png in Resources */, - 36C3B6C9192B3D7A00B6063D /* Expression_29@2x.png in Resources */, - 36C3B6B0192B3D7A00B6063D /* Expression_101@2x.png in Resources */, - 36C3B700192B3D7A00B6063D /* Expression_79@2x.png in Resources */, - 36C3B6D8192B3D7A00B6063D /* Expression_42@2x.png in Resources */, - 36C3B6BC192B3D7A00B6063D /* Expression_17@2x.png in Resources */, - 36C3B6B9192B3D7A00B6063D /* Expression_14@2x.png in Resources */, - 369EBEC61929B320008CE3DB /* ReceiverTextNodeBkg_ios7@2x.png in Resources */, - 36C3B6CA192B3D7A00B6063D /* Expression_2@2x.png in Resources */, - 36C3B70B192B3D7A00B6063D /* Expression_89@2x.png in Resources */, - 364A892A1929B07200BAFB8C /* InfoPlist.strings in Resources */, - 36C3B6C8192B3D7A00B6063D /* Expression_28@2x.png in Resources */, - 36C3B6B8192B3D7A00B6063D /* Expression_13@2x.png in Resources */, - 36C3B6BE192B3D7A00B6063D /* Expression_19@2x.png in Resources */, - 36C3B708192B3D7A00B6063D /* Expression_86@2x.png in Resources */, - 36C3B6C3192B3D7A00B6063D /* Expression_23@2x.png in Resources */, - 36C3B6B7192B3D7A00B6063D /* Expression_12@2x.png in Resources */, - 36C3B6CF192B3D7A00B6063D /* Expression_34@2x.png in Resources */, - 36C3B6E9192B3D7A00B6063D /* Expression_58@2x.png in Resources */, - 36C3B6B1192B3D7A00B6063D /* Expression_102@2x.png in Resources */, - 364A89331929B07200BAFB8C /* Main.storyboard in Resources */, - 36C3B6CD192B3D7A00B6063D /* Expression_32@2x.png in Resources */, - 36C3B6B4192B3D7A00B6063D /* Expression_105@2x.png in Resources */, - 36C3B6F6192B3D7A00B6063D /* Expression_6@2x.png in Resources */, - 36C3B6C1192B3D7A00B6063D /* Expression_21@2x.png in Resources */, - 36C3B70F192B3D7A00B6063D /* Expression_92@2x.png in Resources */, - 36C3B6B2192B3D7A00B6063D /* Expression_103@2x.png in Resources */, - 36C3B6FE192B3D7A00B6063D /* Expression_77@2x.png in Resources */, - 36C3B6EF192B3D7A00B6063D /* Expression_63@2x.png in Resources */, - 36C3B6FB192B3D7A00B6063D /* Expression_74@2x.png in Resources */, - 36C3B6FC192B3D7A00B6063D /* Expression_75@2x.png in Resources */, - 36C3B6F5192B3D7A00B6063D /* Expression_69@2x.png in Resources */, - 36C3B6BB192B3D7A00B6063D /* Expression_16@2x.png in Resources */, - 36C3B70D192B3D7A00B6063D /* Expression_90@2x.png in Resources */, - 36C3B6CB192B3D7A00B6063D /* Expression_30@2x.png in Resources */, - 36C3B6D1192B3D7A00B6063D /* Expression_36@2x.png in Resources */, - 364703711A384D4000597BC3 /* MLEmojiLabel_TableView.jpg in Resources */, - 36C3B6DC192B3D7A00B6063D /* Expression_46@2x.png in Resources */, - 36C3B707192B3D7A00B6063D /* Expression_85@2x.png in Resources */, - 36C3B721192B424700B6063D /* expressionImage_custom.plist in Resources */, - 36C3B6CE192B3D7A00B6063D /* Expression_33@2x.png in Resources */, - 36C3B6AF192B3D7A00B6063D /* Expression_100@2x.png in Resources */, - 36C3B6F9192B3D7A00B6063D /* Expression_72@2x.png in Resources */, - 36C3B710192B3D7A00B6063D /* Expression_93@2x.png in Resources */, - 36C3B716192B3D7A00B6063D /* Expression_99@2x.png in Resources */, - 36C3B702192B3D7A00B6063D /* Expression_80@2x.png in Resources */, - 36C3B6C7192B3D7A00B6063D /* Expression_27@2x.png in Resources */, - 36C3B712192B3D7A00B6063D /* Expression_95@2x.png in Resources */, - 36C4DBC319790BAA00731042 /* README.md in Resources */, - 36C3B6D6192B3D7A00B6063D /* Expression_40@2x.png in Resources */, - 36C3B6C2192B3D7A00B6063D /* Expression_22@2x.png in Resources */, - 36C3B6D3192B3D7A00B6063D /* Expression_38@2x.png in Resources */, - 369EBEC71929B320008CE3DB /* ReceiverTextNodeBkgHL_ios7@2x.png in Resources */, - 36C3B6CC192B3D7A00B6063D /* Expression_31@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364A893B1929B07200BAFB8C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 364A89491929B07200BAFB8C /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 364A89181929B07200BAFB8C /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 364A89361929B07200BAFB8C /* ViewController.m in Sources */, - 364385B21A369B0E00C220CF /* EmojiTableViewController.m in Sources */, - 364A89301929B07200BAFB8C /* AppDelegate.m in Sources */, - 365FA09B1B57B7770094D200 /* TTTAttributedLabel.m in Sources */, - 369EE2DF19AB2BE100A93160 /* MLEmojiLabel.m in Sources */, - 364A892C1929B07200BAFB8C /* main.m in Sources */, - 364385B11A369B0E00C220CF /* EmojiTableViewCell.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364A89391929B07200BAFB8C /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 364A894B1929B07200BAFB8C /* MLEmojiLabelTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 364A89431929B07200BAFB8C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 364A891B1929B07200BAFB8C /* MLEmojiLabel */; - targetProxy = 364A89421929B07200BAFB8C /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 364A89281929B07200BAFB8C /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 364A89291929B07200BAFB8C /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - 364A89311929B07200BAFB8C /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 364A89321929B07200BAFB8C /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 364A89471929B07200BAFB8C /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 364A89481929B07200BAFB8C /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 364A894C1929B07200BAFB8C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 364A894D1929B07200BAFB8C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 364A894F1929B07200BAFB8C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; - INFOPLIST_FILE = "MLEmojiLabel/MLEmojiLabel-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 364A89501929B07200BAFB8C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; - INFOPLIST_FILE = "MLEmojiLabel/MLEmojiLabel-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - 364A89521929B07200BAFB8C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MLEmojiLabel.app/MLEmojiLabel"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "MLEmojiLabelTests/MLEmojiLabelTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Debug; - }; - 364A89531929B07200BAFB8C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MLEmojiLabel.app/MLEmojiLabel"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MLEmojiLabel/MLEmojiLabel-Prefix.pch"; - INFOPLIST_FILE = "MLEmojiLabelTests/MLEmojiLabelTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 364A89171929B07200BAFB8C /* Build configuration list for PBXProject "MLEmojiLabel" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 364A894C1929B07200BAFB8C /* Debug */, - 364A894D1929B07200BAFB8C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 364A894E1929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabel" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 364A894F1929B07200BAFB8C /* Debug */, - 364A89501929B07200BAFB8C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 364A89511929B07200BAFB8C /* Build configuration list for PBXNativeTarget "MLEmojiLabelTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 364A89521929B07200BAFB8C /* Debug */, - 364A89531929B07200BAFB8C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 364A89141929B07200BAFB8C /* Project object */; -} diff --git a/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate b/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 7b290ac..0000000 Binary files a/MLEmojiLabel.xcodeproj/project.xcworkspace/xcuserdata/molon.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ