diff --git a/JMTabBarKit/JMTabBarKit/JMTabBarController.m b/JMTabBarKit/JMTabBarKit/JMTabBarController.m index 45b3573..35cd864 100644 --- a/JMTabBarKit/JMTabBarKit/JMTabBarController.m +++ b/JMTabBarKit/JMTabBarKit/JMTabBarController.m @@ -102,6 +102,7 @@ - (void)setupTabBarController { navVC.tabBarItem.selectedImage = [UIImage imageNamed:item.selectedImageName]; if (JM_TabBar_IOS7_OR_LATER) { + navVC.tabBarItem.image = [navVC.tabBarItem.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; navVC.tabBarItem.selectedImage = [navVC.tabBarItem.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; }else{ [navVC.tabBarItem setFinishedSelectedImage:navVC.tabBarItem.selectedImage diff --git a/JMTabBarKitTest.xcodeproj/project.pbxproj b/JMTabBarKitTest.xcodeproj/project.pbxproj index 3e2949f..7df86ff 100644 --- a/JMTabBarKitTest.xcodeproj/project.pbxproj +++ b/JMTabBarKitTest.xcodeproj/project.pbxproj @@ -7,36 +7,38 @@ objects = { /* Begin PBXBuildFile section */ - 1A1664A91C7819A700D5151B /* Tab_Assistant_Highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664991C7819A700D5151B /* Tab_Assistant_Highlight.png */; }; - 1A1664AA1C7819A700D5151B /* Tab_Assistant_Highlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A16649A1C7819A700D5151B /* Tab_Assistant_Highlight@2x.png */; }; - 1A1664AB1C7819A700D5151B /* Tab_Assistant_Normal.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A16649B1C7819A700D5151B /* Tab_Assistant_Normal.png */; }; - 1A1664AC1C7819A700D5151B /* Tab_Assistant_Normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A16649C1C7819A700D5151B /* Tab_Assistant_Normal@2x.png */; }; - 1A1664B11C7819A700D5151B /* Tab_Main_Highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A11C7819A700D5151B /* Tab_Main_Highlight.png */; }; - 1A1664B21C7819A700D5151B /* Tab_Main_Highlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A21C7819A700D5151B /* Tab_Main_Highlight@2x.png */; }; - 1A1664B31C7819A700D5151B /* Tab_Main_Normal.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A31C7819A700D5151B /* Tab_Main_Normal.png */; }; - 1A1664B41C7819A700D5151B /* Tab_Main_Normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A41C7819A700D5151B /* Tab_Main_Normal@2x.png */; }; - 1A1664B51C7819A700D5151B /* Tab_Mine_Highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A51C7819A700D5151B /* Tab_Mine_Highlight.png */; }; - 1A1664B61C7819A700D5151B /* Tab_Mine_Highlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A61C7819A700D5151B /* Tab_Mine_Highlight@2x.png */; }; - 1A1664B71C7819A700D5151B /* Tab_Mine_Normal.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A71C7819A700D5151B /* Tab_Mine_Normal.png */; }; - 1A1664B81C7819A700D5151B /* Tab_Mine_Normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A1664A81C7819A700D5151B /* Tab_Mine_Normal@2x.png */; }; - 1A2AC54C1AE9D5FF00F7E0A2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2AC54B1AE9D5FF00F7E0A2 /* main.m */; }; - 1A2AC54F1AE9D5FF00F7E0A2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2AC54E1AE9D5FF00F7E0A2 /* AppDelegate.m */; }; - 1A2AC5521AE9D5FF00F7E0A2 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2AC5511AE9D5FF00F7E0A2 /* ViewController.m */; }; - 1A2AC5551AE9D5FF00F7E0A2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1A2AC5531AE9D5FF00F7E0A2 /* Main.storyboard */; }; - 1A2AC5571AE9D5FF00F7E0A2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A2AC5561AE9D5FF00F7E0A2 /* Images.xcassets */; }; - 1A2AC55A1AE9D5FF00F7E0A2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1A2AC5581AE9D5FF00F7E0A2 /* LaunchScreen.xib */; }; - 1A658B861DF4629600E265A7 /* 1.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 1A658B841DF4629600E265A7 /* 1.pdf */; }; - 1A658B871DF4629600E265A7 /* 2.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 1A658B851DF4629600E265A7 /* 2.pdf */; }; - 1AA540821AEF2C6A0094A70F /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AA540811AEF2C6A0094A70F /* FirstViewController.m */; }; - 1AA540861AEF2CB90094A70F /* SecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AA540851AEF2CB90094A70F /* SecondViewController.m */; }; - 1AA540891AEF2D070094A70F /* ThirdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AA540881AEF2D070094A70F /* ThirdViewController.m */; }; - 1AA5408A1AEF2E530094A70F /* libJMTabBarKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2AC5971AE9D63900F7E0A2 /* libJMTabBarKit.a */; }; + 1A658B9A1DF46B0300E265A7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658B991DF46B0300E265A7 /* main.m */; }; + 1A658B9D1DF46B0300E265A7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658B9C1DF46B0300E265A7 /* AppDelegate.m */; }; + 1A658BA01DF46B0300E265A7 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658B9F1DF46B0300E265A7 /* LoginViewController.m */; }; + 1A658BA31DF46B0300E265A7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1A658BA11DF46B0300E265A7 /* Main.storyboard */; }; + 1A658BA51DF46B0300E265A7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A658BA41DF46B0300E265A7 /* Assets.xcassets */; }; + 1A658BA81DF46B0300E265A7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1A658BA61DF46B0300E265A7 /* LaunchScreen.storyboard */; }; + 1A658BB31DF46B0300E265A7 /* JMTabBarKitTestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658BB21DF46B0300E265A7 /* JMTabBarKitTestTests.m */; }; + 1A658BBE1DF46B0300E265A7 /* JMTabBarKitTestUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658BBD1DF46B0300E265A7 /* JMTabBarKitTestUITests.m */; }; + 1A658BD21DF46BD000E265A7 /* libJMTabBarKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A658BD11DF46B7D00E265A7 /* libJMTabBarKit.a */; }; + 1A658BD91DF46C2C00E265A7 /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658BD41DF46C2C00E265A7 /* FirstViewController.m */; }; + 1A658BDA1DF46C2C00E265A7 /* SecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658BD61DF46C2C00E265A7 /* SecondViewController.m */; }; + 1A658BDB1DF46C2C00E265A7 /* ThirdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A658BD81DF46C2C00E265A7 /* ThirdViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1A2AC5961AE9D63900F7E0A2 /* PBXContainerItemProxy */ = { + 1A658BAF1DF46B0300E265A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1A2AC5921AE9D63900F7E0A2 /* JMTabBarKit.xcodeproj */; + containerPortal = 1A658B8D1DF46B0300E265A7 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1A658B941DF46B0300E265A7; + remoteInfo = JMTabBarKitTest; + }; + 1A658BBA1DF46B0300E265A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A658B8D1DF46B0300E265A7 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1A658B941DF46B0300E265A7; + remoteInfo = JMTabBarKitTest; + }; + 1A658BD01DF46B7D00E265A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1A658BCB1DF46B7D00E265A7 /* JMTabBarKit.xcodeproj */; proxyType = 2; remoteGlobalIDString = 1A2AC5781AE9D61400F7E0A2; remoteInfo = JMTabBarKit; @@ -44,124 +46,130 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 1A1664991C7819A700D5151B /* Tab_Assistant_Highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Assistant_Highlight.png; sourceTree = ""; }; - 1A16649A1C7819A700D5151B /* Tab_Assistant_Highlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Assistant_Highlight@2x.png"; sourceTree = ""; }; - 1A16649B1C7819A700D5151B /* Tab_Assistant_Normal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Assistant_Normal.png; sourceTree = ""; }; - 1A16649C1C7819A700D5151B /* Tab_Assistant_Normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Assistant_Normal@2x.png"; sourceTree = ""; }; - 1A1664A11C7819A700D5151B /* Tab_Main_Highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Main_Highlight.png; sourceTree = ""; }; - 1A1664A21C7819A700D5151B /* Tab_Main_Highlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Main_Highlight@2x.png"; sourceTree = ""; }; - 1A1664A31C7819A700D5151B /* Tab_Main_Normal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Main_Normal.png; sourceTree = ""; }; - 1A1664A41C7819A700D5151B /* Tab_Main_Normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Main_Normal@2x.png"; sourceTree = ""; }; - 1A1664A51C7819A700D5151B /* Tab_Mine_Highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Mine_Highlight.png; sourceTree = ""; }; - 1A1664A61C7819A700D5151B /* Tab_Mine_Highlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Mine_Highlight@2x.png"; sourceTree = ""; }; - 1A1664A71C7819A700D5151B /* Tab_Mine_Normal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Tab_Mine_Normal.png; sourceTree = ""; }; - 1A1664A81C7819A700D5151B /* Tab_Mine_Normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Tab_Mine_Normal@2x.png"; sourceTree = ""; }; - 1A2AC5461AE9D5FF00F7E0A2 /* JMTabBarKitTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JMTabBarKitTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1A2AC54A1AE9D5FF00F7E0A2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1A2AC54B1AE9D5FF00F7E0A2 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 1A2AC54D1AE9D5FF00F7E0A2 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 1A2AC54E1AE9D5FF00F7E0A2 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 1A2AC5501AE9D5FF00F7E0A2 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 1A2AC5511AE9D5FF00F7E0A2 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 1A2AC5541AE9D5FF00F7E0A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 1A2AC5561AE9D5FF00F7E0A2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 1A2AC5591AE9D5FF00F7E0A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 1A2AC5921AE9D63900F7E0A2 /* JMTabBarKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = JMTabBarKit.xcodeproj; path = JMTabBarKit/JMTabBarKit.xcodeproj; sourceTree = ""; }; - 1A658B841DF4629600E265A7 /* 1.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 1.pdf; sourceTree = ""; }; - 1A658B851DF4629600E265A7 /* 2.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 2.pdf; sourceTree = ""; }; - 1AA540801AEF2C6A0094A70F /* FirstViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; - 1AA540811AEF2C6A0094A70F /* FirstViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; - 1AA540841AEF2CB90094A70F /* SecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecondViewController.h; sourceTree = ""; }; - 1AA540851AEF2CB90094A70F /* SecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecondViewController.m; sourceTree = ""; }; - 1AA540871AEF2D070094A70F /* ThirdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdViewController.h; sourceTree = ""; }; - 1AA540881AEF2D070094A70F /* ThirdViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThirdViewController.m; sourceTree = ""; }; + 1A658B951DF46B0300E265A7 /* JMTabBarKitTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JMTabBarKitTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A658B991DF46B0300E265A7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 1A658B9B1DF46B0300E265A7 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 1A658B9C1DF46B0300E265A7 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 1A658B9E1DF46B0300E265A7 /* LoginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = ""; }; + 1A658B9F1DF46B0300E265A7 /* LoginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = ""; }; + 1A658BA21DF46B0300E265A7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 1A658BA41DF46B0300E265A7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 1A658BA71DF46B0300E265A7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 1A658BA91DF46B0300E265A7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1A658BAE1DF46B0300E265A7 /* JMTabBarKitTestTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JMTabBarKitTestTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A658BB21DF46B0300E265A7 /* JMTabBarKitTestTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JMTabBarKitTestTests.m; sourceTree = ""; }; + 1A658BB41DF46B0300E265A7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1A658BB91DF46B0300E265A7 /* JMTabBarKitTestUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JMTabBarKitTestUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A658BBD1DF46B0300E265A7 /* JMTabBarKitTestUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JMTabBarKitTestUITests.m; sourceTree = ""; }; + 1A658BBF1DF46B0300E265A7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1A658BCB1DF46B7D00E265A7 /* JMTabBarKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = JMTabBarKit.xcodeproj; path = JMTabBarKit/JMTabBarKit.xcodeproj; sourceTree = ""; }; + 1A658BD31DF46C2C00E265A7 /* FirstViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; + 1A658BD41DF46C2C00E265A7 /* FirstViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; + 1A658BD51DF46C2C00E265A7 /* SecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecondViewController.h; sourceTree = ""; }; + 1A658BD61DF46C2C00E265A7 /* SecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecondViewController.m; sourceTree = ""; }; + 1A658BD71DF46C2C00E265A7 /* ThirdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdViewController.h; sourceTree = ""; }; + 1A658BD81DF46C2C00E265A7 /* ThirdViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThirdViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1A2AC5431AE9D5FF00F7E0A2 /* Frameworks */ = { + 1A658B921DF46B0300E265A7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A658BD21DF46BD000E265A7 /* libJMTabBarKit.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BAB1DF46B0300E265A7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BB61DF46B0300E265A7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1AA5408A1AEF2E530094A70F /* libJMTabBarKit.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1A1664981C7819A700D5151B /* image */ = { + 1A658B8C1DF46B0300E265A7 = { isa = PBXGroup; children = ( - 1A658B841DF4629600E265A7 /* 1.pdf */, - 1A658B851DF4629600E265A7 /* 2.pdf */, - 1A1664991C7819A700D5151B /* Tab_Assistant_Highlight.png */, - 1A16649A1C7819A700D5151B /* Tab_Assistant_Highlight@2x.png */, - 1A16649B1C7819A700D5151B /* Tab_Assistant_Normal.png */, - 1A16649C1C7819A700D5151B /* Tab_Assistant_Normal@2x.png */, - 1A1664A11C7819A700D5151B /* Tab_Main_Highlight.png */, - 1A1664A21C7819A700D5151B /* Tab_Main_Highlight@2x.png */, - 1A1664A31C7819A700D5151B /* Tab_Main_Normal.png */, - 1A1664A41C7819A700D5151B /* Tab_Main_Normal@2x.png */, - 1A1664A51C7819A700D5151B /* Tab_Mine_Highlight.png */, - 1A1664A61C7819A700D5151B /* Tab_Mine_Highlight@2x.png */, - 1A1664A71C7819A700D5151B /* Tab_Mine_Normal.png */, - 1A1664A81C7819A700D5151B /* Tab_Mine_Normal@2x.png */, - ); - path = image; + 1A658BCB1DF46B7D00E265A7 /* JMTabBarKit.xcodeproj */, + 1A658B971DF46B0300E265A7 /* JMTabBarKitTest */, + 1A658BB11DF46B0300E265A7 /* JMTabBarKitTestTests */, + 1A658BBC1DF46B0300E265A7 /* JMTabBarKitTestUITests */, + 1A658B961DF46B0300E265A7 /* Products */, + ); sourceTree = ""; }; - 1A2AC53D1AE9D5FF00F7E0A2 = { + 1A658B961DF46B0300E265A7 /* Products */ = { isa = PBXGroup; children = ( - 1A2AC5921AE9D63900F7E0A2 /* JMTabBarKit.xcodeproj */, - 1A2AC5481AE9D5FF00F7E0A2 /* JMTabBarKitTest */, - 1A2AC5471AE9D5FF00F7E0A2 /* Products */, + 1A658B951DF46B0300E265A7 /* JMTabBarKitTest.app */, + 1A658BAE1DF46B0300E265A7 /* JMTabBarKitTestTests.xctest */, + 1A658BB91DF46B0300E265A7 /* JMTabBarKitTestUITests.xctest */, ); + name = Products; sourceTree = ""; }; - 1A2AC5471AE9D5FF00F7E0A2 /* Products */ = { + 1A658B971DF46B0300E265A7 /* JMTabBarKitTest */ = { isa = PBXGroup; children = ( - 1A2AC5461AE9D5FF00F7E0A2 /* JMTabBarKitTest.app */, + 1A658B9B1DF46B0300E265A7 /* AppDelegate.h */, + 1A658B9C1DF46B0300E265A7 /* AppDelegate.m */, + 1A658BD31DF46C2C00E265A7 /* FirstViewController.h */, + 1A658BD41DF46C2C00E265A7 /* FirstViewController.m */, + 1A658BD51DF46C2C00E265A7 /* SecondViewController.h */, + 1A658BD61DF46C2C00E265A7 /* SecondViewController.m */, + 1A658BD71DF46C2C00E265A7 /* ThirdViewController.h */, + 1A658BD81DF46C2C00E265A7 /* ThirdViewController.m */, + 1A658B9E1DF46B0300E265A7 /* LoginViewController.h */, + 1A658B9F1DF46B0300E265A7 /* LoginViewController.m */, + 1A658BA11DF46B0300E265A7 /* Main.storyboard */, + 1A658BA41DF46B0300E265A7 /* Assets.xcassets */, + 1A658BA61DF46B0300E265A7 /* LaunchScreen.storyboard */, + 1A658BA91DF46B0300E265A7 /* Info.plist */, + 1A658B981DF46B0300E265A7 /* Supporting Files */, ); - name = Products; + path = JMTabBarKitTest; sourceTree = ""; }; - 1A2AC5481AE9D5FF00F7E0A2 /* JMTabBarKitTest */ = { + 1A658B981DF46B0300E265A7 /* Supporting Files */ = { isa = PBXGroup; children = ( - 1A1664981C7819A700D5151B /* image */, - 1A2AC54D1AE9D5FF00F7E0A2 /* AppDelegate.h */, - 1A2AC54E1AE9D5FF00F7E0A2 /* AppDelegate.m */, - 1A2AC5501AE9D5FF00F7E0A2 /* ViewController.h */, - 1A2AC5511AE9D5FF00F7E0A2 /* ViewController.m */, - 1A2AC5531AE9D5FF00F7E0A2 /* Main.storyboard */, - 1A2AC5561AE9D5FF00F7E0A2 /* Images.xcassets */, - 1A2AC5581AE9D5FF00F7E0A2 /* LaunchScreen.xib */, - 1AA540801AEF2C6A0094A70F /* FirstViewController.h */, - 1AA540811AEF2C6A0094A70F /* FirstViewController.m */, - 1AA540841AEF2CB90094A70F /* SecondViewController.h */, - 1AA540851AEF2CB90094A70F /* SecondViewController.m */, - 1AA540871AEF2D070094A70F /* ThirdViewController.h */, - 1AA540881AEF2D070094A70F /* ThirdViewController.m */, - 1A2AC5491AE9D5FF00F7E0A2 /* Supporting Files */, + 1A658B991DF46B0300E265A7 /* main.m */, ); - path = JMTabBarKitTest; + name = "Supporting Files"; sourceTree = ""; }; - 1A2AC5491AE9D5FF00F7E0A2 /* Supporting Files */ = { + 1A658BB11DF46B0300E265A7 /* JMTabBarKitTestTests */ = { isa = PBXGroup; children = ( - 1A2AC54A1AE9D5FF00F7E0A2 /* Info.plist */, - 1A2AC54B1AE9D5FF00F7E0A2 /* main.m */, + 1A658BB21DF46B0300E265A7 /* JMTabBarKitTestTests.m */, + 1A658BB41DF46B0300E265A7 /* Info.plist */, ); - name = "Supporting Files"; + path = JMTabBarKitTestTests; + sourceTree = ""; + }; + 1A658BBC1DF46B0300E265A7 /* JMTabBarKitTestUITests */ = { + isa = PBXGroup; + children = ( + 1A658BBD1DF46B0300E265A7 /* JMTabBarKitTestUITests.m */, + 1A658BBF1DF46B0300E265A7 /* Info.plist */, + ); + path = JMTabBarKitTestUITests; sourceTree = ""; }; - 1A2AC5931AE9D63900F7E0A2 /* Products */ = { + 1A658BCC1DF46B7D00E265A7 /* Products */ = { isa = PBXGroup; children = ( - 1A2AC5971AE9D63900F7E0A2 /* libJMTabBarKit.a */, + 1A658BD11DF46B7D00E265A7 /* libJMTabBarKit.a */, ); name = Products; sourceTree = ""; @@ -169,13 +177,13 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 1A2AC5451AE9D5FF00F7E0A2 /* JMTabBarKitTest */ = { + 1A658B941DF46B0300E265A7 /* JMTabBarKitTest */ = { isa = PBXNativeTarget; - buildConfigurationList = 1A2AC5691AE9D5FF00F7E0A2 /* Build configuration list for PBXNativeTarget "JMTabBarKitTest" */; + buildConfigurationList = 1A658BC21DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTest" */; buildPhases = ( - 1A2AC5421AE9D5FF00F7E0A2 /* Sources */, - 1A2AC5431AE9D5FF00F7E0A2 /* Frameworks */, - 1A2AC5441AE9D5FF00F7E0A2 /* Resources */, + 1A658B911DF46B0300E265A7 /* Sources */, + 1A658B921DF46B0300E265A7 /* Frameworks */, + 1A658B931DF46B0300E265A7 /* Resources */, ); buildRules = ( ); @@ -183,24 +191,74 @@ ); name = JMTabBarKitTest; productName = JMTabBarKitTest; - productReference = 1A2AC5461AE9D5FF00F7E0A2 /* JMTabBarKitTest.app */; + productReference = 1A658B951DF46B0300E265A7 /* JMTabBarKitTest.app */; productType = "com.apple.product-type.application"; }; + 1A658BAD1DF46B0300E265A7 /* JMTabBarKitTestTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1A658BC51DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTestTests" */; + buildPhases = ( + 1A658BAA1DF46B0300E265A7 /* Sources */, + 1A658BAB1DF46B0300E265A7 /* Frameworks */, + 1A658BAC1DF46B0300E265A7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 1A658BB01DF46B0300E265A7 /* PBXTargetDependency */, + ); + name = JMTabBarKitTestTests; + productName = JMTabBarKitTestTests; + productReference = 1A658BAE1DF46B0300E265A7 /* JMTabBarKitTestTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 1A658BB81DF46B0300E265A7 /* JMTabBarKitTestUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1A658BC81DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTestUITests" */; + buildPhases = ( + 1A658BB51DF46B0300E265A7 /* Sources */, + 1A658BB61DF46B0300E265A7 /* Frameworks */, + 1A658BB71DF46B0300E265A7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 1A658BBB1DF46B0300E265A7 /* PBXTargetDependency */, + ); + name = JMTabBarKitTestUITests; + productName = JMTabBarKitTestUITests; + productReference = 1A658BB91DF46B0300E265A7 /* JMTabBarKitTestUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 1A2AC53E1AE9D5FF00F7E0A2 /* Project object */ = { + 1A658B8D1DF46B0300E265A7 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0730; - ORGANIZATIONNAME = james; + LastUpgradeCheck = 0810; + ORGANIZATIONNAME = James; TargetAttributes = { - 1A2AC5451AE9D5FF00F7E0A2 = { - CreatedOnToolsVersion = 6.3.1; + 1A658B941DF46B0300E265A7 = { + CreatedOnToolsVersion = 8.1; + DevelopmentTeam = 58SDKF7S9Q; + ProvisioningStyle = Automatic; + }; + 1A658BAD1DF46B0300E265A7 = { + CreatedOnToolsVersion = 8.1; + DevelopmentTeam = 58SDKF7S9Q; + ProvisioningStyle = Automatic; + TestTargetID = 1A658B941DF46B0300E265A7; + }; + 1A658BB81DF46B0300E265A7 = { + CreatedOnToolsVersion = 8.1; + DevelopmentTeam = 58SDKF7S9Q; + ProvisioningStyle = Automatic; + TestTargetID = 1A658B941DF46B0300E265A7; }; }; }; - buildConfigurationList = 1A2AC5411AE9D5FF00F7E0A2 /* Build configuration list for PBXProject "JMTabBarKitTest" */; + buildConfigurationList = 1A658B901DF46B0300E265A7 /* Build configuration list for PBXProject "JMTabBarKitTest" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -208,99 +266,131 @@ en, Base, ); - mainGroup = 1A2AC53D1AE9D5FF00F7E0A2; - productRefGroup = 1A2AC5471AE9D5FF00F7E0A2 /* Products */; + mainGroup = 1A658B8C1DF46B0300E265A7; + productRefGroup = 1A658B961DF46B0300E265A7 /* Products */; projectDirPath = ""; projectReferences = ( { - ProductGroup = 1A2AC5931AE9D63900F7E0A2 /* Products */; - ProjectRef = 1A2AC5921AE9D63900F7E0A2 /* JMTabBarKit.xcodeproj */; + ProductGroup = 1A658BCC1DF46B7D00E265A7 /* Products */; + ProjectRef = 1A658BCB1DF46B7D00E265A7 /* JMTabBarKit.xcodeproj */; }, ); projectRoot = ""; targets = ( - 1A2AC5451AE9D5FF00F7E0A2 /* JMTabBarKitTest */, + 1A658B941DF46B0300E265A7 /* JMTabBarKitTest */, + 1A658BAD1DF46B0300E265A7 /* JMTabBarKitTestTests */, + 1A658BB81DF46B0300E265A7 /* JMTabBarKitTestUITests */, ); }; /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 1A2AC5971AE9D63900F7E0A2 /* libJMTabBarKit.a */ = { + 1A658BD11DF46B7D00E265A7 /* libJMTabBarKit.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libJMTabBarKit.a; - remoteRef = 1A2AC5961AE9D63900F7E0A2 /* PBXContainerItemProxy */; + remoteRef = 1A658BD01DF46B7D00E265A7 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ - 1A2AC5441AE9D5FF00F7E0A2 /* Resources */ = { + 1A658B931DF46B0300E265A7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A658BA81DF46B0300E265A7 /* LaunchScreen.storyboard in Resources */, + 1A658BA51DF46B0300E265A7 /* Assets.xcassets in Resources */, + 1A658BA31DF46B0300E265A7 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BAC1DF46B0300E265A7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BB71DF46B0300E265A7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1A1664B21C7819A700D5151B /* Tab_Main_Highlight@2x.png in Resources */, - 1A1664B71C7819A700D5151B /* Tab_Mine_Normal.png in Resources */, - 1A658B871DF4629600E265A7 /* 2.pdf in Resources */, - 1A1664B11C7819A700D5151B /* Tab_Main_Highlight.png in Resources */, - 1A1664B31C7819A700D5151B /* Tab_Main_Normal.png in Resources */, - 1A1664B41C7819A700D5151B /* Tab_Main_Normal@2x.png in Resources */, - 1A1664B81C7819A700D5151B /* Tab_Mine_Normal@2x.png in Resources */, - 1A1664AA1C7819A700D5151B /* Tab_Assistant_Highlight@2x.png in Resources */, - 1A1664AC1C7819A700D5151B /* Tab_Assistant_Normal@2x.png in Resources */, - 1A2AC5551AE9D5FF00F7E0A2 /* Main.storyboard in Resources */, - 1A1664A91C7819A700D5151B /* Tab_Assistant_Highlight.png in Resources */, - 1A658B861DF4629600E265A7 /* 1.pdf in Resources */, - 1A2AC55A1AE9D5FF00F7E0A2 /* LaunchScreen.xib in Resources */, - 1A1664B61C7819A700D5151B /* Tab_Mine_Highlight@2x.png in Resources */, - 1A2AC5571AE9D5FF00F7E0A2 /* Images.xcassets in Resources */, - 1A1664AB1C7819A700D5151B /* Tab_Assistant_Normal.png in Resources */, - 1A1664B51C7819A700D5151B /* Tab_Mine_Highlight.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 1A2AC5421AE9D5FF00F7E0A2 /* Sources */ = { + 1A658B911DF46B0300E265A7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A658BDA1DF46C2C00E265A7 /* SecondViewController.m in Sources */, + 1A658BA01DF46B0300E265A7 /* LoginViewController.m in Sources */, + 1A658BDB1DF46C2C00E265A7 /* ThirdViewController.m in Sources */, + 1A658B9D1DF46B0300E265A7 /* AppDelegate.m in Sources */, + 1A658B9A1DF46B0300E265A7 /* main.m in Sources */, + 1A658BD91DF46C2C00E265A7 /* FirstViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BAA1DF46B0300E265A7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A658BB31DF46B0300E265A7 /* JMTabBarKitTestTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1A658BB51DF46B0300E265A7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1AA540861AEF2CB90094A70F /* SecondViewController.m in Sources */, - 1A2AC5521AE9D5FF00F7E0A2 /* ViewController.m in Sources */, - 1AA540891AEF2D070094A70F /* ThirdViewController.m in Sources */, - 1A2AC54F1AE9D5FF00F7E0A2 /* AppDelegate.m in Sources */, - 1A2AC54C1AE9D5FF00F7E0A2 /* main.m in Sources */, - 1AA540821AEF2C6A0094A70F /* FirstViewController.m in Sources */, + 1A658BBE1DF46B0300E265A7 /* JMTabBarKitTestUITests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 1A658BB01DF46B0300E265A7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1A658B941DF46B0300E265A7 /* JMTabBarKitTest */; + targetProxy = 1A658BAF1DF46B0300E265A7 /* PBXContainerItemProxy */; + }; + 1A658BBB1DF46B0300E265A7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1A658B941DF46B0300E265A7 /* JMTabBarKitTest */; + targetProxy = 1A658BBA1DF46B0300E265A7 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ - 1A2AC5531AE9D5FF00F7E0A2 /* Main.storyboard */ = { + 1A658BA11DF46B0300E265A7 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 1A2AC5541AE9D5FF00F7E0A2 /* Base */, + 1A658BA21DF46B0300E265A7 /* Base */, ); name = Main.storyboard; sourceTree = ""; }; - 1A2AC5581AE9D5FF00F7E0A2 /* LaunchScreen.xib */ = { + 1A658BA61DF46B0300E265A7 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - 1A2AC5591AE9D5FF00F7E0A2 /* Base */, + 1A658BA71DF46B0300E265A7 /* Base */, ); - name = LaunchScreen.xib; + name = LaunchScreen.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 1A2AC5671AE9D5FF00F7E0A2 /* Debug */ = { + 1A658BC01DF46B0300E265A7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -308,15 +398,18 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -327,14 +420,13 @@ "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 = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.1; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -342,10 +434,11 @@ }; name = Debug; }; - 1A2AC5681AE9D5FF00F7E0A2 /* Release */ = { + 1A658BC11DF46B0300E265A7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -353,10 +446,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -372,7 +468,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.1; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -380,62 +476,128 @@ }; name = Release; }; - 1A2AC56A1AE9D5FF00F7E0A2 /* Debug */ = { + 1A658BC31DF46B0300E265A7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = 58SDKF7S9Q; HEADER_SEARCH_PATHS = ( "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(PROJECT_DIR)/JMTabBarKit/JMTabBarKit", + "$(PROJECT_DIR)/JMTabBarKit/", ); INFOPLIST_FILE = JMTabBarKitTest/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_BUNDLE_IDENTIFIER = "suryani.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTest; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; - 1A2AC56B1AE9D5FF00F7E0A2 /* Release */ = { + 1A658BC41DF46B0300E265A7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = 58SDKF7S9Q; HEADER_SEARCH_PATHS = ( "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(PROJECT_DIR)/JMTabBarKit/JMTabBarKit", + "$(PROJECT_DIR)/JMTabBarKit/", ); INFOPLIST_FILE = JMTabBarKitTest/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_BUNDLE_IDENTIFIER = "suryani.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTest; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; + 1A658BC61DF46B0300E265A7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = 58SDKF7S9Q; + INFOPLIST_FILE = JMTabBarKitTestTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTestTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/JMTabBarKitTest.app/JMTabBarKitTest"; + }; + name = Debug; + }; + 1A658BC71DF46B0300E265A7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = 58SDKF7S9Q; + INFOPLIST_FILE = JMTabBarKitTestTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTestTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/JMTabBarKitTest.app/JMTabBarKitTest"; + }; + name = Release; + }; + 1A658BC91DF46B0300E265A7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEVELOPMENT_TEAM = 58SDKF7S9Q; + INFOPLIST_FILE = JMTabBarKitTestUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTestUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_TARGET_NAME = JMTabBarKitTest; + }; + name = Debug; + }; + 1A658BCA1DF46B0300E265A7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEVELOPMENT_TEAM = 58SDKF7S9Q; + INFOPLIST_FILE = JMTabBarKitTestUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.hgy.test.JMTabBarKitTestUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_TARGET_NAME = JMTabBarKitTest; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1A2AC5411AE9D5FF00F7E0A2 /* Build configuration list for PBXProject "JMTabBarKitTest" */ = { + 1A658B901DF46B0300E265A7 /* Build configuration list for PBXProject "JMTabBarKitTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1A658BC01DF46B0300E265A7 /* Debug */, + 1A658BC11DF46B0300E265A7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1A658BC21DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1A658BC31DF46B0300E265A7 /* Debug */, + 1A658BC41DF46B0300E265A7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1A658BC51DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTestTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1A2AC5671AE9D5FF00F7E0A2 /* Debug */, - 1A2AC5681AE9D5FF00F7E0A2 /* Release */, + 1A658BC61DF46B0300E265A7 /* Debug */, + 1A658BC71DF46B0300E265A7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1A2AC5691AE9D5FF00F7E0A2 /* Build configuration list for PBXNativeTarget "JMTabBarKitTest" */ = { + 1A658BC81DF46B0300E265A7 /* Build configuration list for PBXNativeTarget "JMTabBarKitTestUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1A2AC56A1AE9D5FF00F7E0A2 /* Debug */, - 1A2AC56B1AE9D5FF00F7E0A2 /* Release */, + 1A658BC91DF46B0300E265A7 /* Debug */, + 1A658BCA1DF46B0300E265A7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 1A2AC53E1AE9D5FF00F7E0A2 /* Project object */; + rootObject = 1A658B8D1DF46B0300E265A7 /* Project object */; } diff --git a/JMTabBarKitTest.xcodeproj/project.xcworkspace/xcuserdata/james.xcuserdatad/UserInterfaceState.xcuserstate b/JMTabBarKitTest.xcodeproj/project.xcworkspace/xcuserdata/james.xcuserdatad/UserInterfaceState.xcuserstate index 74adca0..2af634c 100644 Binary files a/JMTabBarKitTest.xcodeproj/project.xcworkspace/xcuserdata/james.xcuserdatad/UserInterfaceState.xcuserstate and b/JMTabBarKitTest.xcodeproj/project.xcworkspace/xcuserdata/james.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index 4215a81..0000000 --- a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/JMTabBarKitTest.xcscheme b/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/JMTabBarKitTest.xcscheme index ed02be8..c09646b 100644 --- a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/JMTabBarKitTest.xcscheme +++ b/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/JMTabBarKitTest.xcscheme @@ -1,6 +1,6 @@ - - - - + + + + @@ -79,7 +75,7 @@ runnableDebuggingMode = "0"> @@ -98,7 +94,7 @@ runnableDebuggingMode = "0"> diff --git a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/xcschememanagement.plist b/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/xcschememanagement.plist index b02bc33..3e68865 100644 --- a/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/JMTabBarKitTest.xcodeproj/xcuserdata/james.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,17 +7,22 @@ JMTabBarKitTest.xcscheme orderHint - 1 + 0 SuppressBuildableAutocreation - 1A2AC5451AE9D5FF00F7E0A2 + 1A658B941DF46B0300E265A7 primary - 1A2AC55E1AE9D5FF00F7E0A2 + 1A658BAD1DF46B0300E265A7 + + primary + + + 1A658BB81DF46B0300E265A7 primary diff --git a/JMTabBarKitTest/AppDelegate.h b/JMTabBarKitTest/AppDelegate.h index c3ab693..119d884 100644 --- a/JMTabBarKitTest/AppDelegate.h +++ b/JMTabBarKitTest/AppDelegate.h @@ -2,12 +2,12 @@ // AppDelegate.h // JMTabBarKitTest // -// Created by james on 15/4/24. -// Copyright (c) 2015年 james. All rights reserved. +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. // #import -#import "JMTabBarController.h" +#import @interface AppDelegate : UIResponder diff --git a/JMTabBarKitTest/AppDelegate.m b/JMTabBarKitTest/AppDelegate.m index 61d1fba..dd0494f 100644 --- a/JMTabBarKitTest/AppDelegate.m +++ b/JMTabBarKitTest/AppDelegate.m @@ -2,15 +2,15 @@ // AppDelegate.m // JMTabBarKitTest // -// Created by james on 15/4/24. -// Copyright (c) 2015年 james. All rights reserved. +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. // #import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" #import "ThirdViewController.h" -#import "ViewController.h" +#import "LoginViewController.h" @interface AppDelegate () @@ -22,54 +22,60 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [self setupJMTabBar]; + return YES; } + - (void)applicationWillResignActive:(UIApplication *)application { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. } + - (void)applicationDidEnterBackground:(UIApplication *)application { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } + - (void)applicationWillEnterForeground:(UIApplication *)application { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. } + - (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } + - (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } -#pragma mark - Test +#pragma mark - TabBar - (void)setupJMTabBar { NSMutableArray *tabArray = [NSMutableArray array]; - JMTabBarItem *item1 = [JMTabBarItem tabBarItemWithTitle:@"首页" + JMTabBarItem *item1 = [JMTabBarItem tabBarItemWithTitle:@"主页" controllClass:[FirstViewController class] - selectedImageName:@"Tab_Main_Highlight" - unSelectedImageName:@"Tab_Main_Normal" + selectedImageName:@"Tab_Main_Selected" + unSelectedImageName:@"Tab_Main_UnSelected" selected:true]; [tabArray addObject:item1]; - JMTabBarItem *item2 = [JMTabBarItem tabBarItemWithTitle:@"客服" + JMTabBarItem *item2 = [JMTabBarItem tabBarItemWithTitle:@"添加" controllClass:[SecondViewController class] selectedImageName:@"Tab_Center_Selected" - unSelectedImageName:@"Tab_Assistant_Normal" + unSelectedImageName:@"Tab_Center_UnSelected" selected:NO]; [tabArray addObject:item2]; JMTabBarItem *item3 = [JMTabBarItem tabBarItemWithTitle:@"我的" controllClass:[ThirdViewController class] - selectedImageName:@"Tab_Mine_Highlight" - unSelectedImageName:@"Tab_Mine_Normal" + selectedImageName:@"Tab_Mine_Selected" + unSelectedImageName:@"Tab_Mine_UnSelected" selected:NO]; [tabArray addObject:item3]; @@ -78,29 +84,29 @@ - (void)setupJMTabBar { NSDictionary *unSelectedStyleDic = @{NSFontAttributeName: [UIFont systemFontOfSize:12], NSForegroundColorAttributeName: [UIColor colorWithRed:74.0f/255.0f green:74.0f/255.0f blue:74.0f/255.0f alpha:1.0]}; - // 第一种创建方式 _tabBarVC = [[JMTabBarController alloc] initWithTabBarArray:tabArray - selectedTextAttributes:selectedStyleDic - unSelectedTextAttributes:unSelectedStyleDic]; + selectedTextAttributes:selectedStyleDic + unSelectedTextAttributes:unSelectedStyleDic]; __weak JMTabBarController *weakTabBarVC = _tabBarVC; _tabBarVC.tabBarShouldSelectBlock = ^(UIViewController * viewController,NSInteger shouldSelectedIndex) { if (shouldSelectedIndex == 2) { - ViewController *login = [[ViewController alloc] init]; + LoginViewController *login = [[LoginViewController alloc] init]; [weakTabBarVC presentViewController:login animated:YES completion:^{ }]; return NO; } - + return YES; }; self.window.rootViewController = _tabBarVC; -// UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 5)]; -// view.backgroundColor = [UIColor redColor]; -// [tabBarVC.tabBar addSubview:view]; + // UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 5)]; + // view.backgroundColor = [UIColor redColor]; + // [tabBarVC.tabBar addSubview:view]; UITabBarItem* tab = [[_tabBarVC.tabBar items] objectAtIndex:1]; tab.badgeValue = @"99+"; } + @end diff --git a/JMTabBarKitTest/Images.xcassets/AppIcon.appiconset/Contents.json b/JMTabBarKitTest/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from JMTabBarKitTest/Images.xcassets/AppIcon.appiconset/Contents.json rename to JMTabBarKitTest/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/JMTabBarKitTest/Images.xcassets/Contents.json b/JMTabBarKitTest/Assets.xcassets/Contents.json similarity index 100% rename from JMTabBarKitTest/Images.xcassets/Contents.json rename to JMTabBarKitTest/Assets.xcassets/Contents.json diff --git a/JMTabBarKitTest/Images.xcassets/Tab_Center_Selected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Center_Selected.imageset/Contents.json similarity index 100% rename from JMTabBarKitTest/Images.xcassets/Tab_Center_Selected.imageset/Contents.json rename to JMTabBarKitTest/Assets.xcassets/Tab_Center_Selected.imageset/Contents.json diff --git "a/JMTabBarKitTest/Images.xcassets/Tab_Center_Selected.imageset/\346\267\273\345\212\240dddd.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Center_Selected.imageset/\346\267\273\345\212\240dddd.pdf" similarity index 100% rename from "JMTabBarKitTest/Images.xcassets/Tab_Center_Selected.imageset/\346\267\273\345\212\240dddd.pdf" rename to "JMTabBarKitTest/Assets.xcassets/Tab_Center_Selected.imageset/\346\267\273\345\212\240dddd.pdf" diff --git a/JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/Contents.json similarity index 87% rename from JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/Contents.json rename to JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/Contents.json index 04f4435..3a88149 100644 --- a/JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/Contents.json +++ b/JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/Contents.json @@ -2,7 +2,7 @@ "images" : [ { "idiom" : "universal", - "filename" : "未标题-1.pdf", + "filename" : "添加3.pdf", "scale" : "1x" }, { diff --git "a/JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/\346\267\273\345\212\2403.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/\346\267\273\345\212\2403.pdf" new file mode 100644 index 0000000..85f42db Binary files /dev/null and "b/JMTabBarKitTest/Assets.xcassets/Tab_Center_UnSelected.imageset/\346\267\273\345\212\2403.pdf" differ diff --git a/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/Contents.json new file mode 100644 index 0000000..84e2618 --- /dev/null +++ b/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "主页.pdf", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/\344\270\273\351\241\265.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/\344\270\273\351\241\265.pdf" new file mode 100644 index 0000000..a5fbd99 Binary files /dev/null and "b/JMTabBarKitTest/Assets.xcassets/Tab_Main_Selected.imageset/\344\270\273\351\241\265.pdf" differ diff --git a/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/Contents.json new file mode 100644 index 0000000..84e2618 --- /dev/null +++ b/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "主页.pdf", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/\344\270\273\351\241\265.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/\344\270\273\351\241\265.pdf" new file mode 100644 index 0000000..7af1234 Binary files /dev/null and "b/JMTabBarKitTest/Assets.xcassets/Tab_Main_UnSelected.imageset/\344\270\273\351\241\265.pdf" differ diff --git a/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/Contents.json new file mode 100644 index 0000000..7b51f88 --- /dev/null +++ b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "登录2.pdf", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/\347\231\273\345\275\2252.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/\347\231\273\345\275\2252.pdf" new file mode 100644 index 0000000..2347238 Binary files /dev/null and "b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_Selected.imageset/\347\231\273\345\275\2252.pdf" differ diff --git a/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/Contents.json b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/Contents.json new file mode 100644 index 0000000..d4a14a9 --- /dev/null +++ b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "登录1.pdf", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/\347\231\273\345\275\2251.pdf" "b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/\347\231\273\345\275\2251.pdf" new file mode 100644 index 0000000..b93fa51 Binary files /dev/null and "b/JMTabBarKitTest/Assets.xcassets/Tab_Mine_UnSelected.imageset/\347\231\273\345\275\2251.pdf" differ diff --git a/JMTabBarKitTest/Base.lproj/LaunchScreen.storyboard b/JMTabBarKitTest/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..fdf3f97 --- /dev/null +++ b/JMTabBarKitTest/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JMTabBarKitTest/Base.lproj/LaunchScreen.xib b/JMTabBarKitTest/Base.lproj/LaunchScreen.xib deleted file mode 100644 index 7b98987..0000000 --- a/JMTabBarKitTest/Base.lproj/LaunchScreen.xib +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/JMTabBarKitTest/Base.lproj/Main.storyboard b/JMTabBarKitTest/Base.lproj/Main.storyboard index f56d2f3..4529698 100644 --- a/JMTabBarKitTest/Base.lproj/Main.storyboard +++ b/JMTabBarKitTest/Base.lproj/Main.storyboard @@ -1,7 +1,8 @@ - + - + + @@ -13,9 +14,9 @@ - + - + diff --git a/JMTabBarKitTest/FirstViewController.m b/JMTabBarKitTest/FirstViewController.m index 6ee4ff4..6b155b4 100644 --- a/JMTabBarKitTest/FirstViewController.m +++ b/JMTabBarKitTest/FirstViewController.m @@ -19,17 +19,13 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; - + self.title = @"主页"; + UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem]; btn.frame = CGRectMake(50, 100, 100, 90); [btn setTitle:@"切换" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(clickBtn) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn]; - - UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 220, 20, 20)]; - imageView.image = [UIImage imageNamed:@"Tab_Center_Selected"]; - - [self.view addSubview:imageView]; } - (void)didReceiveMemoryWarning { diff --git "a/JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/\346\234\252\346\240\207\351\242\230-1.pdf" "b/JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/\346\234\252\346\240\207\351\242\230-1.pdf" deleted file mode 100644 index 30552f2..0000000 Binary files "a/JMTabBarKitTest/Images.xcassets/Tab_Center_UnSelected.imageset/\346\234\252\346\240\207\351\242\230-1.pdf" and /dev/null differ diff --git a/JMTabBarKitTest/Info.plist b/JMTabBarKitTest/Info.plist index 40c6215..d052473 100644 --- a/JMTabBarKitTest/Info.plist +++ b/JMTabBarKitTest/Info.plist @@ -16,8 +16,6 @@ APPL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 LSRequiresIPhoneOS diff --git a/JMTabBarKitTest/LoginViewController.h b/JMTabBarKitTest/LoginViewController.h new file mode 100644 index 0000000..17e9980 --- /dev/null +++ b/JMTabBarKitTest/LoginViewController.h @@ -0,0 +1,15 @@ +// +// ViewController.h +// JMTabBarKitTest +// +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. +// + +#import + +@interface LoginViewController : UIViewController + + +@end + diff --git a/JMTabBarKitTest/ViewController.m b/JMTabBarKitTest/LoginViewController.m similarity index 52% rename from JMTabBarKitTest/ViewController.m rename to JMTabBarKitTest/LoginViewController.m index 00c4071..517f074 100644 --- a/JMTabBarKitTest/ViewController.m +++ b/JMTabBarKitTest/LoginViewController.m @@ -2,34 +2,41 @@ // ViewController.m // JMTabBarKitTest // -// Created by james on 15/4/24. -// Copyright (c) 2015年 james. All rights reserved. +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. // -#import "ViewController.h" +#import "LoginViewController.h" + +@interface LoginViewController () -@interface ViewController () -{ - UITapGestureRecognizer *tap; -} @end -@implementation ViewController +@implementation LoginViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor whiteColor]; - - tap = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(close)]; - [self.view addGestureRecognizer:tap]; - - UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.width, 50)]; + + [self setupViews]; +} + +- (void)setupViews { + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, self.view.bounds.size.width, 50)]; label.text = @"请先登录"; + label.textColor = [UIColor blackColor]; label.textAlignment = NSTextAlignmentCenter; [self.view addSubview:label]; + + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(close)]; + [self.view addGestureRecognizer:tap]; +} + +- (void)close { + [self dismissViewControllerAnimated:true + completion:nil]; } - (void)didReceiveMemoryWarning { @@ -37,9 +44,5 @@ - (void)didReceiveMemoryWarning { // Dispose of any resources that can be recreated. } --(void) close { - [self dismissViewControllerAnimated:YES completion:^{ - - }]; -} + @end diff --git a/JMTabBarKitTest/SecondViewController.m b/JMTabBarKitTest/SecondViewController.m index b1f889f..4487e6a 100644 --- a/JMTabBarKitTest/SecondViewController.m +++ b/JMTabBarKitTest/SecondViewController.m @@ -18,6 +18,7 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; + self.title = @"添加"; } - (void)didReceiveMemoryWarning { diff --git a/JMTabBarKitTest/ThirdViewController.m b/JMTabBarKitTest/ThirdViewController.m index 8c82138..a798b11 100644 --- a/JMTabBarKitTest/ThirdViewController.m +++ b/JMTabBarKitTest/ThirdViewController.m @@ -18,6 +18,7 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; + self.title = @"我的"; } - (void)didReceiveMemoryWarning { diff --git a/JMTabBarKitTest/ViewController.h b/JMTabBarKitTest/ViewController.h deleted file mode 100644 index a601393..0000000 --- a/JMTabBarKitTest/ViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// ViewController.h -// JMTabBarKitTest -// -// Created by james on 15/4/24. -// Copyright (c) 2015年 james. All rights reserved. -// - -#import - -@interface ViewController : UIViewController - - -@end - diff --git a/JMTabBarKitTest/image/1.pdf b/JMTabBarKitTest/image/1.pdf deleted file mode 100644 index 531f0b0..0000000 Binary files a/JMTabBarKitTest/image/1.pdf and /dev/null differ diff --git a/JMTabBarKitTest/image/2.pdf b/JMTabBarKitTest/image/2.pdf deleted file mode 100644 index 30552f2..0000000 Binary files a/JMTabBarKitTest/image/2.pdf and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Assistant_Highlight.png b/JMTabBarKitTest/image/Tab_Assistant_Highlight.png deleted file mode 100755 index bb668d0..0000000 Binary files a/JMTabBarKitTest/image/Tab_Assistant_Highlight.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Assistant_Highlight@2x.png b/JMTabBarKitTest/image/Tab_Assistant_Highlight@2x.png deleted file mode 100755 index fc681a8..0000000 Binary files a/JMTabBarKitTest/image/Tab_Assistant_Highlight@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Assistant_Normal.png b/JMTabBarKitTest/image/Tab_Assistant_Normal.png deleted file mode 100755 index 3daedc0..0000000 Binary files a/JMTabBarKitTest/image/Tab_Assistant_Normal.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Assistant_Normal@2x.png b/JMTabBarKitTest/image/Tab_Assistant_Normal@2x.png deleted file mode 100755 index acec1f3..0000000 Binary files a/JMTabBarKitTest/image/Tab_Assistant_Normal@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Main_Highlight.png b/JMTabBarKitTest/image/Tab_Main_Highlight.png deleted file mode 100755 index 225980d..0000000 Binary files a/JMTabBarKitTest/image/Tab_Main_Highlight.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Main_Highlight@2x.png b/JMTabBarKitTest/image/Tab_Main_Highlight@2x.png deleted file mode 100755 index ffcd935..0000000 Binary files a/JMTabBarKitTest/image/Tab_Main_Highlight@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Main_Normal.png b/JMTabBarKitTest/image/Tab_Main_Normal.png deleted file mode 100755 index 6a07daa..0000000 Binary files a/JMTabBarKitTest/image/Tab_Main_Normal.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Main_Normal@2x.png b/JMTabBarKitTest/image/Tab_Main_Normal@2x.png deleted file mode 100755 index 61d440d..0000000 Binary files a/JMTabBarKitTest/image/Tab_Main_Normal@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Mine_Highlight.png b/JMTabBarKitTest/image/Tab_Mine_Highlight.png deleted file mode 100755 index 3f6d8b0..0000000 Binary files a/JMTabBarKitTest/image/Tab_Mine_Highlight.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Mine_Highlight@2x.png b/JMTabBarKitTest/image/Tab_Mine_Highlight@2x.png deleted file mode 100755 index 8d08e65..0000000 Binary files a/JMTabBarKitTest/image/Tab_Mine_Highlight@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Mine_Normal.png b/JMTabBarKitTest/image/Tab_Mine_Normal.png deleted file mode 100755 index 3edb4ee..0000000 Binary files a/JMTabBarKitTest/image/Tab_Mine_Normal.png and /dev/null differ diff --git a/JMTabBarKitTest/image/Tab_Mine_Normal@2x.png b/JMTabBarKitTest/image/Tab_Mine_Normal@2x.png deleted file mode 100755 index 5c9a7a0..0000000 Binary files a/JMTabBarKitTest/image/Tab_Mine_Normal@2x.png and /dev/null differ diff --git a/JMTabBarKitTest/main.m b/JMTabBarKitTest/main.m index 3d65cc9..563a717 100644 --- a/JMTabBarKitTest/main.m +++ b/JMTabBarKitTest/main.m @@ -2,8 +2,8 @@ // main.m // JMTabBarKitTest // -// Created by james on 15/4/24. -// Copyright (c) 2015年 james. All rights reserved. +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. // #import diff --git a/JMTabBarKitTestTests/Info.plist b/JMTabBarKitTestTests/Info.plist new file mode 100644 index 0000000..6c6c23c --- /dev/null +++ b/JMTabBarKitTestTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/JMTabBarKitTestTests/JMTabBarKitTestTests.m b/JMTabBarKitTestTests/JMTabBarKitTestTests.m new file mode 100644 index 0000000..0ec81c5 --- /dev/null +++ b/JMTabBarKitTestTests/JMTabBarKitTestTests.m @@ -0,0 +1,39 @@ +// +// JMTabBarKitTestTests.m +// JMTabBarKitTestTests +// +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. +// + +#import + +@interface JMTabBarKitTestTests : XCTestCase + +@end + +@implementation JMTabBarKitTestTests + +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} + +@end diff --git a/JMTabBarKitTestUITests/Info.plist b/JMTabBarKitTestUITests/Info.plist new file mode 100644 index 0000000..6c6c23c --- /dev/null +++ b/JMTabBarKitTestUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/JMTabBarKitTestUITests/JMTabBarKitTestUITests.m b/JMTabBarKitTestUITests/JMTabBarKitTestUITests.m new file mode 100644 index 0000000..410b8a5 --- /dev/null +++ b/JMTabBarKitTestUITests/JMTabBarKitTestUITests.m @@ -0,0 +1,40 @@ +// +// JMTabBarKitTestUITests.m +// JMTabBarKitTestUITests +// +// Created by James on 2016/12/4. +// Copyright © 2016年 James. All rights reserved. +// + +#import + +@interface JMTabBarKitTestUITests : XCTestCase + +@end + +@implementation JMTabBarKitTestUITests + +- (void)setUp { + [super setUp]; + + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + self.continueAfterFailure = NO; + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + [[[XCUIApplication alloc] init] launch]; + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. +} + +@end