ソースを参照

支持SPM (#1470)

- Add some missing link file
- Add missing headers for framework

Co-authored-by: Frank <472730949@qq.com>
iAllenC 4 年 前
コミット
600114a261

+ 6 - 1
MJRefresh/NSBundle+MJRefresh.m

@@ -18,8 +18,13 @@ + (instancetype)mj_refreshBundle
 {
     static NSBundle *refreshBundle = nil;
     if (refreshBundle == nil) {
+#ifdef MJ_USEING_SPM
+        NSBundle *containnerBundle = SWIFTPM_MODULE_BUNDLE;
+#else
+        NSBundle *containnerBundle = [NSBundle bundleForClass:[MJRefreshComponent class]];
+#endif
         // 这里不使用mainBundle是为了适配pod 1.x和0.x
-        refreshBundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[MJRefreshComponent class]] pathForResource:@"MJRefresh" ofType:@"bundle"]];
+        refreshBundle = [NSBundle bundleWithPath:[containnerBundle pathForResource:@"MJRefresh" ofType:@"bundle"]];
     }
     return refreshBundle;
 }

+ 1 - 0
MJRefresh/include/MJRefresh.h

@@ -0,0 +1 @@
+../MJRefresh.h

+ 1 - 0
MJRefresh/include/MJRefreshAutoFooter.h

@@ -0,0 +1 @@
+../Base/MJRefreshAutoFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshAutoGifFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Auto/MJRefreshAutoGifFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshAutoNormalFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Auto/MJRefreshAutoNormalFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshAutoStateFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Auto/MJRefreshAutoStateFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshBackFooter.h

@@ -0,0 +1 @@
+../Base/MJRefreshBackFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshBackGifFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Back/MJRefreshBackGifFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshBackNormalFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Back/MJRefreshBackNormalFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshBackStateFooter.h

@@ -0,0 +1 @@
+../Custom/Footer/Back/MJRefreshBackStateFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshComponent.h

@@ -0,0 +1 @@
+../Base/MJRefreshComponent.h

+ 1 - 0
MJRefresh/include/MJRefreshConfig.h

@@ -0,0 +1 @@
+../MJRefreshConfig.h

+ 1 - 0
MJRefresh/include/MJRefreshConst.h

@@ -0,0 +1 @@
+../MJRefreshConst.h

+ 1 - 0
MJRefresh/include/MJRefreshFooter.h

@@ -0,0 +1 @@
+../Base/MJRefreshFooter.h

+ 1 - 0
MJRefresh/include/MJRefreshGifHeader.h

@@ -0,0 +1 @@
+../Custom/Header/MJRefreshGifHeader.h

+ 1 - 0
MJRefresh/include/MJRefreshHeader.h

@@ -0,0 +1 @@
+../Base/MJRefreshHeader.h

+ 1 - 0
MJRefresh/include/MJRefreshNormalHeader.h

@@ -0,0 +1 @@
+../Custom/Header/MJRefreshNormalHeader.h

+ 1 - 0
MJRefresh/include/MJRefreshNormalTrailer.h

@@ -0,0 +1 @@
+../Custom/Trailer/MJRefreshNormalTrailer.h

+ 1 - 0
MJRefresh/include/MJRefreshStateHeader.h

@@ -0,0 +1 @@
+../Custom/Header/MJRefreshStateHeader.h

+ 1 - 0
MJRefresh/include/MJRefreshStateTrailer.h

@@ -0,0 +1 @@
+../Custom/Trailer/MJRefreshStateTrailer.h

+ 1 - 0
MJRefresh/include/MJRefreshTrailer.h

@@ -0,0 +1 @@
+../Base/MJRefreshTrailer.h

+ 1 - 0
MJRefresh/include/NSBundle+MJRefresh.h

@@ -0,0 +1 @@
+../NSBundle+MJRefresh.h

+ 1 - 0
MJRefresh/include/UIScrollView+MJExtension.h

@@ -0,0 +1 @@
+../UIScrollView+MJExtension.h

