diff --git a/MJExtension/Info.plist b/MJExtension/Info.plist
new file mode 100644
index 00000000..d3de8eef
--- /dev/null
+++ b/MJExtension/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ NSPrincipalClass
+
+
+
diff --git a/MJExtensionExample.xcodeproj/project.pbxproj b/MJExtensionExample.xcodeproj/project.pbxproj
index 43f001d5..a2acda2f 100644
--- a/MJExtensionExample.xcodeproj/project.pbxproj
+++ b/MJExtensionExample.xcodeproj/project.pbxproj
@@ -7,7 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
- 2D8FC6B81BEF7E89004471E9 /* MJExtensionConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D8FC6B71BEF7E89004471E9 /* MJExtensionConfig.m */; settings = {ASSET_TAGS = (); }; };
+ 2D8FC6B81BEF7E89004471E9 /* MJExtensionConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D8FC6B71BEF7E89004471E9 /* MJExtensionConfig.m */; };
2DE3CD971BEF7B3800DA0F2E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CD961BEF7B3800DA0F2E /* main.m */; };
2DE3CD9A1BEF7B3800DA0F2E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CD991BEF7B3800DA0F2E /* AppDelegate.m */; };
2DE3CD9D1BEF7B3800DA0F2E /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CD9C1BEF7B3800DA0F2E /* ViewController.m */; };
@@ -16,26 +16,49 @@
2DE3CDA51BEF7B3800DA0F2E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2DE3CDA31BEF7B3800DA0F2E /* LaunchScreen.storyboard */; };
2DE3CDB01BEF7B3800DA0F2E /* MJExtensionExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDAF1BEF7B3800DA0F2E /* MJExtensionExampleTests.m */; };
2DE3CDBB1BEF7B3800DA0F2E /* MJExtensionExampleUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDBA1BEF7B3800DA0F2E /* MJExtensionExampleUITests.m */; };
- 2DE3CDE11BEF7B9F00DA0F2E /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCD1BEF7B9F00DA0F2E /* MJExtensionConst.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE21BEF7B9F00DA0F2E /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCF1BEF7B9F00DA0F2E /* MJFoundation.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE31BEF7B9F00DA0F2E /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD11BEF7B9F00DA0F2E /* MJProperty.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE41BEF7B9F00DA0F2E /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD31BEF7B9F00DA0F2E /* MJPropertyKey.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE51BEF7B9F00DA0F2E /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD51BEF7B9F00DA0F2E /* MJPropertyType.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE61BEF7B9F00DA0F2E /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD71BEF7B9F00DA0F2E /* NSObject+MJClass.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE71BEF7B9F00DA0F2E /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD91BEF7B9F00DA0F2E /* NSObject+MJCoding.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE81BEF7B9F00DA0F2E /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDB1BEF7B9F00DA0F2E /* NSObject+MJKeyValue.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDE91BEF7B9F00DA0F2E /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDD1BEF7B9F00DA0F2E /* NSObject+MJProperty.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CDEA1BEF7B9F00DA0F2E /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDF1BEF7B9F00DA0F2E /* NSString+MJExtension.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE011BEF7BE100DA0F2E /* MJAd.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDEE1BEF7BE100DA0F2E /* MJAd.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE021BEF7BE100DA0F2E /* MJBag.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF01BEF7BE100DA0F2E /* MJBag.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE031BEF7BE100DA0F2E /* MJBaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF21BEF7BE100DA0F2E /* MJBaseObject.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE041BEF7BE100DA0F2E /* MJBook.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF41BEF7BE100DA0F2E /* MJBook.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE051BEF7BE100DA0F2E /* MJBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF61BEF7BE100DA0F2E /* MJBox.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE061BEF7BE100DA0F2E /* MJDog.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF81BEF7BE100DA0F2E /* MJDog.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE071BEF7BE100DA0F2E /* MJStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFA1BEF7BE100DA0F2E /* MJStatus.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE081BEF7BE100DA0F2E /* MJStatusResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFC1BEF7BE100DA0F2E /* MJStatusResult.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE091BEF7BE100DA0F2E /* MJStudent.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFE1BEF7BE100DA0F2E /* MJStudent.m */; settings = {ASSET_TAGS = (); }; };
- 2DE3CE0A1BEF7BE100DA0F2E /* MJUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CE001BEF7BE100DA0F2E /* MJUser.m */; settings = {ASSET_TAGS = (); }; };
+ 2DE3CDE11BEF7B9F00DA0F2E /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCD1BEF7B9F00DA0F2E /* MJExtensionConst.m */; };
+ 2DE3CDE21BEF7B9F00DA0F2E /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCF1BEF7B9F00DA0F2E /* MJFoundation.m */; };
+ 2DE3CDE31BEF7B9F00DA0F2E /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD11BEF7B9F00DA0F2E /* MJProperty.m */; };
+ 2DE3CDE41BEF7B9F00DA0F2E /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD31BEF7B9F00DA0F2E /* MJPropertyKey.m */; };
+ 2DE3CDE51BEF7B9F00DA0F2E /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD51BEF7B9F00DA0F2E /* MJPropertyType.m */; };
+ 2DE3CDE61BEF7B9F00DA0F2E /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD71BEF7B9F00DA0F2E /* NSObject+MJClass.m */; };
+ 2DE3CDE71BEF7B9F00DA0F2E /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD91BEF7B9F00DA0F2E /* NSObject+MJCoding.m */; };
+ 2DE3CDE81BEF7B9F00DA0F2E /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDB1BEF7B9F00DA0F2E /* NSObject+MJKeyValue.m */; };
+ 2DE3CDE91BEF7B9F00DA0F2E /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDD1BEF7B9F00DA0F2E /* NSObject+MJProperty.m */; };
+ 2DE3CDEA1BEF7B9F00DA0F2E /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDF1BEF7B9F00DA0F2E /* NSString+MJExtension.m */; };
+ 2DE3CE011BEF7BE100DA0F2E /* MJAd.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDEE1BEF7BE100DA0F2E /* MJAd.m */; };
+ 2DE3CE021BEF7BE100DA0F2E /* MJBag.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF01BEF7BE100DA0F2E /* MJBag.m */; };
+ 2DE3CE031BEF7BE100DA0F2E /* MJBaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF21BEF7BE100DA0F2E /* MJBaseObject.m */; };
+ 2DE3CE041BEF7BE100DA0F2E /* MJBook.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF41BEF7BE100DA0F2E /* MJBook.m */; };
+ 2DE3CE051BEF7BE100DA0F2E /* MJBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF61BEF7BE100DA0F2E /* MJBox.m */; };
+ 2DE3CE061BEF7BE100DA0F2E /* MJDog.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDF81BEF7BE100DA0F2E /* MJDog.m */; };
+ 2DE3CE071BEF7BE100DA0F2E /* MJStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFA1BEF7BE100DA0F2E /* MJStatus.m */; };
+ 2DE3CE081BEF7BE100DA0F2E /* MJStatusResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFC1BEF7BE100DA0F2E /* MJStatusResult.m */; };
+ 2DE3CE091BEF7BE100DA0F2E /* MJStudent.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDFE1BEF7BE100DA0F2E /* MJStudent.m */; };
+ 2DE3CE0A1BEF7BE100DA0F2E /* MJUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CE001BEF7BE100DA0F2E /* MJUser.m */; };
+ C37522B81CF0AC320037E747 /* MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = C37522B71CF0AC320037E747 /* MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522BC1CF0AC320037E747 /* MJExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C37522B51CF0AC320037E747 /* MJExtension.framework */; };
+ C37522BD1CF0AC320037E747 /* MJExtension.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C37522B51CF0AC320037E747 /* MJExtension.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ C37522C21CF0AC650037E747 /* MJExtensionConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDCC1BEF7B9F00DA0F2E /* MJExtensionConst.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C31CF0AC650037E747 /* MJFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDCE1BEF7B9F00DA0F2E /* MJFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C41CF0AC650037E747 /* MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDD01BEF7B9F00DA0F2E /* MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C51CF0AC650037E747 /* MJPropertyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDD21BEF7B9F00DA0F2E /* MJPropertyKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C61CF0AC650037E747 /* MJPropertyType.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDD41BEF7B9F00DA0F2E /* MJPropertyType.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C71CF0AC650037E747 /* NSObject+MJClass.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDD61BEF7B9F00DA0F2E /* NSObject+MJClass.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C81CF0AC650037E747 /* NSObject+MJCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDD81BEF7B9F00DA0F2E /* NSObject+MJCoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522C91CF0AC650037E747 /* NSObject+MJKeyValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDDA1BEF7B9F00DA0F2E /* NSObject+MJKeyValue.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522CA1CF0AC650037E747 /* NSObject+MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDDC1BEF7B9F00DA0F2E /* NSObject+MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522CB1CF0AC650037E747 /* NSString+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DE3CDDE1BEF7B9F00DA0F2E /* NSString+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C37522CC1CF0AC790037E747 /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCD1BEF7B9F00DA0F2E /* MJExtensionConst.m */; };
+ C37522CD1CF0AC790037E747 /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDCF1BEF7B9F00DA0F2E /* MJFoundation.m */; };
+ C37522CE1CF0AC790037E747 /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD11BEF7B9F00DA0F2E /* MJProperty.m */; };
+ C37522CF1CF0AC790037E747 /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD31BEF7B9F00DA0F2E /* MJPropertyKey.m */; };
+ C37522D01CF0AC790037E747 /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD51BEF7B9F00DA0F2E /* MJPropertyType.m */; };
+ C37522D11CF0AC790037E747 /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD71BEF7B9F00DA0F2E /* NSObject+MJClass.m */; };
+ C37522D21CF0AC790037E747 /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDD91BEF7B9F00DA0F2E /* NSObject+MJCoding.m */; };
+ C37522D31CF0AC790037E747 /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDB1BEF7B9F00DA0F2E /* NSObject+MJKeyValue.m */; };
+ C37522D41CF0AC790037E747 /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDD1BEF7B9F00DA0F2E /* NSObject+MJProperty.m */; };
+ C37522D51CF0AC790037E747 /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DE3CDDF1BEF7B9F00DA0F2E /* NSString+MJExtension.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -53,8 +76,29 @@
remoteGlobalIDString = 2DE3CD911BEF7B3800DA0F2E;
remoteInfo = MJExtensionExample;
};
+ C37522BA1CF0AC320037E747 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 2DE3CD8A1BEF7B3800DA0F2E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C37522B41CF0AC320037E747;
+ remoteInfo = MJExtension;
+ };
/* End PBXContainerItemProxy section */
+/* Begin PBXCopyFilesBuildPhase section */
+ C37522C11CF0AC330037E747 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ C37522BD1CF0AC320037E747 /* MJExtension.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
2D8FC6B61BEF7E89004471E9 /* MJExtensionConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJExtensionConfig.h; sourceTree = ""; };
2D8FC6B71BEF7E89004471E9 /* MJExtensionConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJExtensionConfig.m; sourceTree = ""; };
@@ -116,6 +160,9 @@
2DE3CDFF1BEF7BE100DA0F2E /* MJUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJUser.h; sourceTree = ""; };
2DE3CE001BEF7BE100DA0F2E /* MJUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJUser.m; sourceTree = ""; };
2DE3CE0B1BEF7C2100DA0F2E /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; };
+ C37522B51CF0AC320037E747 /* MJExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MJExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C37522B71CF0AC320037E747 /* MJExtension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MJExtension.h; sourceTree = ""; };
+ C37522B91CF0AC320037E747 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -123,6 +170,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ C37522BC1CF0AC320037E747 /* MJExtension.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -140,6 +188,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C37522B11CF0AC320037E747 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -160,6 +215,7 @@
2DE3CD941BEF7B3800DA0F2E /* MJExtensionExample */,
2DE3CDAE1BEF7B3800DA0F2E /* MJExtensionExampleTests */,
2DE3CDB91BEF7B3800DA0F2E /* MJExtensionExampleUITests */,
+ C37522B61CF0AC320037E747 /* MJExtension */,
2DE3CD931BEF7B3800DA0F2E /* Products */,
);
sourceTree = "";
@@ -170,6 +226,7 @@
2DE3CD921BEF7B3800DA0F2E /* MJExtensionExample.app */,
2DE3CDAB1BEF7B3800DA0F2E /* MJExtensionExampleTests.xctest */,
2DE3CDB61BEF7B3800DA0F2E /* MJExtensionExampleUITests.xctest */,
+ C37522B51CF0AC320037E747 /* MJExtension.framework */,
);
name = Products;
sourceTree = "";
@@ -289,8 +346,38 @@
name = Main;
sourceTree = "";
};
+ C37522B61CF0AC320037E747 /* MJExtension */ = {
+ isa = PBXGroup;
+ children = (
+ C37522B71CF0AC320037E747 /* MJExtension.h */,
+ C37522B91CF0AC320037E747 /* Info.plist */,
+ );
+ path = MJExtension;
+ sourceTree = "";
+ };
/* End PBXGroup section */
+/* Begin PBXHeadersBuildPhase section */
+ C37522B21CF0AC320037E747 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C37522B81CF0AC320037E747 /* MJExtension.h in Headers */,
+ C37522C21CF0AC650037E747 /* MJExtensionConst.h in Headers */,
+ C37522C31CF0AC650037E747 /* MJFoundation.h in Headers */,
+ C37522C41CF0AC650037E747 /* MJProperty.h in Headers */,
+ C37522C51CF0AC650037E747 /* MJPropertyKey.h in Headers */,
+ C37522C61CF0AC650037E747 /* MJPropertyType.h in Headers */,
+ C37522C71CF0AC650037E747 /* NSObject+MJClass.h in Headers */,
+ C37522C81CF0AC650037E747 /* NSObject+MJCoding.h in Headers */,
+ C37522C91CF0AC650037E747 /* NSObject+MJKeyValue.h in Headers */,
+ C37522CA1CF0AC650037E747 /* NSObject+MJProperty.h in Headers */,
+ C37522CB1CF0AC650037E747 /* NSString+MJExtension.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
/* Begin PBXNativeTarget section */
2DE3CD911BEF7B3800DA0F2E /* MJExtensionExample */ = {
isa = PBXNativeTarget;
@@ -299,10 +386,12 @@
2DE3CD8E1BEF7B3800DA0F2E /* Sources */,
2DE3CD8F1BEF7B3800DA0F2E /* Frameworks */,
2DE3CD901BEF7B3800DA0F2E /* Resources */,
+ C37522C11CF0AC330037E747 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
+ C37522BB1CF0AC320037E747 /* PBXTargetDependency */,
);
name = MJExtensionExample;
productName = MJExtensionExample;
@@ -345,6 +434,24 @@
productReference = 2DE3CDB61BEF7B3800DA0F2E /* MJExtensionExampleUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
+ C37522B41CF0AC320037E747 /* MJExtension */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C37522C01CF0AC330037E747 /* Build configuration list for PBXNativeTarget "MJExtension" */;
+ buildPhases = (
+ C37522B01CF0AC320037E747 /* Sources */,
+ C37522B11CF0AC320037E747 /* Frameworks */,
+ C37522B21CF0AC320037E747 /* Headers */,
+ C37522B31CF0AC320037E747 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = MJExtension;
+ productName = MJExtension;
+ productReference = C37522B51CF0AC320037E747 /* MJExtension.framework */;
+ productType = "com.apple.product-type.framework";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -368,6 +475,10 @@
DevelopmentTeam = 6Z5MDC98SW;
TestTargetID = 2DE3CD911BEF7B3800DA0F2E;
};
+ C37522B41CF0AC320037E747 = {
+ CreatedOnToolsVersion = 7.3.1;
+ DevelopmentTeam = 6Z5MDC98SW;
+ };
};
};
buildConfigurationList = 2DE3CD8D1BEF7B3800DA0F2E /* Build configuration list for PBXProject "MJExtensionExample" */;
@@ -386,6 +497,7 @@
2DE3CD911BEF7B3800DA0F2E /* MJExtensionExample */,
2DE3CDAA1BEF7B3800DA0F2E /* MJExtensionExampleTests */,
2DE3CDB51BEF7B3800DA0F2E /* MJExtensionExampleUITests */,
+ C37522B41CF0AC320037E747 /* MJExtension */,
);
};
/* End PBXProject section */
@@ -415,6 +527,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C37522B31CF0AC320037E747 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -465,6 +584,23 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C37522B01CF0AC320037E747 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C37522CC1CF0AC790037E747 /* MJExtensionConst.m in Sources */,
+ C37522CD1CF0AC790037E747 /* MJFoundation.m in Sources */,
+ C37522CE1CF0AC790037E747 /* MJProperty.m in Sources */,
+ C37522CF1CF0AC790037E747 /* MJPropertyKey.m in Sources */,
+ C37522D01CF0AC790037E747 /* MJPropertyType.m in Sources */,
+ C37522D11CF0AC790037E747 /* NSObject+MJClass.m in Sources */,
+ C37522D21CF0AC790037E747 /* NSObject+MJCoding.m in Sources */,
+ C37522D31CF0AC790037E747 /* NSObject+MJKeyValue.m in Sources */,
+ C37522D41CF0AC790037E747 /* NSObject+MJProperty.m in Sources */,
+ C37522D51CF0AC790037E747 /* NSString+MJExtension.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -478,6 +614,11 @@
target = 2DE3CD911BEF7B3800DA0F2E /* MJExtensionExample */;
targetProxy = 2DE3CDB71BEF7B3800DA0F2E /* PBXContainerItemProxy */;
};
+ C37522BB1CF0AC320037E747 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = C37522B41CF0AC320037E747 /* MJExtension */;
+ targetProxy = C37522BA1CF0AC320037E747 /* PBXContainerItemProxy */;
+ };
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -650,6 +791,50 @@
};
name = Release;
};
+ C37522BE1CF0AC330037E747 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ANALYZER_NONNULL = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = MJExtension/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Harley-xk.MJExtension";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ C37522BF1CF0AC330037E747 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ANALYZER_NONNULL = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = MJExtension/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Harley-xk.MJExtension";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -689,6 +874,14 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ C37522C01CF0AC330037E747 /* Build configuration list for PBXNativeTarget "MJExtension" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C37522BE1CF0AC330037E747 /* Debug */,
+ C37522BF1CF0AC330037E747 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
/* End XCConfigurationList section */
};
rootObject = 2DE3CD8A1BEF7B3800DA0F2E /* Project object */;
diff --git a/MJExtensionExample.xcodeproj/xcshareddata/xcschemes/MJExtension.xcscheme b/MJExtensionExample.xcodeproj/xcshareddata/xcschemes/MJExtension.xcscheme
new file mode 100644
index 00000000..1ad7c198
--- /dev/null
+++ b/MJExtensionExample.xcodeproj/xcshareddata/xcschemes/MJExtension.xcscheme
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+