Skip to content

Commit 52c53d6

Browse files
committed
Add unit test
1 parent 596bbbc commit 52c53d6

File tree

22 files changed

+1580
-1162
lines changed

22 files changed

+1580
-1162
lines changed

MJExtension.xcodeproj/project.pbxproj

Lines changed: 0 additions & 625 deletions
This file was deleted.

MJExtension/Info.plist

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>CFBundleDevelopmentRegion</key>
6-
<string>en</string>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
77
<key>CFBundleExecutable</key>
88
<string>$(EXECUTABLE_NAME)</string>
99
<key>CFBundleIdentifier</key>
@@ -16,11 +16,7 @@
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
1818
<string>1.0</string>
19-
<key>CFBundleSignature</key>
20-
<string>????</string>
2119
<key>CFBundleVersion</key>
2220
<string>$(CURRENT_PROJECT_VERSION)</string>
23-
<key>NSPrincipalClass</key>
24-
<string></string>
2521
</dict>
2622
</plist>

MJExtension/MJExtension.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
//
55
// Created by mj on 14-1-15.
66
// Copyright (c) 2014年 小码哥. All rights reserved.
7-
// 代码地址:https://github.com/CoderMJLee/MJExtension
8-
// 代码地址:http://code4app.com/ios/%E5%AD%97%E5%85%B8-JSON-%E4%B8%8E%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2/5339992a933bf062608b4c57
7+
//
98

9+
#import <Foundation/Foundation.h>
1010
#import "NSObject+MJCoding.h"
1111
#import "NSObject+MJProperty.h"
1212
#import "NSObject+MJClass.h"
@@ -15,3 +15,13 @@
1515
#import "MJExtensionConst.h"
1616

1717
#import "MJFoundation.h"
18+
19+
//! Project version number for MJExtension.
20+
FOUNDATION_EXPORT double MJExtensionVersionNumber;
21+
22+
//! Project version string for MJExtension.
23+
FOUNDATION_EXPORT const unsigned char MJExtensionVersionString[];
24+
25+
// In this header, you should import all the public headers of your framework using statements like #import <MJExtension/PublicHeader.h>
26+
27+

MJExtensionDemo.xcodeproj/project.pbxproj

Lines changed: 792 additions & 0 deletions
Large diffs are not rendered by default.

MJExtension.xcodeproj/xcshareddata/xcschemes/MJExtension.xcscheme renamed to MJExtensionDemo.xcodeproj/xcshareddata/xcschemes/MJExtension.xcscheme

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1030"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -14,10 +14,10 @@
1414
buildForAnalyzing = "YES">
1515
<BuildableReference
1616
BuildableIdentifier = "primary"
17-
BlueprintIdentifier = "01DD48092248BDB5003A69A6"
17+
BlueprintIdentifier = "2D2DB9F32317DA64005A689E"
1818
BuildableName = "MJExtension.framework"
1919
BlueprintName = "MJExtension"
20-
ReferencedContainer = "container:MJExtension.xcodeproj">
20+
ReferencedContainer = "container:MJExtensionDemo.xcodeproj">
2121
</BuildableReference>
2222
</BuildActionEntry>
2323
</BuildActionEntries>
@@ -26,29 +26,9 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
enableThreadSanitizer = "YES"
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
32-
<TestableReference
33-
skipped = "NO">
34-
<BuildableReference
35-
BuildableIdentifier = "primary"
36-
BlueprintIdentifier = "01DD48122248BDB6003A69A6"
37-
BuildableName = "MJExtensionTests.xctest"
38-
BlueprintName = "MJExtensionTests"
39-
ReferencedContainer = "container:MJExtension.xcodeproj">
40-
</BuildableReference>
41-
</TestableReference>
4231
</Testables>
43-
<MacroExpansion>
44-
<BuildableReference
45-
BuildableIdentifier = "primary"
46-
BlueprintIdentifier = "01DD48092248BDB5003A69A6"
47-
BuildableName = "MJExtension.framework"
48-
BlueprintName = "MJExtension"
49-
ReferencedContainer = "container:MJExtension.xcodeproj">
50-
</BuildableReference>
51-
</MacroExpansion>
5232
<AdditionalOptions>
5333
</AdditionalOptions>
5434
</TestAction>
@@ -65,10 +45,10 @@
6545
<MacroExpansion>
6646
<BuildableReference
6747
BuildableIdentifier = "primary"
68-
BlueprintIdentifier = "01DD48092248BDB5003A69A6"
48+
BlueprintIdentifier = "2D2DB9F32317DA64005A689E"
6949
BuildableName = "MJExtension.framework"
7050
BlueprintName = "MJExtension"
71-
ReferencedContainer = "container:MJExtension.xcodeproj">
51+
ReferencedContainer = "container:MJExtensionDemo.xcodeproj">
7252
</BuildableReference>
7353
</MacroExpansion>
7454
<AdditionalOptions>
@@ -83,10 +63,10 @@
8363
<MacroExpansion>
8464
<BuildableReference
8565
BuildableIdentifier = "primary"
86-
BlueprintIdentifier = "01DD48092248BDB5003A69A6"
66+
BlueprintIdentifier = "2D2DB9F32317DA64005A689E"
8767
BuildableName = "MJExtension.framework"
8868
BlueprintName = "MJExtension"
89-
ReferencedContainer = "container:MJExtension.xcodeproj">
69+
ReferencedContainer = "container:MJExtensionDemo.xcodeproj">
9070
</BuildableReference>
9171
</MacroExpansion>
9272
</ProfileAction>

