From 5da1ffa5510e099e8593851a5c0f1b87867e5a20 Mon Sep 17 00:00:00 2001 From: Dhruvil Date: Thu, 29 Apr 2021 13:12:30 +0530 Subject: [PATCH 1/3] Added SPM Support --- .../contents.xcworkspacedata | 7 ++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 12097 bytes .../xcschemes/xcschememanagement.plist | 27 ++++++++++++++ .../xcschemes/xcschememanagement.plist | 19 ++++++++++ Package.swift | 34 ++++++++++++++++++ .../PMAlertController/PMAlertController.swift | 3 ++ Tests/LinuxMain.swift | 7 ++++ .../PMAlertControllerTests.swift | 15 ++++++++ .../XCTestManifests.swift | 9 +++++ 9 files changed, 121 insertions(+) create mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 .swiftpm/xcode/package.xcworkspace/xcuserdata/dhruvilpatel.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 .swiftpm/xcode/xcuserdata/dhruvilpatel.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 PMAlertController.xcodeproj/xcuserdata/dhruvilpatel.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Package.swift create mode 100644 Sources/PMAlertController/PMAlertController.swift create mode 100644 Tests/LinuxMain.swift create mode 100644 Tests/PMAlertControllerTests/PMAlertControllerTests.swift create mode 100644 Tests/PMAlertControllerTests/XCTestManifests.swift diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/dhruvilpatel.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/dhruvilpatel.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..112ed3404ab65411e8598b0aab6683936b811197 GIT binary patch literal 12097 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 qe + + + + SchemeUserState + + PMAlertController.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + PMAlertController + + primary + + + PMAlertControllerTests + + primary + + + + + diff --git a/PMAlertController.xcodeproj/xcuserdata/dhruvilpatel.xcuserdatad/xcschemes/xcschememanagement.plist b/PMAlertController.xcodeproj/xcuserdata/dhruvilpatel.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..1a23812 --- /dev/null +++ b/PMAlertController.xcodeproj/xcuserdata/dhruvilpatel.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,19 @@ + + + + + SchemeUserState + + PMAlertController.xcscheme_^#shared#^_ + + orderHint + 0 + + PMAlertControllerSample.xcscheme_^#shared#^_ + + orderHint + 1 + + + + diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..7de3ef0 --- /dev/null +++ b/Package.swift @@ -0,0 +1,34 @@ +// 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: "PMAlertController", + platforms: [ + .iOS(.v9) + ], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "PMAlertController", + targets: ["PMAlertController"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "PMAlertController", + dependencies: [], + path:"Sources" + ), + .testTarget( + name: "PMAlertControllerTests", + dependencies: ["PMAlertController"], + path:"Tests") + ] +) diff --git a/Sources/PMAlertController/PMAlertController.swift b/Sources/PMAlertController/PMAlertController.swift new file mode 100644 index 0000000..e1e61ef --- /dev/null +++ b/Sources/PMAlertController/PMAlertController.swift @@ -0,0 +1,3 @@ +struct PMAlertController { + var text = "Hello, World!" +} diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift new file mode 100644 index 0000000..4572882 --- /dev/null +++ b/Tests/LinuxMain.swift @@ -0,0 +1,7 @@ +import XCTest + +import PMAlertControllerTests + +var tests = [XCTestCaseEntry]() +tests += PMAlertControllerTests.allTests() +XCTMain(tests) diff --git a/Tests/PMAlertControllerTests/PMAlertControllerTests.swift b/Tests/PMAlertControllerTests/PMAlertControllerTests.swift new file mode 100644 index 0000000..cc4c33a --- /dev/null +++ b/Tests/PMAlertControllerTests/PMAlertControllerTests.swift @@ -0,0 +1,15 @@ +import XCTest +@testable import PMAlertController + +final class PMAlertControllerTests: XCTestCase { + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct + // results. + XCTAssertEqual(PMAlertController().text, "Hello, World!") + } + + static var allTests = [ + ("testExample", testExample), + ] +} diff --git a/Tests/PMAlertControllerTests/XCTestManifests.swift b/Tests/PMAlertControllerTests/XCTestManifests.swift new file mode 100644 index 0000000..4b485fb --- /dev/null +++ b/Tests/PMAlertControllerTests/XCTestManifests.swift @@ -0,0 +1,9 @@ +import XCTest + +#if !canImport(ObjectiveC) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(PMAlertControllerTests.allTests), + ] +} +#endif From 3c15af76cc1557aec843d2411a41b2e89f6b1005 Mon Sep 17 00:00:00 2001 From: Dhruvil Date: Sat, 1 May 2021 12:40:37 +0530 Subject: [PATCH 2/3] Path modified and some minor changes --- Package.swift | 14 +++----------- Sources/PMAlertController/PMAlertController.swift | 3 --- Tests/LinuxMain.swift | 7 ------- .../PMAlertControllerTests.swift | 15 --------------- .../PMAlertControllerTests/XCTestManifests.swift | 9 --------- 5 files changed, 3 insertions(+), 45 deletions(-) delete mode 100644 Sources/PMAlertController/PMAlertController.swift delete mode 100644 Tests/LinuxMain.swift delete mode 100644 Tests/PMAlertControllerTests/PMAlertControllerTests.swift delete mode 100644 Tests/PMAlertControllerTests/XCTestManifests.swift diff --git a/Package.swift b/Package.swift index 7de3ef0..b595917 100644 --- a/Package.swift +++ b/Package.swift @@ -9,26 +9,18 @@ let package = Package( .iOS(.v9) ], products: [ - // Products define the executables and libraries a package produces, and make them visible to other packages. .library( name: "PMAlertController", targets: ["PMAlertController"]), ], dependencies: [ - // Dependencies declare other packages that this package depends on. - // .package(url: /* package url */, from: "1.0.0"), ], targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "PMAlertController", dependencies: [], - path:"Sources" - ), - .testTarget( - name: "PMAlertControllerTests", - dependencies: ["PMAlertController"], - path:"Tests") + path:"Library", + resources: [.process("PMAlertController.xib")] + ) ] ) diff --git a/Sources/PMAlertController/PMAlertController.swift b/Sources/PMAlertController/PMAlertController.swift deleted file mode 100644 index e1e61ef..0000000 --- a/Sources/PMAlertController/PMAlertController.swift +++ /dev/null @@ -1,3 +0,0 @@ -struct PMAlertController { - var text = "Hello, World!" -} diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift deleted file mode 100644 index 4572882..0000000 --- a/Tests/LinuxMain.swift +++ /dev/null @@ -1,7 +0,0 @@ -import XCTest - -import PMAlertControllerTests - -var tests = [XCTestCaseEntry]() -tests += PMAlertControllerTests.allTests() -XCTMain(tests) diff --git a/Tests/PMAlertControllerTests/PMAlertControllerTests.swift b/Tests/PMAlertControllerTests/PMAlertControllerTests.swift deleted file mode 100644 index cc4c33a..0000000 --- a/Tests/PMAlertControllerTests/PMAlertControllerTests.swift +++ /dev/null @@ -1,15 +0,0 @@ -import XCTest -@testable import PMAlertController - -final class PMAlertControllerTests: XCTestCase { - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct - // results. - XCTAssertEqual(PMAlertController().text, "Hello, World!") - } - - static var allTests = [ - ("testExample", testExample), - ] -} diff --git a/Tests/PMAlertControllerTests/XCTestManifests.swift b/Tests/PMAlertControllerTests/XCTestManifests.swift deleted file mode 100644 index 4b485fb..0000000 --- a/Tests/PMAlertControllerTests/XCTestManifests.swift +++ /dev/null @@ -1,9 +0,0 @@ -import XCTest - -#if !canImport(ObjectiveC) -public func allTests() -> [XCTestCaseEntry] { - return [ - testCase(PMAlertControllerTests.allTests), - ] -} -#endif From b37996850ec38c58f0573cd07e2a288c30543900 Mon Sep 17 00:00:00 2001 From: Dhruvil Date: Sat, 1 May 2021 16:35:29 +0530 Subject: [PATCH 3/3] Minor changes in PMAlertController --- Library/PMAlertController.swift | 7 +++++++ Package.swift | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Library/PMAlertController.swift b/Library/PMAlertController.swift index 6a4efac..51fe54d 100755 --- a/Library/PMAlertController.swift +++ b/Library/PMAlertController.swift @@ -164,6 +164,13 @@ import UIKit assertionFailure("Could not load the bundle") } + }else if let bundleURL = Bundle.module.url(forResource: "PMAlertController", withExtension: "bundle"){ + if let bundle = Bundle(url: bundleURL) { + return bundle.loadNibNamed("PMAlertController", owner: self, options: nil) as [AnyObject]? + } + + }else if let nib = Bundle.module.loadNibNamed("PMAlertController", owner: self, options: nil) as [AnyObject]?{ + return nib } else if let nib = podBundle.loadNibNamed("PMAlertController", owner: self, options: nil) as [AnyObject]?{ return nib diff --git a/Package.swift b/Package.swift index b595917..d617e05 100644 --- a/Package.swift +++ b/Package.swift @@ -19,8 +19,7 @@ let package = Package( .target( name: "PMAlertController", dependencies: [], - path:"Library", - resources: [.process("PMAlertController.xib")] + path:"Library" ) ] )