From b1770c4a7ceccfed0b4e6523e38184589497beb5 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Thu, 3 Nov 2022 19:35:15 +1300 Subject: [PATCH 1/3] import Foundation and UIKit --- WordPressUI/BottomSheet/BottomSheetAnimationController.swift | 3 +++ WordPressUI/BottomSheet/GripButton.swift | 3 +++ .../Extensions/BlockEvents/UIBarButtonItem+BlockEvents.swift | 2 ++ WordPressUI/Extensions/BlockEvents/UIControl+BlockEvents.swift | 2 ++ .../BlockEvents/UIGestureRecognizer+BlockEvents.swift | 2 ++ WordPressUI/Extensions/NSMutableAttributedString+Helpers.swift | 2 +- WordPressUI/Extensions/UIAlertController+Helpers.swift | 2 +- WordPressUI/Extensions/UIControl+Helpers.swift | 2 ++ WordPressUI/Extensions/UIDevice+Helpers.swift | 2 +- WordPressUI/Extensions/UIImage+Assets.swift | 2 +- WordPressUI/Extensions/UIImage+Crop.swift | 2 ++ WordPressUI/Extensions/UIImage+Rotation.swift | 1 + WordPressUI/Extensions/UIImage+Tint.swift | 1 + WordPressUI/Extensions/UIImageView+Blavatar.swift | 2 +- WordPressUI/Extensions/UIImageView+Gravatar.swift | 2 ++ WordPressUI/Extensions/UIImageView+Networking.swift | 1 + WordPressUI/Extensions/UITableView+Helpers.swift | 2 +- WordPressUI/Extensions/UIView+Helpers.swift | 2 +- .../Extensions/UIViewController+ChildViewController.swift | 2 ++ WordPressUI/Extensions/UIViewController+Helpers.swift | 2 +- 20 files changed, 31 insertions(+), 8 deletions(-) diff --git a/WordPressUI/BottomSheet/BottomSheetAnimationController.swift b/WordPressUI/BottomSheet/BottomSheetAnimationController.swift index b185a1b..95caf37 100644 --- a/WordPressUI/BottomSheet/BottomSheetAnimationController.swift +++ b/WordPressUI/BottomSheet/BottomSheetAnimationController.swift @@ -1,3 +1,6 @@ +import Foundation +import UIKit + public class BottomSheetAnimationController: NSObject, UIViewControllerAnimatedTransitioning { public enum TransitionType { case presenting diff --git a/WordPressUI/BottomSheet/GripButton.swift b/WordPressUI/BottomSheet/GripButton.swift index af4980a..ab8b120 100644 --- a/WordPressUI/BottomSheet/GripButton.swift +++ b/WordPressUI/BottomSheet/GripButton.swift @@ -1,3 +1,6 @@ +import Foundation +import UIKit + // A UIView with a centered "grip" view (like in Apple Maps) public class GripButton: UIButton { diff --git a/WordPressUI/Extensions/BlockEvents/UIBarButtonItem+BlockEvents.swift b/WordPressUI/Extensions/BlockEvents/UIBarButtonItem+BlockEvents.swift index 8953803..05cda1f 100644 --- a/WordPressUI/Extensions/BlockEvents/UIBarButtonItem+BlockEvents.swift +++ b/WordPressUI/Extensions/BlockEvents/UIBarButtonItem+BlockEvents.swift @@ -1,3 +1,5 @@ +import UIKit + /// Allows UIBarButtonItem to handle events programatically without using selectors or @objc private final class BarButtonItemEventHandler: NSObject { diff --git a/WordPressUI/Extensions/BlockEvents/UIControl+BlockEvents.swift b/WordPressUI/Extensions/BlockEvents/UIControl+BlockEvents.swift index 414babd..d16aed6 100644 --- a/WordPressUI/Extensions/BlockEvents/UIControl+BlockEvents.swift +++ b/WordPressUI/Extensions/BlockEvents/UIControl+BlockEvents.swift @@ -22,6 +22,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +import Foundation +import UIKit public protocol ControlEventBindable: AnyObject { } diff --git a/WordPressUI/Extensions/BlockEvents/UIGestureRecognizer+BlockEvents.swift b/WordPressUI/Extensions/BlockEvents/UIGestureRecognizer+BlockEvents.swift index bbcc2fd..cb2f902 100644 --- a/WordPressUI/Extensions/BlockEvents/UIGestureRecognizer+BlockEvents.swift +++ b/WordPressUI/Extensions/BlockEvents/UIGestureRecognizer+BlockEvents.swift @@ -1,3 +1,5 @@ +import UIKit + /// Allows UIBarButtonItem to handle events programatically without using selectors or @objc private final class UITapGestureRecognizerEventHandler: NSObject { diff --git a/WordPressUI/Extensions/NSMutableAttributedString+Helpers.swift b/WordPressUI/Extensions/NSMutableAttributedString+Helpers.swift index 96193bc..be4a7a9 100644 --- a/WordPressUI/Extensions/NSMutableAttributedString+Helpers.swift +++ b/WordPressUI/Extensions/NSMutableAttributedString+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit // MARK: - NSMutableAttributedString Helpers // diff --git a/WordPressUI/Extensions/UIAlertController+Helpers.swift b/WordPressUI/Extensions/UIAlertController+Helpers.swift index 843e5c7..0cf7fc4 100644 --- a/WordPressUI/Extensions/UIAlertController+Helpers.swift +++ b/WordPressUI/Extensions/UIAlertController+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit extension UIAlertController { @objc @discardableResult public func addCancelActionWithTitle(_ title: String?, handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { diff --git a/WordPressUI/Extensions/UIControl+Helpers.swift b/WordPressUI/Extensions/UIControl+Helpers.swift index 5b52abe..b2068db 100644 --- a/WordPressUI/Extensions/UIControl+Helpers.swift +++ b/WordPressUI/Extensions/UIControl+Helpers.swift @@ -1,3 +1,5 @@ +import UIKit + // MARK: - Internationalization helper extension UIControl { diff --git a/WordPressUI/Extensions/UIDevice+Helpers.swift b/WordPressUI/Extensions/UIDevice+Helpers.swift index c27679e..35f4b5e 100644 --- a/WordPressUI/Extensions/UIDevice+Helpers.swift +++ b/WordPressUI/Extensions/UIDevice+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit extension UIDevice { @objc public class func isPad() -> Bool { diff --git a/WordPressUI/Extensions/UIImage+Assets.swift b/WordPressUI/Extensions/UIImage+Assets.swift index f166a55..9881645 100644 --- a/WordPressUI/Extensions/UIImage+Assets.swift +++ b/WordPressUI/Extensions/UIImage+Assets.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit // MARK: - Named Assets // diff --git a/WordPressUI/Extensions/UIImage+Crop.swift b/WordPressUI/Extensions/UIImage+Crop.swift index 8682e03..e12fd66 100644 --- a/WordPressUI/Extensions/UIImage+Crop.swift +++ b/WordPressUI/Extensions/UIImage+Crop.swift @@ -1,3 +1,5 @@ +import UIKit + // MARK: - UIImage + Crop Method // extension UIImage { diff --git a/WordPressUI/Extensions/UIImage+Rotation.swift b/WordPressUI/Extensions/UIImage+Rotation.swift index 2c2a84f..58853d7 100644 --- a/WordPressUI/Extensions/UIImage+Rotation.swift +++ b/WordPressUI/Extensions/UIImage+Rotation.swift @@ -1,4 +1,5 @@ import Foundation +import UIKit extension UIImage { public func rotate180Degrees() -> UIImage? { diff --git a/WordPressUI/Extensions/UIImage+Tint.swift b/WordPressUI/Extensions/UIImage+Tint.swift index 486f564..d9a2359 100644 --- a/WordPressUI/Extensions/UIImage+Tint.swift +++ b/WordPressUI/Extensions/UIImage+Tint.swift @@ -1,4 +1,5 @@ import Foundation +import UIKit extension UIImage { public func imageWithTintColor(_ color: UIColor) -> UIImage? { diff --git a/WordPressUI/Extensions/UIImageView+Blavatar.swift b/WordPressUI/Extensions/UIImageView+Blavatar.swift index 019dce7..b377e75 100644 --- a/WordPressUI/Extensions/UIImageView+Blavatar.swift +++ b/WordPressUI/Extensions/UIImageView+Blavatar.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit public extension UIImageView { diff --git a/WordPressUI/Extensions/UIImageView+Gravatar.swift b/WordPressUI/Extensions/UIImageView+Gravatar.swift index ef8ca71..6531b2e 100644 --- a/WordPressUI/Extensions/UIImageView+Gravatar.swift +++ b/WordPressUI/Extensions/UIImageView+Gravatar.swift @@ -1,4 +1,6 @@ import Foundation +import UIKit + /// Wrapper class used to ensure removeObserver is called private class GravatarNotificationWrapper { diff --git a/WordPressUI/Extensions/UIImageView+Networking.swift b/WordPressUI/Extensions/UIImageView+Networking.swift index e6befe4..446e4af 100644 --- a/WordPressUI/Extensions/UIImageView+Networking.swift +++ b/WordPressUI/Extensions/UIImageView+Networking.swift @@ -1,4 +1,5 @@ import Foundation +import UIKit public extension UIImageView { diff --git a/WordPressUI/Extensions/UITableView+Helpers.swift b/WordPressUI/Extensions/UITableView+Helpers.swift index 6c1a745..44bc5f4 100644 --- a/WordPressUI/Extensions/UITableView+Helpers.swift +++ b/WordPressUI/Extensions/UITableView+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit extension UITableView { /// Reloads the currently selected row, if any. diff --git a/WordPressUI/Extensions/UIView+Helpers.swift b/WordPressUI/Extensions/UIView+Helpers.swift index a37b911..aa7a3ae 100644 --- a/WordPressUI/Extensions/UIView+Helpers.swift +++ b/WordPressUI/Extensions/UIView+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit // MARK: - UIView Helpers // diff --git a/WordPressUI/Extensions/UIViewController+ChildViewController.swift b/WordPressUI/Extensions/UIViewController+ChildViewController.swift index fa121fc..881d922 100644 --- a/WordPressUI/Extensions/UIViewController+ChildViewController.swift +++ b/WordPressUI/Extensions/UIViewController+ChildViewController.swift @@ -1,3 +1,5 @@ +import UIKit + extension UIViewController { /// Add a view controller as child view controller /// diff --git a/WordPressUI/Extensions/UIViewController+Helpers.swift b/WordPressUI/Extensions/UIViewController+Helpers.swift index e4f7bf4..2a0959c 100644 --- a/WordPressUI/Extensions/UIViewController+Helpers.swift +++ b/WordPressUI/Extensions/UIViewController+Helpers.swift @@ -1,5 +1,5 @@ import Foundation - +import UIKit extension UIViewController { /// Determines if the current ViewController's View is visible and onscreen From 5539f95734287e5409616b32944ed02356f85146 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 8 Nov 2022 23:11:03 +1300 Subject: [PATCH 2/3] Add Package.swift and remove no longer needed project files --- .gitignore | 2 + Example/Example.xcodeproj/project.pbxproj | 103 +- Package.swift | 62 + WordPressUI.podspec | 4 + WordPressUI.xcodeproj/project.pbxproj | 1049 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/WordPressUI.xcscheme | 99 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../Extensions/NSBundle+ResourceBundle.swift | 4 + .../Extensions/UIImageView+Gravatar.swift | 4 + .../Extensions/UIImageView+Networking.swift | 3 + WordPressUI/Tools/Exports.swift | 5 + .../Extensions/ResourcesBundleTests.swift | 17 + fastlane/Fastfile | 2 + 16 files changed, 126 insertions(+), 1261 deletions(-) create mode 100644 Package.swift delete mode 100644 WordPressUI.xcodeproj/project.pbxproj delete mode 100644 WordPressUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 WordPressUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 WordPressUI.xcodeproj/xcshareddata/xcschemes/WordPressUI.xcscheme delete mode 100644 WordPressUI.xcworkspace/contents.xcworkspacedata delete mode 100644 WordPressUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 WordPressUI/Tools/Exports.swift create mode 100644 WordPressUITests/Extensions/ResourcesBundleTests.swift diff --git a/.gitignore b/.gitignore index 468dfac..c8c0522 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ Pods/ fastlane/README.md fastlane/report.xml fastlane/test_output + +.swiftpm diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 1ad5ec0..9ea4307 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -3,44 +3,19 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ 46B30DCD2583F63100A25E66 /* KeyboardAnimationsExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46B30DCC2583F63100A25E66 /* KeyboardAnimationsExampleViewController.swift */; }; + 4AABCD6D2913A5F80014F4BB /* WordPressUI in Frameworks */ = {isa = PBXBuildFile; productRef = 4AABCD6C2913A5F80014F4BB /* WordPressUI */; }; F1C4EBE5218A37D700B8A9F7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C4EBE4218A37D700B8A9F7 /* AppDelegate.swift */; }; F1C4EBE7218A37D700B8A9F7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C4EBE6218A37D700B8A9F7 /* ViewController.swift */; }; F1C4EBEA218A37D700B8A9F7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F1C4EBE8218A37D700B8A9F7 /* Main.storyboard */; }; F1C4EBEC218A37D800B8A9F7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F1C4EBEB218A37D800B8A9F7 /* Assets.xcassets */; }; F1C4EBEF218A37D800B8A9F7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F1C4EBED218A37D800B8A9F7 /* LaunchScreen.storyboard */; }; - F1C4EC20218A386100B8A9F7 /* WordPressUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1C4EC1A218A385100B8A9F7 /* WordPressUI.framework */; }; - F1C61C80218B3E5300F30530 /* WordPressUI.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = F1C4EC1A218A385100B8A9F7 /* WordPressUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - F1C4EC19218A385100B8A9F7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B59DCB5C202B146D00BEBD8A; - remoteInfo = WordPressUI; - }; - F1C4EC1B218A385100B8A9F7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B59DCB65202B146D00BEBD8A; - remoteInfo = WordPressUITests; - }; - F1C4EC1D218A385A00B8A9F7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B59DCB5B202B146D00BEBD8A; - remoteInfo = WordPressUI; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ F1C61C7E218B3E4600F30530 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -48,7 +23,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - F1C61C80218B3E5300F30530 /* WordPressUI.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -56,6 +30,7 @@ /* Begin PBXFileReference section */ 46B30DCC2583F63100A25E66 /* KeyboardAnimationsExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardAnimationsExampleViewController.swift; sourceTree = ""; }; + 4AABCD6B2913A5C90014F4BB /* WordPressUI-iOS */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = "WordPressUI-iOS"; path = ..; sourceTree = ""; }; F1C4EBE1218A37D700B8A9F7 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; F1C4EBE4218A37D700B8A9F7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; F1C4EBE6218A37D700B8A9F7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -63,7 +38,6 @@ F1C4EBEB218A37D800B8A9F7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; F1C4EBEE218A37D800B8A9F7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; F1C4EBF0218A37D800B8A9F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = WordPressUI.xcodeproj; path = ../WordPressUI.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -71,18 +45,26 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F1C4EC20218A386100B8A9F7 /* WordPressUI.framework in Frameworks */, + 4AABCD6D2913A5F80014F4BB /* WordPressUI in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 4AABCD6A2913A5C90014F4BB /* Packages */ = { + isa = PBXGroup; + children = ( + 4AABCD6B2913A5C90014F4BB /* WordPressUI-iOS */, + ); + name = Packages; + sourceTree = ""; + }; F1C4EBD8218A37D700B8A9F7 = { isa = PBXGroup; children = ( + 4AABCD6A2913A5C90014F4BB /* Packages */, F1C4EBE3218A37D700B8A9F7 /* Example */, - F1C4EC13218A384300B8A9F7 /* Dependencies */, F1C4EBE2218A37D700B8A9F7 /* Products */, F1C4EC1F218A386100B8A9F7 /* Frameworks */, ); @@ -110,23 +92,6 @@ path = Example; sourceTree = ""; }; - F1C4EC13218A384300B8A9F7 /* Dependencies */ = { - isa = PBXGroup; - children = ( - F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */, - ); - name = Dependencies; - sourceTree = ""; - }; - F1C4EC15218A385100B8A9F7 /* Products */ = { - isa = PBXGroup; - children = ( - F1C4EC1A218A385100B8A9F7 /* WordPressUI.framework */, - F1C4EC1C218A385100B8A9F7 /* WordPressUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; F1C4EC1F218A386100B8A9F7 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -149,9 +114,11 @@ buildRules = ( ); dependencies = ( - F1C4EC1E218A385A00B8A9F7 /* PBXTargetDependency */, ); name = Example; + packageProductDependencies = ( + 4AABCD6C2913A5F80014F4BB /* WordPressUI */, + ); productName = Example; productReference = F1C4EBE1218A37D700B8A9F7 /* Example.app */; productType = "com.apple.product-type.application"; @@ -182,12 +149,6 @@ mainGroup = F1C4EBD8218A37D700B8A9F7; productRefGroup = F1C4EBE2218A37D700B8A9F7 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = F1C4EC15218A385100B8A9F7 /* Products */; - ProjectRef = F1C4EC14218A385100B8A9F7 /* WordPressUI.xcodeproj */; - }, - ); projectRoot = ""; targets = ( F1C4EBE0218A37D700B8A9F7 /* Example */, @@ -195,23 +156,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - F1C4EC1A218A385100B8A9F7 /* WordPressUI.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = WordPressUI.framework; - remoteRef = F1C4EC19218A385100B8A9F7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F1C4EC1C218A385100B8A9F7 /* WordPressUITests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = WordPressUITests.xctest; - remoteRef = F1C4EC1B218A385100B8A9F7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ F1C4EBDF218A37D700B8A9F7 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -238,14 +182,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - F1C4EC1E218A385A00B8A9F7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = WordPressUI; - targetProxy = F1C4EC1D218A385A00B8A9F7 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ F1C4EBE8218A37D700B8A9F7 /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -440,6 +376,13 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCSwiftPackageProductDependency section */ + 4AABCD6C2913A5F80014F4BB /* WordPressUI */ = { + isa = XCSwiftPackageProductDependency; + productName = WordPressUI; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = F1C4EBD9218A37D700B8A9F7 /* Project object */; } diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..cc8c5a7 --- /dev/null +++ b/Package.swift @@ -0,0 +1,62 @@ +// swift-tools-version:5.5 + +import PackageDescription + +let package = Package( + name: "WordPressUI", + platforms: [.iOS(.v11)], + products: [ + .library( + name: "WordPressUI", + targets: [ + "WordPressUIGravatar", + "WordPressUIGravatarObjC", + "WordPressUIObjCCategories", + "WordPressUI", + ] + ) + ], + dependencies: [], + targets: [ + .target( + name: "WordPressUIGravatar", + path: "WordPressUI/Extensions/Gravatar", + sources: ["Gravatar.swift"] + ), + .target( + name: "WordPressUIGravatarObjC", + path: "WordPressUI/Extensions/Gravatar", + exclude: ["Gravatar.swift"], + publicHeadersPath: "." + ), + .target( + name: "WordPressUIObjCCategories", + path: "WordPressUI/Categories", + publicHeadersPath: "." + ), + .target( + name: "WordPressUI", + dependencies: [ + .target(name: "WordPressUIGravatar"), + .target(name: "WordPressUIGravatarObjC"), + .target(name: "WordPressUIObjCCategories"), + ], + path: "WordPressUI", + exclude: [ + "WordPressUI.h", + "Extensions/Gravatar", + "Categories" + ], + resources: [ + .process("Resources"), + .process("FancyAlert/FancyAlerts.storyboard") + ] + ), + .testTarget( + name: "WordPressUITests", + dependencies: [.target(name: "WordPressUI")], + path: "WordPressUITests", + exclude: ["Info.plist"] + ), + ] +) diff --git a/WordPressUI.podspec b/WordPressUI.podspec index 4007952..42ab3d9 100644 --- a/WordPressUI.podspec +++ b/WordPressUI.podspec @@ -25,4 +25,8 @@ Pod::Spec.new do |s| ] } s.header_dir = 'WordPressUI' + + s.test_spec do |test| + test.source_files = ['WordPressUITests/**/*.{swift,h,m}'] + end end diff --git a/WordPressUI.xcodeproj/project.pbxproj b/WordPressUI.xcodeproj/project.pbxproj deleted file mode 100644 index 58bda13..0000000 --- a/WordPressUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1049 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - objects = { - -/* Begin PBXBuildFile section */ - 02CCC587230121440051D40B /* UIView+AutoLayoutHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CCC586230121440051D40B /* UIView+AutoLayoutHelperTests.swift */; }; - 17576E6320AC7A28008612EF /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17576E6220AC7A28008612EF /* GradientView.swift */; }; - 1A40951C2271B3C4009AA86D /* NSBundle+ResourceBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A40951B2271B3C4009AA86D /* NSBundle+ResourceBundle.swift */; }; - 43067E2B203C8CC4001DD610 /* UIControl+BlockEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43067E2A203C8CC4001DD610 /* UIControl+BlockEvents.swift */; }; - 43067E2E203C8D03001DD610 /* UIBarButtonItem+BlockEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43067E2D203C8D03001DD610 /* UIBarButtonItem+BlockEvents.swift */; }; - 43067E30203C8D27001DD610 /* UIGestureRecognizer+BlockEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43067E2F203C8D27001DD610 /* UIGestureRecognizer+BlockEvents.swift */; }; - 57072D94228D897A007AA9C1 /* GhostableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57072D93228D897A007AA9C1 /* GhostableView.swift */; }; - 577FC78722985DD0005BA78F /* UIView+ChangeLayoutMarginsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 577FC78622985DD0005BA78F /* UIView+ChangeLayoutMarginsTests.swift */; }; - 57BC0C6D228DF1E000C1F070 /* UIView+GhostTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57BC0C6C228DF1E000C1F070 /* UIView+GhostTests.swift */; }; - 57BC0C6F228DF35400C1F070 /* UITableView+GhostTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57BC0C6E228DF35400C1F070 /* UITableView+GhostTests.swift */; }; - 828BEAC6203B59CD003F7078 /* UIImage+Crop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 828BEAC5203B59CD003F7078 /* UIImage+Crop.swift */; }; - 8B5100D2244F6C6C00672D74 /* BottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5100D1244F6C6C00672D74 /* BottomSheetViewController.swift */; }; - 8B5100D4244F6CE000672D74 /* DrawerPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5100D3244F6CE000672D74 /* DrawerPresentationController.swift */; }; - 8B5100D6244F6D0F00672D74 /* BottomSheetAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5100D5244F6D0F00672D74 /* BottomSheetAnimationController.swift */; }; - 8B5100D8244F6D2E00672D74 /* GripButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5100D7244F6D2E00672D74 /* GripButton.swift */; }; - 8B9147712451CBFB0028B0AE /* BottomSheetViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B9147702451CBFB0028B0AE /* BottomSheetViewControllerTests.swift */; }; - 9A43B7AF21CD11290026E196 /* UIViewController+ChildViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A43B7AE21CD11290026E196 /* UIViewController+ChildViewController.swift */; }; - 9A6EC88D21DA4832007815FF /* UIViewControllerHelperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A6EC88C21DA4832007815FF /* UIViewControllerHelperTest.swift */; }; - B518D76520740E6900F05DB4 /* UIImageView+Networking.swift in Sources */ = {isa = PBXBuildFile; fileRef = B518D76420740E6900F05DB4 /* UIImageView+Networking.swift */; }; - B518D76720740F0800F05DB4 /* UIImageView+Blavatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B518D76620740F0800F05DB4 /* UIImageView+Blavatar.swift */; }; - B518D76D20742ADB00F05DB4 /* FlingableViewHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B518D76C20742ADB00F05DB4 /* FlingableViewHandler.swift */; }; - B5226C68207CCDB2003C606E /* GravatarTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5226C67207CCDB2003C606E /* GravatarTest.swift */; }; - B529F289202C855B00895D88 /* UIColorHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B529F288202C855B00895D88 /* UIColorHelpersTests.swift */; }; - B534CB3E21398638000D5F8D /* UICollectionView+Ghost.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3621398637000D5F8D /* UICollectionView+Ghost.swift */; }; - B534CB3F21398638000D5F8D /* UIView+InnerGhost.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3721398637000D5F8D /* UIView+InnerGhost.swift */; }; - B534CB4021398638000D5F8D /* GhostTableViewHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3821398637000D5F8D /* GhostTableViewHandler.swift */; }; - B534CB4121398638000D5F8D /* UITableView+Ghost.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3921398637000D5F8D /* UITableView+Ghost.swift */; }; - B534CB4221398638000D5F8D /* GhostLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3A21398637000D5F8D /* GhostLayer.swift */; }; - B534CB4321398638000D5F8D /* GhostOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3B21398637000D5F8D /* GhostOptions.swift */; }; - B534CB4421398638000D5F8D /* GhostAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3C21398637000D5F8D /* GhostAnimation.swift */; }; - B534CB4521398638000D5F8D /* GhostCollectionViewHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B534CB3D21398637000D5F8D /* GhostCollectionViewHandler.swift */; }; - B5393FEA206D7047007BF9D4 /* RotationAwareNavigationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FE9206D7047007BF9D4 /* RotationAwareNavigationViewController.swift */; }; - B554016D2170E8580067DC90 /* UIView+Ghost.swift in Sources */ = {isa = PBXBuildFile; fileRef = B554016C2170E8580067DC90 /* UIView+Ghost.swift */; }; - B554016F2170E90B0067DC90 /* GhostStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B554016E2170E90B0067DC90 /* GhostStyle.swift */; }; - B589BE2E207BE662007D72D4 /* NSMutableAttributedString+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B589BE2D207BE662007D72D4 /* NSMutableAttributedString+Helpers.swift */; }; - B58C4EAF207C503000E32E4D /* UIImageView+Gravatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C4EAE207C503000E32E4D /* UIImageView+Gravatar.swift */; }; - B58C4EB5207C532B00E32E4D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B58C4EB4207C532B00E32E4D /* Security.framework */; }; - B58C4EBC207C55D300E32E4D /* UIImage+Assets.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C4EBB207C55D200E32E4D /* UIImage+Assets.swift */; }; - B58C4EC2207C570000E32E4D /* Gravatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C4EBF207C570000E32E4D /* Gravatar.swift */; }; - B58C4EC3207C570000E32E4D /* NSString+Gravatar.h in Headers */ = {isa = PBXBuildFile; fileRef = B58C4EC0207C570000E32E4D /* NSString+Gravatar.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B58C4EC4207C570000E32E4D /* NSString+Gravatar.m in Sources */ = {isa = PBXBuildFile; fileRef = B58C4EC1207C570000E32E4D /* NSString+Gravatar.m */; }; - B58C4EC6207C592B00E32E4D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B58C4EC5207C592B00E32E4D /* Assets.xcassets */; }; - B592B44F2064296600FF568E /* FancyAlertPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B592B4492064296500FF568E /* FancyAlertPresentationController.swift */; }; - B592B4502064296600FF568E /* FancyAlerts.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B592B44A2064296500FF568E /* FancyAlerts.storyboard */; }; - B592B4522064296600FF568E /* FancyAlertViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B592B44C2064296500FF568E /* FancyAlertViewController.swift */; }; - B592B45520643E3400FF568E /* FancyAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B592B45420643E3400FF568E /* FancyAlertView.swift */; }; - B59DCB66202B146D00BEBD8A /* WordPressUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B59DCB5C202B146D00BEBD8A /* WordPressUI.framework */; }; - B59DCB6D202B146D00BEBD8A /* WordPressUI.h in Headers */ = {isa = PBXBuildFile; fileRef = B59DCB5F202B146D00BEBD8A /* WordPressUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787B0202B2324007874FB /* UIImage+Tint.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A4202B2322007874FB /* UIImage+Tint.swift */; }; - B5A787B1202B2324007874FB /* UITextField+TextHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A5202B2322007874FB /* UITextField+TextHelper.swift */; }; - B5A787B2202B2324007874FB /* UIView+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A6202B2322007874FB /* UIView+Helpers.swift */; }; - B5A787B3202B2324007874FB /* UITableViewController+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A7202B2322007874FB /* UITableViewController+Helpers.swift */; }; - B5A787B4202B2324007874FB /* UIWindow+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A8202B2323007874FB /* UIWindow+Helpers.swift */; }; - B5A787B5202B2324007874FB /* UIDevice+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787A9202B2323007874FB /* UIDevice+Helpers.swift */; }; - B5A787B6202B2324007874FB /* UIView+Animations.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787AA202B2323007874FB /* UIView+Animations.swift */; }; - B5A787B7202B2324007874FB /* UIViewController+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787AB202B2323007874FB /* UIViewController+Helpers.swift */; }; - B5A787B8202B2324007874FB /* UIImage+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787AC202B2323007874FB /* UIImage+Rotation.swift */; }; - B5A787B9202B2324007874FB /* UITableView+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787AD202B2323007874FB /* UITableView+Helpers.swift */; }; - B5A787BD202B2358007874FB /* CGAffineTransform+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787BC202B2358007874FB /* CGAffineTransform+Helpers.swift */; }; - B5A787D6202B2AA7007874FB /* UIImage+Util.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A787CC202B2AA6007874FB /* UIImage+Util.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787D7202B2AA7007874FB /* UIColor+Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A787CD202B2AA6007874FB /* UIColor+Helpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787D9202B2AA7007874FB /* UIImage+Resize.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A787CF202B2AA6007874FB /* UIImage+Resize.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787DB202B2AA7007874FB /* UIColor+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A787D1202B2AA6007874FB /* UIColor+Helpers.m */; }; - B5A787DC202B2AA7007874FB /* UIImage+Util.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A787D2202B2AA6007874FB /* UIImage+Util.m */; }; - B5A787DF202B2AA7007874FB /* UIImage+Resize.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A787D5202B2AA6007874FB /* UIImage+Resize.m */; }; - B5A787E1202B2B59007874FB /* UIControl+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787E0202B2B59007874FB /* UIControl+Helpers.swift */; }; - B5A787F5202B3587007874FB /* UIKitConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A787F4202B3587007874FB /* UIKitConstants.swift */; }; - B5A78826202B4178007874FB /* UIAlertController+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A78825202B4178007874FB /* UIAlertController+Helpers.swift */; }; - B5C82AE32077C01B00DB2E78 /* UILabel+SuggestSize.h in Headers */ = {isa = PBXBuildFile; fileRef = B5C82AE22077C01B00DB2E78 /* UILabel+SuggestSize.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5C82AE52077C02200DB2E78 /* UILabel+SuggestSize.m in Sources */ = {isa = PBXBuildFile; fileRef = B5C82AE42077C02100DB2E78 /* UILabel+SuggestSize.m */; }; - B5D91458206AD8BA00EF333D /* FancyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5D91457206AD8BA00EF333D /* FancyButton.swift */; }; - FF20AD1720B76A2300082398 /* WordPressUI.podspec in Resources */ = {isa = PBXBuildFile; fileRef = FF20AD1620B76A2300082398 /* WordPressUI.podspec */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - B59DCB67202B146D00BEBD8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B59DCB53202B146D00BEBD8A /* Project object */; - proxyType = 1; - remoteGlobalIDString = B59DCB5B202B146D00BEBD8A; - remoteInfo = WordPressUIKit; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 02CCC586230121440051D40B /* UIView+AutoLayoutHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+AutoLayoutHelperTests.swift"; sourceTree = ""; }; - 17576E6220AC7A28008612EF /* GradientView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = ""; }; - 1A40951B2271B3C4009AA86D /* NSBundle+ResourceBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSBundle+ResourceBundle.swift"; sourceTree = ""; }; - 43067E2A203C8CC4001DD610 /* UIControl+BlockEvents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIControl+BlockEvents.swift"; sourceTree = ""; }; - 43067E2D203C8D03001DD610 /* UIBarButtonItem+BlockEvents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem+BlockEvents.swift"; sourceTree = ""; }; - 43067E2F203C8D27001DD610 /* UIGestureRecognizer+BlockEvents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIGestureRecognizer+BlockEvents.swift"; sourceTree = ""; }; - 57072D93228D897A007AA9C1 /* GhostableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GhostableView.swift; sourceTree = ""; }; - 577FC78622985DD0005BA78F /* UIView+ChangeLayoutMarginsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+ChangeLayoutMarginsTests.swift"; sourceTree = ""; }; - 57BC0C6C228DF1E000C1F070 /* UIView+GhostTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+GhostTests.swift"; sourceTree = ""; }; - 57BC0C6E228DF35400C1F070 /* UITableView+GhostTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+GhostTests.swift"; sourceTree = ""; }; - 828BEAC5203B59CD003F7078 /* UIImage+Crop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Crop.swift"; sourceTree = ""; }; - 8B5100D1244F6C6C00672D74 /* BottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetViewController.swift; sourceTree = ""; }; - 8B5100D3244F6CE000672D74 /* DrawerPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DrawerPresentationController.swift; sourceTree = ""; }; - 8B5100D5244F6D0F00672D74 /* BottomSheetAnimationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetAnimationController.swift; sourceTree = ""; }; - 8B5100D7244F6D2E00672D74 /* GripButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GripButton.swift; sourceTree = ""; }; - 8B9147702451CBFB0028B0AE /* BottomSheetViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetViewControllerTests.swift; sourceTree = ""; }; - 9A43B7AE21CD11290026E196 /* UIViewController+ChildViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+ChildViewController.swift"; sourceTree = ""; }; - 9A6EC88C21DA4832007815FF /* UIViewControllerHelperTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewControllerHelperTest.swift; sourceTree = ""; }; - B518D76420740E6900F05DB4 /* UIImageView+Networking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImageView+Networking.swift"; sourceTree = ""; }; - B518D76620740F0800F05DB4 /* UIImageView+Blavatar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Blavatar.swift"; sourceTree = ""; }; - B518D76C20742ADB00F05DB4 /* FlingableViewHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlingableViewHandler.swift; sourceTree = ""; }; - B5226C67207CCDB2003C606E /* GravatarTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GravatarTest.swift; sourceTree = ""; }; - B529F288202C855B00895D88 /* UIColorHelpersTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorHelpersTests.swift; sourceTree = ""; }; - B534CB3621398637000D5F8D /* UICollectionView+Ghost.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Ghost.swift"; sourceTree = ""; }; - B534CB3721398637000D5F8D /* UIView+InnerGhost.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+InnerGhost.swift"; sourceTree = ""; }; - B534CB3821398637000D5F8D /* GhostTableViewHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GhostTableViewHandler.swift; sourceTree = ""; }; - B534CB3921398637000D5F8D /* UITableView+Ghost.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableView+Ghost.swift"; sourceTree = ""; }; - B534CB3A21398637000D5F8D /* GhostLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GhostLayer.swift; sourceTree = ""; }; - B534CB3B21398637000D5F8D /* GhostOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GhostOptions.swift; sourceTree = ""; }; - B534CB3C21398637000D5F8D /* GhostAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GhostAnimation.swift; sourceTree = ""; }; - B534CB3D21398637000D5F8D /* GhostCollectionViewHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GhostCollectionViewHandler.swift; sourceTree = ""; }; - B5393FE9206D7047007BF9D4 /* RotationAwareNavigationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotationAwareNavigationViewController.swift; sourceTree = ""; }; - B554016C2170E8580067DC90 /* UIView+Ghost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Ghost.swift"; sourceTree = ""; }; - B554016E2170E90B0067DC90 /* GhostStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GhostStyle.swift; sourceTree = ""; }; - B589BE2D207BE662007D72D4 /* NSMutableAttributedString+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSMutableAttributedString+Helpers.swift"; sourceTree = ""; }; - B58C4EAE207C503000E32E4D /* UIImageView+Gravatar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImageView+Gravatar.swift"; sourceTree = ""; }; - B58C4EB4207C532B00E32E4D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - B58C4EBB207C55D200E32E4D /* UIImage+Assets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Assets.swift"; sourceTree = ""; }; - B58C4EBF207C570000E32E4D /* Gravatar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Gravatar.swift; sourceTree = ""; }; - B58C4EC0207C570000E32E4D /* NSString+Gravatar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Gravatar.h"; sourceTree = ""; }; - B58C4EC1207C570000E32E4D /* NSString+Gravatar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Gravatar.m"; sourceTree = ""; }; - B58C4EC5207C592B00E32E4D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - B592B4492064296500FF568E /* FancyAlertPresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FancyAlertPresentationController.swift; sourceTree = ""; }; - B592B44A2064296500FF568E /* FancyAlerts.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = FancyAlerts.storyboard; sourceTree = ""; }; - B592B44C2064296500FF568E /* FancyAlertViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FancyAlertViewController.swift; sourceTree = ""; }; - B592B45420643E3400FF568E /* FancyAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FancyAlertView.swift; sourceTree = ""; }; - B59DCB5C202B146D00BEBD8A /* WordPressUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WordPressUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B59DCB5F202B146D00BEBD8A /* WordPressUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WordPressUI.h; sourceTree = ""; }; - B59DCB60202B146D00BEBD8A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B59DCB65202B146D00BEBD8A /* WordPressUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WordPressUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - B59DCB6C202B146D00BEBD8A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B5A787A4202B2322007874FB /* UIImage+Tint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Tint.swift"; sourceTree = ""; }; - B5A787A5202B2322007874FB /* UITextField+TextHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITextField+TextHelper.swift"; sourceTree = ""; }; - B5A787A6202B2322007874FB /* UIView+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Helpers.swift"; sourceTree = ""; }; - B5A787A7202B2322007874FB /* UITableViewController+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableViewController+Helpers.swift"; sourceTree = ""; }; - B5A787A8202B2323007874FB /* UIWindow+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIWindow+Helpers.swift"; sourceTree = ""; }; - B5A787A9202B2323007874FB /* UIDevice+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+Helpers.swift"; sourceTree = ""; }; - B5A787AA202B2323007874FB /* UIView+Animations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Animations.swift"; sourceTree = ""; }; - B5A787AB202B2323007874FB /* UIViewController+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Helpers.swift"; sourceTree = ""; }; - B5A787AC202B2323007874FB /* UIImage+Rotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Rotation.swift"; sourceTree = ""; }; - B5A787AD202B2323007874FB /* UITableView+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableView+Helpers.swift"; sourceTree = ""; }; - B5A787BC202B2358007874FB /* CGAffineTransform+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGAffineTransform+Helpers.swift"; sourceTree = ""; }; - B5A787CC202B2AA6007874FB /* UIImage+Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Util.h"; sourceTree = ""; }; - B5A787CD202B2AA6007874FB /* UIColor+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Helpers.h"; sourceTree = ""; }; - B5A787CF202B2AA6007874FB /* UIImage+Resize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Resize.h"; sourceTree = ""; }; - B5A787D1202B2AA6007874FB /* UIColor+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Helpers.m"; sourceTree = ""; }; - B5A787D2202B2AA6007874FB /* UIImage+Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Util.m"; sourceTree = ""; }; - B5A787D5202B2AA6007874FB /* UIImage+Resize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Resize.m"; sourceTree = ""; }; - B5A787E0202B2B59007874FB /* UIControl+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIControl+Helpers.swift"; sourceTree = ""; }; - B5A787F4202B3587007874FB /* UIKitConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIKitConstants.swift; sourceTree = ""; }; - B5A78825202B4178007874FB /* UIAlertController+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIAlertController+Helpers.swift"; sourceTree = ""; }; - B5C82AE22077C01B00DB2E78 /* UILabel+SuggestSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+SuggestSize.h"; sourceTree = ""; }; - B5C82AE42077C02100DB2E78 /* UILabel+SuggestSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+SuggestSize.m"; sourceTree = ""; }; - B5D91457206AD8BA00EF333D /* FancyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FancyButton.swift; sourceTree = ""; }; - FF20AD1620B76A2300082398 /* WordPressUI.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WordPressUI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - B59DCB58202B146D00BEBD8A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B58C4EB5207C532B00E32E4D /* Security.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B59DCB62202B146D00BEBD8A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B59DCB66202B146D00BEBD8A /* WordPressUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 43067E29203C8CA4001DD610 /* BlockEvents */ = { - isa = PBXGroup; - children = ( - 43067E2A203C8CC4001DD610 /* UIControl+BlockEvents.swift */, - 43067E2D203C8D03001DD610 /* UIBarButtonItem+BlockEvents.swift */, - 43067E2F203C8D27001DD610 /* UIGestureRecognizer+BlockEvents.swift */, - ); - path = BlockEvents; - sourceTree = ""; - }; - 57BC0C6B228DF1BA00C1F070 /* Ghosts */ = { - isa = PBXGroup; - children = ( - 57BC0C6C228DF1E000C1F070 /* UIView+GhostTests.swift */, - 57BC0C6E228DF35400C1F070 /* UITableView+GhostTests.swift */, - ); - path = Ghosts; - sourceTree = ""; - }; - 8B5100D0244F6C0200672D74 /* BottomSheet */ = { - isa = PBXGroup; - children = ( - 8B5100D1244F6C6C00672D74 /* BottomSheetViewController.swift */, - 8B5100D3244F6CE000672D74 /* DrawerPresentationController.swift */, - 8B5100D5244F6D0F00672D74 /* BottomSheetAnimationController.swift */, - 8B5100D7244F6D2E00672D74 /* GripButton.swift */, - ); - path = BottomSheet; - sourceTree = ""; - }; - 8B91476F2451CBEB0028B0AE /* BottomSheet */ = { - isa = PBXGroup; - children = ( - 8B9147702451CBFB0028B0AE /* BottomSheetViewControllerTests.swift */, - ); - path = BottomSheet; - sourceTree = ""; - }; - B518D76B20742ADB00F05DB4 /* FlingableView */ = { - isa = PBXGroup; - children = ( - B518D76C20742ADB00F05DB4 /* FlingableViewHandler.swift */, - ); - path = FlingableView; - sourceTree = ""; - }; - B529F287202C855B00895D88 /* Extensions */ = { - isa = PBXGroup; - children = ( - 9A6EC88C21DA4832007815FF /* UIViewControllerHelperTest.swift */, - B5226C67207CCDB2003C606E /* GravatarTest.swift */, - B529F288202C855B00895D88 /* UIColorHelpersTests.swift */, - 577FC78622985DD0005BA78F /* UIView+ChangeLayoutMarginsTests.swift */, - 02CCC586230121440051D40B /* UIView+AutoLayoutHelperTests.swift */, - ); - path = Extensions; - sourceTree = ""; - }; - B534CB3521398609000D5F8D /* Ghosts */ = { - isa = PBXGroup; - children = ( - B534CB4721398721000D5F8D /* Internal */, - B534CB3B21398637000D5F8D /* GhostOptions.swift */, - B554016E2170E90B0067DC90 /* GhostStyle.swift */, - B534CB3621398637000D5F8D /* UICollectionView+Ghost.swift */, - B534CB3921398637000D5F8D /* UITableView+Ghost.swift */, - B554016C2170E8580067DC90 /* UIView+Ghost.swift */, - 57072D93228D897A007AA9C1 /* GhostableView.swift */, - ); - path = Ghosts; - sourceTree = ""; - }; - B534CB4721398721000D5F8D /* Internal */ = { - isa = PBXGroup; - children = ( - B534CB3C21398637000D5F8D /* GhostAnimation.swift */, - B534CB3A21398637000D5F8D /* GhostLayer.swift */, - B534CB3D21398637000D5F8D /* GhostCollectionViewHandler.swift */, - B534CB3821398637000D5F8D /* GhostTableViewHandler.swift */, - B534CB3721398637000D5F8D /* UIView+InnerGhost.swift */, - ); - path = Internal; - sourceTree = ""; - }; - B5393FE8206D7047007BF9D4 /* Tools */ = { - isa = PBXGroup; - children = ( - B5393FE9206D7047007BF9D4 /* RotationAwareNavigationViewController.swift */, - 17576E6220AC7A28008612EF /* GradientView.swift */, - ); - path = Tools; - sourceTree = ""; - }; - B58C4EBE207C570000E32E4D /* Gravatar */ = { - isa = PBXGroup; - children = ( - B58C4EBF207C570000E32E4D /* Gravatar.swift */, - B58C4EC0207C570000E32E4D /* NSString+Gravatar.h */, - B58C4EC1207C570000E32E4D /* NSString+Gravatar.m */, - ); - path = Gravatar; - sourceTree = ""; - }; - B58C4EC8207C594300E32E4D /* Resources */ = { - isa = PBXGroup; - children = ( - B58C4EC5207C592B00E32E4D /* Assets.xcassets */, - ); - path = Resources; - sourceTree = ""; - }; - B592B4482064296500FF568E /* FancyAlert */ = { - isa = PBXGroup; - children = ( - B592B4492064296500FF568E /* FancyAlertPresentationController.swift */, - B592B44A2064296500FF568E /* FancyAlerts.storyboard */, - B592B44C2064296500FF568E /* FancyAlertViewController.swift */, - B592B45420643E3400FF568E /* FancyAlertView.swift */, - B5D91457206AD8BA00EF333D /* FancyButton.swift */, - ); - path = FancyAlert; - sourceTree = ""; - }; - B59DCB52202B146D00BEBD8A = { - isa = PBXGroup; - children = ( - FF20AD1620B76A2300082398 /* WordPressUI.podspec */, - B59DCB5E202B146D00BEBD8A /* WordPressUI */, - B59DCB69202B146D00BEBD8A /* WordPressUITests */, - B59DCB5D202B146D00BEBD8A /* Products */, - B5A78796202B1A58007874FB /* Frameworks */, - ); - sourceTree = ""; - }; - B59DCB5D202B146D00BEBD8A /* Products */ = { - isa = PBXGroup; - children = ( - B59DCB5C202B146D00BEBD8A /* WordPressUI.framework */, - B59DCB65202B146D00BEBD8A /* WordPressUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - B59DCB5E202B146D00BEBD8A /* WordPressUI */ = { - isa = PBXGroup; - children = ( - 8B5100D0244F6C0200672D74 /* BottomSheet */, - B534CB3521398609000D5F8D /* Ghosts */, - B592B4482064296500FF568E /* FancyAlert */, - B518D76B20742ADB00F05DB4 /* FlingableView */, - B5A787CB202B2AA6007874FB /* Categories */, - B5A787F3202B3587007874FB /* Constants */, - B5A78799202B1A93007874FB /* Extensions */, - B5393FE8206D7047007BF9D4 /* Tools */, - B58C4EC8207C594300E32E4D /* Resources */, - B59DCB5F202B146D00BEBD8A /* WordPressUI.h */, - B59DCB60202B146D00BEBD8A /* Info.plist */, - ); - path = WordPressUI; - sourceTree = ""; - }; - B59DCB69202B146D00BEBD8A /* WordPressUITests */ = { - isa = PBXGroup; - children = ( - 8B91476F2451CBEB0028B0AE /* BottomSheet */, - 57BC0C6B228DF1BA00C1F070 /* Ghosts */, - B529F287202C855B00895D88 /* Extensions */, - B59DCB6C202B146D00BEBD8A /* Info.plist */, - ); - path = WordPressUITests; - sourceTree = ""; - }; - B5A78796202B1A58007874FB /* Frameworks */ = { - isa = PBXGroup; - children = ( - B58C4EB4207C532B00E32E4D /* Security.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - B5A78799202B1A93007874FB /* Extensions */ = { - isa = PBXGroup; - children = ( - 43067E29203C8CA4001DD610 /* BlockEvents */, - B58C4EBE207C570000E32E4D /* Gravatar */, - B5A787BC202B2358007874FB /* CGAffineTransform+Helpers.swift */, - 1A40951B2271B3C4009AA86D /* NSBundle+ResourceBundle.swift */, - B589BE2D207BE662007D72D4 /* NSMutableAttributedString+Helpers.swift */, - B5A78825202B4178007874FB /* UIAlertController+Helpers.swift */, - B5A787E0202B2B59007874FB /* UIControl+Helpers.swift */, - B5A787A9202B2323007874FB /* UIDevice+Helpers.swift */, - B58C4EBB207C55D200E32E4D /* UIImage+Assets.swift */, - 828BEAC5203B59CD003F7078 /* UIImage+Crop.swift */, - B5A787AC202B2323007874FB /* UIImage+Rotation.swift */, - B5A787A4202B2322007874FB /* UIImage+Tint.swift */, - B518D76620740F0800F05DB4 /* UIImageView+Blavatar.swift */, - B58C4EAE207C503000E32E4D /* UIImageView+Gravatar.swift */, - B518D76420740E6900F05DB4 /* UIImageView+Networking.swift */, - B5A787AD202B2323007874FB /* UITableView+Helpers.swift */, - B5A787A7202B2322007874FB /* UITableViewController+Helpers.swift */, - B5A787A5202B2322007874FB /* UITextField+TextHelper.swift */, - B5A787AA202B2323007874FB /* UIView+Animations.swift */, - B5A787A6202B2322007874FB /* UIView+Helpers.swift */, - B5A787AB202B2323007874FB /* UIViewController+Helpers.swift */, - 9A43B7AE21CD11290026E196 /* UIViewController+ChildViewController.swift */, - B5A787A8202B2323007874FB /* UIWindow+Helpers.swift */, - ); - path = Extensions; - sourceTree = ""; - }; - B5A787CB202B2AA6007874FB /* Categories */ = { - isa = PBXGroup; - children = ( - B5A787CD202B2AA6007874FB /* UIColor+Helpers.h */, - B5A787D1202B2AA6007874FB /* UIColor+Helpers.m */, - B5A787CF202B2AA6007874FB /* UIImage+Resize.h */, - B5A787D5202B2AA6007874FB /* UIImage+Resize.m */, - B5A787CC202B2AA6007874FB /* UIImage+Util.h */, - B5A787D2202B2AA6007874FB /* UIImage+Util.m */, - B5C82AE22077C01B00DB2E78 /* UILabel+SuggestSize.h */, - B5C82AE42077C02100DB2E78 /* UILabel+SuggestSize.m */, - ); - path = Categories; - sourceTree = ""; - }; - B5A787F3202B3587007874FB /* Constants */ = { - isa = PBXGroup; - children = ( - B5A787F4202B3587007874FB /* UIKitConstants.swift */, - ); - path = Constants; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - B59DCB59202B146D00BEBD8A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B59DCB6D202B146D00BEBD8A /* WordPressUI.h in Headers */, - B5A787D7202B2AA7007874FB /* UIColor+Helpers.h in Headers */, - B5A787D9202B2AA7007874FB /* UIImage+Resize.h in Headers */, - B5C82AE32077C01B00DB2E78 /* UILabel+SuggestSize.h in Headers */, - B58C4EC3207C570000E32E4D /* NSString+Gravatar.h in Headers */, - B5A787D6202B2AA7007874FB /* UIImage+Util.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - B59DCB5B202B146D00BEBD8A /* WordPressUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = B59DCB70202B146D00BEBD8A /* Build configuration list for PBXNativeTarget "WordPressUI" */; - buildPhases = ( - B59DCB59202B146D00BEBD8A /* Headers */, - B59DCB57202B146D00BEBD8A /* Sources */, - B59DCB58202B146D00BEBD8A /* Frameworks */, - B59DCB5A202B146D00BEBD8A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WordPressUI; - productName = WordPressUIKit; - productReference = B59DCB5C202B146D00BEBD8A /* WordPressUI.framework */; - productType = "com.apple.product-type.framework"; - }; - B59DCB64202B146D00BEBD8A /* WordPressUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = B59DCB73202B146D00BEBD8A /* Build configuration list for PBXNativeTarget "WordPressUITests" */; - buildPhases = ( - B59DCB61202B146D00BEBD8A /* Sources */, - B59DCB62202B146D00BEBD8A /* Frameworks */, - B59DCB63202B146D00BEBD8A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B59DCB68202B146D00BEBD8A /* PBXTargetDependency */, - ); - name = WordPressUITests; - productName = WordPressUIKitTests; - productReference = B59DCB65202B146D00BEBD8A /* WordPressUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - B59DCB53202B146D00BEBD8A /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = automattic; - TargetAttributes = { - B59DCB5B202B146D00BEBD8A = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1130; - ProvisioningStyle = Automatic; - }; - B59DCB64202B146D00BEBD8A = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1130; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = B59DCB56202B146D00BEBD8A /* Build configuration list for PBXProject "WordPressUI" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = B59DCB52202B146D00BEBD8A; - productRefGroup = B59DCB5D202B146D00BEBD8A /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - B59DCB5B202B146D00BEBD8A /* WordPressUI */, - B59DCB64202B146D00BEBD8A /* WordPressUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - B59DCB5A202B146D00BEBD8A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B592B4502064296600FF568E /* FancyAlerts.storyboard in Resources */, - FF20AD1720B76A2300082398 /* WordPressUI.podspec in Resources */, - B58C4EC6207C592B00E32E4D /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B59DCB63202B146D00BEBD8A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - B59DCB57202B146D00BEBD8A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8B5100D8244F6D2E00672D74 /* GripButton.swift in Sources */, - 57072D94228D897A007AA9C1 /* GhostableView.swift in Sources */, - 43067E30203C8D27001DD610 /* UIGestureRecognizer+BlockEvents.swift in Sources */, - B554016F2170E90B0067DC90 /* GhostStyle.swift in Sources */, - B5A787B0202B2324007874FB /* UIImage+Tint.swift in Sources */, - B58C4EC4207C570000E32E4D /* NSString+Gravatar.m in Sources */, - B592B45520643E3400FF568E /* FancyAlertView.swift in Sources */, - B534CB4321398638000D5F8D /* GhostOptions.swift in Sources */, - 8B5100D4244F6CE000672D74 /* DrawerPresentationController.swift in Sources */, - B5A787B1202B2324007874FB /* UITextField+TextHelper.swift in Sources */, - B5A787DB202B2AA7007874FB /* UIColor+Helpers.m in Sources */, - 9A43B7AF21CD11290026E196 /* UIViewController+ChildViewController.swift in Sources */, - B5A787B7202B2324007874FB /* UIViewController+Helpers.swift in Sources */, - B5393FEA206D7047007BF9D4 /* RotationAwareNavigationViewController.swift in Sources */, - B5A787B6202B2324007874FB /* UIView+Animations.swift in Sources */, - B554016D2170E8580067DC90 /* UIView+Ghost.swift in Sources */, - B5A787B8202B2324007874FB /* UIImage+Rotation.swift in Sources */, - B518D76520740E6900F05DB4 /* UIImageView+Networking.swift in Sources */, - B534CB4121398638000D5F8D /* UITableView+Ghost.swift in Sources */, - 1A40951C2271B3C4009AA86D /* NSBundle+ResourceBundle.swift in Sources */, - B534CB3E21398638000D5F8D /* UICollectionView+Ghost.swift in Sources */, - 43067E2B203C8CC4001DD610 /* UIControl+BlockEvents.swift in Sources */, - 8B5100D6244F6D0F00672D74 /* BottomSheetAnimationController.swift in Sources */, - B5A78826202B4178007874FB /* UIAlertController+Helpers.swift in Sources */, - B5A787B9202B2324007874FB /* UITableView+Helpers.swift in Sources */, - B534CB4021398638000D5F8D /* GhostTableViewHandler.swift in Sources */, - 8B5100D2244F6C6C00672D74 /* BottomSheetViewController.swift in Sources */, - B589BE2E207BE662007D72D4 /* NSMutableAttributedString+Helpers.swift in Sources */, - B5D91458206AD8BA00EF333D /* FancyButton.swift in Sources */, - B58C4EC2207C570000E32E4D /* Gravatar.swift in Sources */, - B5A787BD202B2358007874FB /* CGAffineTransform+Helpers.swift in Sources */, - B5A787DF202B2AA7007874FB /* UIImage+Resize.m in Sources */, - B5A787B4202B2324007874FB /* UIWindow+Helpers.swift in Sources */, - B5A787B2202B2324007874FB /* UIView+Helpers.swift in Sources */, - B534CB3F21398638000D5F8D /* UIView+InnerGhost.swift in Sources */, - B5C82AE52077C02200DB2E78 /* UILabel+SuggestSize.m in Sources */, - B58C4EAF207C503000E32E4D /* UIImageView+Gravatar.swift in Sources */, - B5A787E1202B2B59007874FB /* UIControl+Helpers.swift in Sources */, - B518D76720740F0800F05DB4 /* UIImageView+Blavatar.swift in Sources */, - 43067E2E203C8D03001DD610 /* UIBarButtonItem+BlockEvents.swift in Sources */, - 17576E6320AC7A28008612EF /* GradientView.swift in Sources */, - B592B4522064296600FF568E /* FancyAlertViewController.swift in Sources */, - B58C4EBC207C55D300E32E4D /* UIImage+Assets.swift in Sources */, - B5A787F5202B3587007874FB /* UIKitConstants.swift in Sources */, - B534CB4221398638000D5F8D /* GhostLayer.swift in Sources */, - B518D76D20742ADB00F05DB4 /* FlingableViewHandler.swift in Sources */, - B5A787DC202B2AA7007874FB /* UIImage+Util.m in Sources */, - B534CB4521398638000D5F8D /* GhostCollectionViewHandler.swift in Sources */, - B5A787B5202B2324007874FB /* UIDevice+Helpers.swift in Sources */, - B5A787B3202B2324007874FB /* UITableViewController+Helpers.swift in Sources */, - B592B44F2064296600FF568E /* FancyAlertPresentationController.swift in Sources */, - B534CB4421398638000D5F8D /* GhostAnimation.swift in Sources */, - 828BEAC6203B59CD003F7078 /* UIImage+Crop.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B59DCB61202B146D00BEBD8A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 577FC78722985DD0005BA78F /* UIView+ChangeLayoutMarginsTests.swift in Sources */, - 9A6EC88D21DA4832007815FF /* UIViewControllerHelperTest.swift in Sources */, - 02CCC587230121440051D40B /* UIView+AutoLayoutHelperTests.swift in Sources */, - B529F289202C855B00895D88 /* UIColorHelpersTests.swift in Sources */, - 57BC0C6D228DF1E000C1F070 /* UIView+GhostTests.swift in Sources */, - 57BC0C6F228DF35400C1F070 /* UITableView+GhostTests.swift in Sources */, - B5226C68207CCDB2003C606E /* GravatarTest.swift in Sources */, - 8B9147712451CBFB0028B0AE /* BottomSheetViewControllerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - B59DCB68202B146D00BEBD8A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B59DCB5B202B146D00BEBD8A /* WordPressUI */; - targetProxy = B59DCB67202B146D00BEBD8A /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - B56D96DC202CC4D300485233 /* Release-Alpha */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = "Release-Alpha"; - }; - B56D96DD202CC4D300485233 /* Release-Alpha */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = PZYM8XX95Q; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressUI/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Release-Alpha"; - }; - B56D96DE202CC4D300485233 /* Release-Alpha */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PZYM8XX95Q; - INFOPLIST_FILE = WordPressUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Release-Alpha"; - }; - B56D96DF202CC4D800485233 /* Release-Internal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = "Release-Internal"; - }; - B56D96E0202CC4D800485233 /* Release-Internal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = PZYM8XX95Q; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressUI/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Release-Internal"; - }; - B56D96E1202CC4D800485233 /* Release-Internal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PZYM8XX95Q; - INFOPLIST_FILE = WordPressUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Release-Internal"; - }; - B59DCB6E202B146D00BEBD8A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B59DCB6F202B146D00BEBD8A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - B59DCB71202B146D00BEBD8A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = PZYM8XX95Q; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressUI/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - B59DCB72202B146D00BEBD8A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = PZYM8XX95Q; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressUI/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - B59DCB74202B146D00BEBD8A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PZYM8XX95Q; - INFOPLIST_FILE = WordPressUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - B59DCB75202B146D00BEBD8A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PZYM8XX95Q; - INFOPLIST_FILE = WordPressUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.automattic.WordPressUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - B59DCB56202B146D00BEBD8A /* Build configuration list for PBXProject "WordPressUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B59DCB6E202B146D00BEBD8A /* Debug */, - B59DCB6F202B146D00BEBD8A /* Release */, - B56D96DF202CC4D800485233 /* Release-Internal */, - B56D96DC202CC4D300485233 /* Release-Alpha */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B59DCB70202B146D00BEBD8A /* Build configuration list for PBXNativeTarget "WordPressUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B59DCB71202B146D00BEBD8A /* Debug */, - B59DCB72202B146D00BEBD8A /* Release */, - B56D96E0202CC4D800485233 /* Release-Internal */, - B56D96DD202CC4D300485233 /* Release-Alpha */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B59DCB73202B146D00BEBD8A /* Build configuration list for PBXNativeTarget "WordPressUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B59DCB74202B146D00BEBD8A /* Debug */, - B59DCB75202B146D00BEBD8A /* Release */, - B56D96E1202CC4D800485233 /* Release-Internal */, - B56D96DE202CC4D300485233 /* Release-Alpha */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = B59DCB53202B146D00BEBD8A /* Project object */; -} diff --git a/WordPressUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/WordPressUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 01f7139..0000000 --- a/WordPressUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/WordPressUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/WordPressUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/WordPressUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/WordPressUI.xcodeproj/xcshareddata/xcschemes/WordPressUI.xcscheme b/WordPressUI.xcodeproj/xcshareddata/xcschemes/WordPressUI.xcscheme deleted file mode 100644 index 47e5328..0000000 --- a/WordPressUI.xcodeproj/xcshareddata/xcschemes/WordPressUI.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WordPressUI.xcworkspace/contents.xcworkspacedata b/WordPressUI.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index e9e3283..0000000 --- a/WordPressUI.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/WordPressUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/WordPressUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/WordPressUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/WordPressUI/Extensions/NSBundle+ResourceBundle.swift b/WordPressUI/Extensions/NSBundle+ResourceBundle.swift index 6ee58db..8d5995e 100644 --- a/WordPressUI/Extensions/NSBundle+ResourceBundle.swift +++ b/WordPressUI/Extensions/NSBundle+ResourceBundle.swift @@ -2,6 +2,9 @@ import Foundation extension Bundle { @objc public class var wordPressUIBundle: Bundle { +#if SWIFT_PACKAGE + return Bundle.module +#else let defaultBundle = Bundle(for: FancyAlertViewController.self) // If installed with CocoaPods, resources will be in WordPressUIResources.bundle if let bundleUrl = defaultBundle.url(forResource: "WordPressUIResources", withExtension: "bundle"), @@ -10,5 +13,6 @@ extension Bundle { } // Otherwise, the default bundle is used for resources return defaultBundle +#endif } } diff --git a/WordPressUI/Extensions/UIImageView+Gravatar.swift b/WordPressUI/Extensions/UIImageView+Gravatar.swift index 6531b2e..3824145 100644 --- a/WordPressUI/Extensions/UIImageView+Gravatar.swift +++ b/WordPressUI/Extensions/UIImageView+Gravatar.swift @@ -1,6 +1,10 @@ import Foundation import UIKit +#if SWIFT_PACKAGE +import WordPressUIGravatar +import WordPressUIGravatarObjC +#endif /// Wrapper class used to ensure removeObserver is called private class GravatarNotificationWrapper { diff --git a/WordPressUI/Extensions/UIImageView+Networking.swift b/WordPressUI/Extensions/UIImageView+Networking.swift index 446e4af..2f7a98f 100644 --- a/WordPressUI/Extensions/UIImageView+Networking.swift +++ b/WordPressUI/Extensions/UIImageView+Networking.swift @@ -1,6 +1,9 @@ import Foundation import UIKit +#if SWIFT_PACKAGE +import WordPressUIObjCCategories +#endif public extension UIImageView { enum ImageDownloadError: Error { diff --git a/WordPressUI/Tools/Exports.swift b/WordPressUI/Tools/Exports.swift new file mode 100644 index 0000000..771ffd9 --- /dev/null +++ b/WordPressUI/Tools/Exports.swift @@ -0,0 +1,5 @@ +#if SWIFT_PACKAGE +@_exported import WordPressUIGravatar +@_exported import WordPressUIGravatarObjC +@_exported import WordPressUIObjCCategories +#endif diff --git a/WordPressUITests/Extensions/ResourcesBundleTests.swift b/WordPressUITests/Extensions/ResourcesBundleTests.swift new file mode 100644 index 0000000..32ac4ad --- /dev/null +++ b/WordPressUITests/Extensions/ResourcesBundleTests.swift @@ -0,0 +1,17 @@ +import XCTest + +import WordPressUI + +class ResourcesBundleTests: XCTestCase { + + func testResourceBundleImageCanBeLoaded() { + let icon = UIImage(named: "icon-url-field", in: Bundle.wordPressUIBundle, compatibleWith: nil) + XCTAssertNotNil(icon) + } + + func testFancyAlertStoryboardCanBeLoaded() { + let storyboard = UIStoryboard(name: "FancyAlerts", bundle: .wordPressUIBundle) + XCTAssertNotNil(storyboard.instantiateInitialViewController()) + } + +} diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 9972abb..14ea798 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -6,7 +6,9 @@ platform :ios do desc 'Builds the project and runs tests' lane :test do run_tests( + package_path: '.', scheme: 'WordPressUI', + device: 'iPhone 14', prelaunch_simulator: true, buildlog_path: File.join(__dir__, '.build', 'logs'), derived_data_path: File.join(__dir__, '.build', 'derived-data') From 74655705384e3f18048c6d1cd7a3e5b992fd3a4b Mon Sep 17 00:00:00 2001 From: Tony Li Date: Thu, 10 Nov 2022 10:21:25 +1300 Subject: [PATCH 3/3] Update pipeline to use the latest plugin --- .buildkite/pipeline.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 016b8a7..efc069e 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,18 +1,18 @@ # Nodes with values to reuse in the pipeline. common_params: plugins: &common_plugins - - &bash_cache automattic/bash-cache#2.9.0 + - &bash_cache automattic/bash-cache#2.10.0 env: &common_env IMAGE_ID: xcode-14 steps: - ################# - # Build and Test - ################# - - label: "🧪 Build and Test" + ######################## + # Validate Swift Package + ######################## + - label: "🔬 Validate Swift Package" key: "test" command: | - build_and_test_pod + validate_swift_package env: *common_env plugins: *common_plugins