MJExtensionDemo/AppDelegate.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//
2+
// AppDelegate.h
3+
// MJExtensionDemo
4+
//
5+
// Created by MJ Lee on 2019/8/29.
6+
// Copyright © 2019 MJ Lee. All rights reserved.
7+
//
8+
9+
#import <UIKit/UIKit.h>
10+
11+
@interface AppDelegate : UIResponder <UIApplicationDelegate>
12+
13+
@property (strong, nonatomic) UIWindow *window;
14+
15+
16+
@end
17+

MJExtensionDemo/AppDelegate.m

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
//
2+
// AppDelegate.m
3+
// MJExtensionDemo
4+
//
5+
// Created by MJ Lee on 2019/8/29.
6+
// Copyright © 2019 MJ Lee. All rights reserved.
7+
//
8+
9+
#import "AppDelegate.h"
10+
11+
@interface AppDelegate ()
12+
13+
@end
14+
15+
@implementation AppDelegate
16+
17+
18+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19+
// Override point for customization after application launch.
20+
return YES;
21+
}
22+
23+
24+
- (void)applicationWillResignActive:(UIApplication *)application {
25+
// 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.
26+
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
27+
}
28+
29+
30+
- (void)applicationDidEnterBackground:(UIApplication *)application {
31+
// 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.
32+
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
33+
}
34+
35+
36+
- (void)applicationWillEnterForeground:(UIApplication *)application {
37+
// 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.
38+
}
39+
40+
41+
- (void)applicationDidBecomeActive:(UIApplication *)application {
42+
// 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.
43+
}
44+
45+
46+
- (void)applicationWillTerminate:(UIApplication *)application {
47+
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
48+
}
49+
50+
51+
@end
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "iphone",
5+
"size" : "20x20",
6+
"scale" : "2x"
7+
},
8+
{
9+
"idiom" : "iphone",
10+
"size" : "20x20",
11+
"scale" : "3x"
12+
},
13+
{
14+
"idiom" : "iphone",
15+
"size" : "29x29",
16+
"scale" : "2x"
17+
},
18+
{
19+
"idiom" : "iphone",
20+
"size" : "29x29",
21+
"scale" : "3x"
22+
},
23+
{
24+
"idiom" : "iphone",
25+
"size" : "40x40",
26+
"scale" : "2x"
27+
},
28+
{
29+
"idiom" : "iphone",
30+
"size" : "40x40",
31+
"scale" : "3x"
32+
},
33+
{
34+
"idiom" : "iphone",
35+
"size" : "60x60",
36+
"scale" : "2x"
37+
},
38+
{
39+
"idiom" : "iphone",
40+
"size" : "60x60",
41+
"scale" : "3x"
42+
},
43+
{
44+
"idiom" : "ipad",
45+
"size" : "20x20",
46+
"scale" : "1x"
47+
},
48+
{
49+
"idiom" : "ipad",
50+
"size" : "20x20",
51+
"scale" : "2x"
52+
},
53+
{
54+
"idiom" : "ipad",
55+
"size" : "29x29",
56+
"scale" : "1x"
57+
},
58+
{
59+
"idiom" : "ipad",
60+
"size" : "29x29",
61+
"scale" : "2x"
62+
},
63+
{
64+
"idiom" : "ipad",
65+
"size" : "40x40",
66+
"scale" : "1x"
67+
},
68+
{
69+
"idiom" : "ipad",
70+
"size" : "40x40",
71+
"scale" : "2x"
72+
},
73+
{
74+
"idiom" : "ipad",
75+
"size" : "76x76",
76+
"scale" : "1x"
77+
},
78+
{
79+
"idiom" : "ipad",
80+
"size" : "76x76",
81+
"scale" : "2x"
82+
},
83+
{
84+
"idiom" : "ipad",
85+
"size" : "83.5x83.5",
86+
"scale" : "2x"
87+
},
88+
{
89+
"idiom" : "ios-marketing",
90+
"size" : "1024x1024",
91+
"scale" : "1x"
92+
}
93+
],
94+
"info" : {
95+
"version" : 1,
96+
"author" : "xcode"
97+
}
98+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"version" : 1,
4+
"author" : "xcode"
5+
}
6+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3+
<dependencies>
4+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
5+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
6+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7+
</dependencies>
8+
<scenes>
9+
<!--View Controller-->
10+
<scene sceneID="EHf-IW-A2E">
11+
<objects>
12+
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
13+
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
14+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
15+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
16+
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
17+
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
18+
</view>
19+
</viewController>
20+
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
21+
</objects>
22+
<point key="canvasLocation" x="53" y="375"/>
23+
</scene>
24+
</scenes>
25+
</document>

0 commit comments

Comments
 (0)