+ 1 - 0
MJRefresh/include/UIScrollView+MJRefresh.h

@@ -0,0 +1 @@
+../UIScrollView+MJRefresh.h

+ 1 - 0
MJRefresh/include/UIView+MJExtension.h

@@ -0,0 +1 @@
+../UIView+MJExtension.h

+ 9 - 1
MJRefreshExample.xcodeproj/project.pbxproj

@@ -8,6 +8,10 @@
 
 /* Begin PBXBuildFile section */
 		0133FBBF2693FA8E00E98F66 /* CustomLanguages.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0133FBBE2693FA8E00E98F66 /* CustomLanguages.bundle */; };
+		013B0687269D6D9A00943978 /* MJRefreshNormalTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 88E3200F24839B2300069FA7 /* MJRefreshNormalTrailer.m */; };
+		013B0688269D6D9D00943978 /* MJRefreshTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 88E3200924839ABA00069FA7 /* MJRefreshTrailer.m */; };
+		013B0689269D6DA100943978 /* MJRefreshStateTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 88E3200E24839B2300069FA7 /* MJRefreshStateTrailer.m */; };
+		013B068A269D6DF800943978 /* MJRefreshConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 01A2CE0A21ACE01500BEE365 /* MJRefreshConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		0193FF132692E99500B52B11 /* I18NExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0193FF122692E99500B52B11 /* I18NExampleViewController.swift */; };
 		0193FF162692F8EB00B52B11 /* MJRefresh_i18n.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0193FF182692F8EB00B52B11 /* MJRefresh_i18n.strings */; };
 		01A2CE0C21ACE01500BEE365 /* MJRefreshConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A2CE0B21ACE01500BEE365 /* MJRefreshConfig.m */; };
@@ -562,6 +566,7 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				013B068A269D6DF800943978 /* MJRefreshConfig.h in Headers */,
 				2D9DF45A1F7CE2C20042D6DD /* MJRefreshAutoFooter.h in Headers */,
 				2D9DF45B1F7CE2C20042D6DD /* MJRefreshBackFooter.h in Headers */,
 				2D9DF45C1F7CE2C20042D6DD /* MJRefreshComponent.h in Headers */,
@@ -732,6 +737,9 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				013B0689269D6DA100943978 /* MJRefreshStateTrailer.m in Sources */,
+				013B0688269D6D9D00943978 /* MJRefreshTrailer.m in Sources */,
+				013B0687269D6D9A00943978 /* MJRefreshNormalTrailer.m in Sources */,
 				84FC857E228037CE001C6728 /* MJRefreshConfig.m in Sources */,
 				2D9DF46F1F7CE2F90042D6DD /* MJRefreshAutoFooter.m in Sources */,
 				2D9DF4701F7CE2F90042D6DD /* MJRefreshBackFooter.m in Sources */,
@@ -1179,4 +1187,4 @@
 /* End XCConfigurationList section */
 	};
 	rootObject = 2DA7F91D1AA6B4C4005627AB /* Project object */;
-}
+}

+ 32 - 0
Package.swift

@@ -0,0 +1,32 @@
+// swift-tools-version:5.3
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+    name: "MJRefresh",
+    products: [
+        .library(name: "MJRefresh", targets: ["MJRefresh"]),
+    ],
+    dependencies: [],
+    targets: [
+        .target(
+            name: "MJRefresh",
+            dependencies: [],
+            path: "MJRefresh",
+            resources: [.process("MJRefresh.bundle")],
+            publicHeadersPath: "include",
+            cSettings: [
+                //Define macro "MJ_SPM" to identify whether Cocoapods or SPM are being used
+                .define("MJ_SPM"),
+                //Config header path
+                .headerSearchPath("."),
+                .headerSearchPath("Base"),
+                .headerSearchPath("Custom/Footer/Auto"),
+                .headerSearchPath("Custom/Footer/Back"),
+                .headerSearchPath("Custom/Header"),
+                .headerSearchPath("Custom/Trailer"),
+            ]
+        ),
+    ]
+)