Compare commits

...

52 Commits

Author SHA1 Message Date
mrustaa f2e8d4411f Update podspec only Source 2021-11-16 15:03:18 +03:00
mrustaa 3c2848ffd1 Update podspec 2021-11-16 14:35:31 +03:00
mrustaa f162d50891 Merge branch 'fixRotation' 2021-11-06 14:07:58 +03:00
rmotygullin 9f34fcb70c Merge branch 'fix_rotation' 2021-11-06 12:37:56 +03:00
mrustaa fed617321f FixRotation: (Issues During Rotation) Fix Completed Testing 2021-11-05 14:02:00 +03:00
rmotygullin 139082d366 FixRotation: (Issues During Rotation) Fix Completed 2021-11-05 14:01:00 +03:00
mrustaa ca43421a8f FixRotation: Create extension UIDeviceOrientation + Add property Boolean .isRotateAllowed, .face 2021-11-04 14:02:00 +03:00
rmotygullin 08975badd3 FixRotation: Create extension UIDeviceOrientation + Add property Boolean .isRotateAllowed, .face 2021-11-04 14:01:00 +03:00
mrustaa 72759913ae FixRotation: (Issues During Rotation) is isPortrait remove orientation .portraitUpsideDown 2021-11-03 14:02:00 +03:00
rmotygullin 410f53dc1c FixRotation: (Issues During Rotation) is isPortrait remove orientation .portraitUpsideDown 2021-11-03 14:01:00 +03:00
mrustaa 7916101d7b Merge branch 'dark_mode' 2020-09-21 12:21:11 +03:00
mrustaa 17313e2bd3 Merge branch 'fix_readme' 2020-09-21 12:18:14 +03:00
mrustaa fc09d21272 add app-icon 2020-09-21 12:10:27 +03:00
Ernesto Rivera 1b85dfa196 Dark mode support 2020-09-16 15:39:17 -04:00
Ernesto Rivera 830bceb3cb Update README.md
Fix sample code
2020-09-16 09:48:01 -04:00
Ernesto Rivera 8b467a2b59 Add @available(iOS 13.0, *) to classes and protocols for improved compatibility 2020-09-16 09:13:01 -04:00
Ernesto Rivera 7656a3f287 Remove unnecessary iOS 13 version check 2020-09-16 09:12:38 -04:00
Rustam aa2f484b6b Update README.md 2020-09-12 03:53:52 +03:00
mrustaa fd21f9adb7 add open proj 2020-06-25 16:45:42 +03:00
mrustaa ffb3e42939 fix 2020-06-24 13:27:05 +03:00
mrustaa a59bacaf89 update podspec 2020-06-22 15:29:00 +03:00
mrustaa ab373c569a fix talbe-adapter 2020-06-22 15:20:00 +03:00
mrustaa 29c7b63352 add package 2020-06-22 13:58:52 +03:00
Rustam 45a2479733 Update README.md 2020-06-20 17:37:18 +03:00
Rustam 36ec1c3d12 Update README.md 2020-06-12 03:01:47 +03:00
Rustam 59832f0e4b Update README.md 2020-06-12 02:47:06 +03:00
Rustam f77b041bce Update README.md 2020-06-12 02:45:00 +03:00
Rustam 07ddae83a0 Update README.md 2020-06-12 02:28:06 +03:00
Rustam 7ae64d9350 Update README.md 2020-06-12 02:27:13 +03:00
Rustam 51b9c84daa Update README.md 2020-06-12 02:26:10 +03:00
Rustam 211dcf48a6 Update README.md 2020-06-12 02:24:32 +03:00
Rustam e3ae3d440e Update README.md 2020-06-12 02:16:04 +03:00
mrustaa 87b208dc1b update split class 2020-06-11 16:06:12 +03:00
mrustaa 9449d4d9d6 update 2020-06-11 02:44:10 +03:00
mrustaa 5249c14314 fix remove status-bar hidden 2020-06-11 02:16:30 +03:00
Rustam f95ba4f1e4 Update README.md 2020-06-11 01:41:02 +03:00
mrustaa ad9dfd7f5a fix rotated 2020-06-11 01:14:43 +03:00
mrustaa 6d7e1a010b Merge commit '262727193c7a6366c9d53674228eb31db8df3467' 2020-06-11 00:43:56 +03:00
Rustam 262727193c Update README.md 2020-06-10 21:54:29 +03:00
mrustaa a17e142cfa update 2020-06-10 21:34:48 +03:00
mrustaa 99591d784f fix 2020-06-10 21:26:11 +03:00
mrustaa c4ff71566c add screen preview image 2020-06-10 21:24:27 +03:00
mrustaa 1418eeda0f update podspec version 2020-06-10 20:33:37 +03:00
mrustaa 8aeab6b534 update podspec 2020-06-10 20:33:05 +03:00
mrustaa 45ef8d369f update 2020-06-10 20:23:31 +03:00
mrustaa 8e4786465a localizable update 2020-06-10 19:58:31 +03:00
mrustaa 353468f82a podspec update version 2020-06-10 19:16:27 +03:00
mrustaa f2c2dec7e9 hide status-bar-hidden, add gif presentation readme 2020-06-10 19:15:09 +03:00
mrustaa f71316aded update 1.0.8 2020-06-10 15:02:28 +03:00
mrustaa 5a6ac33d30 add example - update framework 2020-06-10 15:00:22 +03:00
mrustaa 2efe85d480 update 2020-06-10 13:38:47 +03:00
mrustaa 74647ef9ba 1.0.6 2020-06-10 13:34:15 +03:00
67 changed files with 372 additions and 2861 deletions
@@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:ContainerControllerSwift.xcodeproj">
location = "self:">
</FileRef>
</Workspace>
+5 -4
View File
@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = 'ContainerControllerSwift'
s.version = '1.0.5'
s.version = '1.1.3'
s.summary = 'This is a swipe-panel from application: https://www.apple.com/ios/maps/'
# This description is used to generate tags and improve search results.
@@ -28,13 +28,14 @@ TODO: Add long description of the pod here.
s.author = { 'mrustaa' => 'rustamburger@gmail.com' }
s.source = { :git => 'https://github.com/mrustaa/ContainerController.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.swift_version = "5.0"
# s.ios.deployment_target = '13.0'
s.platform = :ios, "13.0"
s.source_files = 'ContainerControllerSwift/*.{swift}'
s.source_files = 'ContainerControllerSwift/ContainerTable/*.{swift}'
s.source_files = 'ContainerControllerSwift/ContainerCollection/*.{swift}'
s.source_files = '**/ContainerControllerSwift/**/*.{swift}'
s.exclude_files = '**/ContainerControllerSwift/**/*.plist'
s.framework = "UIKit"
# s.ios.framework = 'UIKit'
# s.resource_bundles = {
Binary file not shown.
@@ -1,45 +0,0 @@
#
# Be sure to run `pod lib lint ContainerControllerSwift.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name = 'ContainerControllerSwift'
s.version = '1.0.2'
s.summary = 'This is a swipe-panel from application: https://www.apple.com/ios/maps/'
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
TODO: Add long description of the pod here.
'This is a swipe-panel from application: https://www.apple.com/ios/maps/'
DESC
s.homepage = 'https://github.com/mrustaa/ContainerController'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'rustamburger@gmail.com' => 'rustamburger@gmail.com' }
s.source = { :git => 'https://github.com/mrustaa/ContainerController.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.swift_version = '5.2.4'
s.ios.deployment_target = '13.0'
s.source_files = 'ContainerControllerSwift/*.{swift}'
s.source_files = 'ContainerControllerSwift/**/*.{swift}'
# s.resource_bundles = {
# 'ContainerControllerSwift' => ['ContainerControllerSwift/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
@@ -1,27 +0,0 @@
//
// TableAdapterCellData.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 17/04/2020.
// Copyright © 2020 mrusta. All rights reserved.
//
import UIKit
open class TableAdapterCellData: NSObject {
// public let cellIdentifier: String
//
// public init(cellIdentifier: String? = UUID().uuidString) {
// self.cellIdentifier = cellIdentifier ?? UUID().uuidString
// }
open func cellHeight() -> CGFloat {
return UITableView.automaticDimension
}
open func canEditing() -> Bool {
return false
}
}
@@ -1,586 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
76B8DCAE51106B56EBBCCF22 /* Pods_ContainerControllerSwift_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8903A29B31F63B5A7A8607B /* Pods_ContainerControllerSwift_Tests.framework */; };
968DB7E5EF2DD4AE15D171EB /* Pods_ContainerControllerSwift_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 121FB933CAE3EC5A2A00F4B2 /* Pods_ContainerControllerSwift_Example.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 607FACCF1AFB9204008FA782;
remoteInfo = ContainerControllerSwift;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
01C7EF19A8C89AA4D02D74D2 /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ContainerControllerSwift_Tests.debug.xcconfig"; path = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests.debug.xcconfig"; sourceTree = "<group>"; };
0AA8BF39B9F182FE833C0178 /* Pods-ContainerControllerSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ContainerControllerSwift_Example.debug.xcconfig"; path = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example.debug.xcconfig"; sourceTree = "<group>"; };
1034FE614CC8890CE063531F /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
121FB933CAE3EC5A2A00F4B2 /* Pods_ContainerControllerSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ContainerControllerSwift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD01AFB9204008FA782 /* ContainerControllerSwift_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ContainerControllerSwift_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
607FACE51AFB9204008FA782 /* ContainerControllerSwift_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ContainerControllerSwift_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
84550121AB9630F101ECE515 /* Pods-ContainerControllerSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ContainerControllerSwift_Example.release.xcconfig"; path = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example.release.xcconfig"; sourceTree = "<group>"; };
95BE06AF27887E1C134436AD /* ContainerControllerSwift.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = ContainerControllerSwift.podspec; path = ../ContainerControllerSwift.podspec; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
D8903A29B31F63B5A7A8607B /* Pods_ContainerControllerSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ContainerControllerSwift_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DF5E269035BE15FBD5F947F3 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ContainerControllerSwift_Tests.release.xcconfig"; path = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests.release.xcconfig"; sourceTree = "<group>"; };
E0FB46D7C5BC0F8759A83A60 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
607FACCD1AFB9204008FA782 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
968DB7E5EF2DD4AE15D171EB /* Pods_ContainerControllerSwift_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE21AFB9204008FA782 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
76B8DCAE51106B56EBBCCF22 /* Pods_ContainerControllerSwift_Tests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
22F538CF8601A849D034CF8B /* Pods */ = {
isa = PBXGroup;
children = (
0AA8BF39B9F182FE833C0178 /* Pods-ContainerControllerSwift_Example.debug.xcconfig */,
84550121AB9630F101ECE515 /* Pods-ContainerControllerSwift_Example.release.xcconfig */,
01C7EF19A8C89AA4D02D74D2 /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */,
DF5E269035BE15FBD5F947F3 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
607FACC71AFB9204008FA782 = {
isa = PBXGroup;
children = (
607FACF51AFB993E008FA782 /* Podspec Metadata */,
607FACD21AFB9204008FA782 /* Example for ContainerControllerSwift */,
607FACE81AFB9204008FA782 /* Tests */,
607FACD11AFB9204008FA782 /* Products */,
22F538CF8601A849D034CF8B /* Pods */,
AD5BB6CA5AB2437952B3E0A8 /* Frameworks */,
);
sourceTree = "<group>";
};
607FACD11AFB9204008FA782 /* Products */ = {
isa = PBXGroup;
children = (
607FACD01AFB9204008FA782 /* ContainerControllerSwift_Example.app */,
607FACE51AFB9204008FA782 /* ContainerControllerSwift_Tests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
607FACD21AFB9204008FA782 /* Example for ContainerControllerSwift */ = {
isa = PBXGroup;
children = (
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
607FACD71AFB9204008FA782 /* ViewController.swift */,
607FACD91AFB9204008FA782 /* Main.storyboard */,
607FACDC1AFB9204008FA782 /* Images.xcassets */,
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
607FACD31AFB9204008FA782 /* Supporting Files */,
);
name = "Example for ContainerControllerSwift";
path = ContainerControllerSwift;
sourceTree = "<group>";
};
607FACD31AFB9204008FA782 /* Supporting Files */ = {
isa = PBXGroup;
children = (
607FACD41AFB9204008FA782 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
607FACE81AFB9204008FA782 /* Tests */ = {
isa = PBXGroup;
children = (
607FACEB1AFB9204008FA782 /* Tests.swift */,
607FACE91AFB9204008FA782 /* Supporting Files */,
);
path = Tests;
sourceTree = "<group>";
};
607FACE91AFB9204008FA782 /* Supporting Files */ = {
isa = PBXGroup;
children = (
607FACEA1AFB9204008FA782 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
isa = PBXGroup;
children = (
95BE06AF27887E1C134436AD /* ContainerControllerSwift.podspec */,
1034FE614CC8890CE063531F /* README.md */,
E0FB46D7C5BC0F8759A83A60 /* LICENSE */,
);
name = "Podspec Metadata";
sourceTree = "<group>";
};
AD5BB6CA5AB2437952B3E0A8 /* Frameworks */ = {
isa = PBXGroup;
children = (
121FB933CAE3EC5A2A00F4B2 /* Pods_ContainerControllerSwift_Example.framework */,
D8903A29B31F63B5A7A8607B /* Pods_ContainerControllerSwift_Tests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
607FACCF1AFB9204008FA782 /* ContainerControllerSwift_Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift_Example" */;
buildPhases = (
83D2AA92C153B73649CBCF16 /* [CP] Check Pods Manifest.lock */,
607FACCC1AFB9204008FA782 /* Sources */,
607FACCD1AFB9204008FA782 /* Frameworks */,
607FACCE1AFB9204008FA782 /* Resources */,
8E6E3C608EFDC3DE4C572F9E /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ContainerControllerSwift_Example;
productName = ContainerControllerSwift;
productReference = 607FACD01AFB9204008FA782 /* ContainerControllerSwift_Example.app */;
productType = "com.apple.product-type.application";
};
607FACE41AFB9204008FA782 /* ContainerControllerSwift_Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift_Tests" */;
buildPhases = (
A0AFE6DE4C88627AC97D4DF0 /* [CP] Check Pods Manifest.lock */,
607FACE11AFB9204008FA782 /* Sources */,
607FACE21AFB9204008FA782 /* Frameworks */,
607FACE31AFB9204008FA782 /* Resources */,
);
buildRules = (
);
dependencies = (
607FACE71AFB9204008FA782 /* PBXTargetDependency */,
);
name = ContainerControllerSwift_Tests;
productName = Tests;
productReference = 607FACE51AFB9204008FA782 /* ContainerControllerSwift_Tests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
607FACC81AFB9204008FA782 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0830;
LastUpgradeCheck = 1150;
ORGANIZATIONNAME = CocoaPods;
TargetAttributes = {
607FACCF1AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
LastSwiftMigration = 0900;
};
607FACE41AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
LastSwiftMigration = 0900;
TestTargetID = 607FACCF1AFB9204008FA782;
};
};
};
buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "ContainerControllerSwift" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 607FACC71AFB9204008FA782;
productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
607FACCF1AFB9204008FA782 /* ContainerControllerSwift_Example */,
607FACE41AFB9204008FA782 /* ContainerControllerSwift_Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
607FACCE1AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE31AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
83D2AA92C153B73649CBCF16 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ContainerControllerSwift_Example-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
8E6E3C608EFDC3DE4C572F9E /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ContainerControllerSwift.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
A0AFE6DE4C88627AC97D4DF0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ContainerControllerSwift_Tests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
607FACCC1AFB9204008FA782 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE11AFB9204008FA782 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
607FACE71AFB9204008FA782 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 607FACCF1AFB9204008FA782 /* ContainerControllerSwift_Example */;
targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
607FACD91AFB9204008FA782 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
607FACDA1AFB9204008FA782 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
607FACDF1AFB9204008FA782 /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
607FACED1AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
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_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_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
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 = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
607FACEE1AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
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_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_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
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 = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
607FACF01AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0AA8BF39B9F182FE833C0178 /* Pods-ContainerControllerSwift_Example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ContainerControllerSwift/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
607FACF11AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 84550121AB9630F101ECE515 /* Pods-ContainerControllerSwift_Example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ContainerControllerSwift/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
};
name = Release;
};
607FACF31AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 01C7EF19A8C89AA4D02D74D2 /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ContainerControllerSwift_Example.app/ContainerControllerSwift_Example";
};
name = Debug;
};
607FACF41AFB9204008FA782 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = DF5E269035BE15FBD5F947F3 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ContainerControllerSwift_Example.app/ContainerControllerSwift_Example";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "ContainerControllerSwift" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACED1AFB9204008FA782 /* Debug */,
607FACEE1AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift_Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACF01AFB9204008FA782 /* Debug */,
607FACF11AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift_Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
607FACF31AFB9204008FA782 /* Debug */,
607FACF41AFB9204008FA782 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 607FACC81AFB9204008FA782 /* Project object */;
}
@@ -1,111 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1150"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Example.app"
BlueprintName = "ContainerControllerSwift_Example"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACE41AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Tests.xctest"
BlueprintName = "ContainerControllerSwift_Tests"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Example.app"
BlueprintName = "ContainerControllerSwift_Example"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACE41AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Tests.xctest"
BlueprintName = "ContainerControllerSwift_Tests"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Example.app"
BlueprintName = "ContainerControllerSwift_Example"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "ContainerControllerSwift_Example.app"
BlueprintName = "ContainerControllerSwift_Example"
ReferencedContainer = "container:ContainerControllerSwift.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:ContainerControllerSwift.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
@@ -1,46 +0,0 @@
//
// AppDelegate.swift
// ContainerControllerSwift
//
// Created by rustamburger@gmail.com on 06/09/2020.
// Copyright (c) 2020 rustamburger@gmail.com. All rights reserved.
//
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}
@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 CocoaPods. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="20" y="439" width="441" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ContainerControllerSwift" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="548" y="455"/>
</view>
</objects>
</document>
@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="ViewController" customModule="ContainerControllerSwift_Example" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
@@ -1,24 +0,0 @@
//
// ViewController.swift
// ContainerControllerSwift
//
// Created by rustamburger@gmail.com on 06/09/2020.
// Copyright (c) 2020 rustamburger@gmail.com. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
-10
View File
@@ -1,10 +0,0 @@
use_frameworks!
target 'ContainerControllerSwift_Example' do
pod 'ContainerControllerSwift'
target 'ContainerControllerSwift_Tests' do
inherit! :search_paths
end
end
-16
View File
@@ -1,16 +0,0 @@
PODS:
- ContainerControllerSwift (1.0.0)
DEPENDENCIES:
- ContainerControllerSwift (from `../`)
EXTERNAL SOURCES:
ContainerControllerSwift:
:path: "../"
SPEC CHECKSUMS:
ContainerControllerSwift: 784bd547f936a51b956788cdd23869344e638119
PODFILE CHECKSUM: 5f9e7bdcf65f6b742444242add916867543ae8c0
COCOAPODS: 1.9.3
@@ -1,24 +0,0 @@
{
"name": "ContainerControllerSwift",
"version": "1.0.0",
"summary": "This is a swipe-panel from application: https://www.apple.com/ios/maps/",
"description": "TODO: Add long description of the pod here.\n'This is a swipe-panel from application: https://www.apple.com/ios/maps/'",
"homepage": "https://github.com/mrustaa/ContainerController",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"rustamburger@gmail.com": "rustamburger@gmail.com"
},
"source": {
"git": "https://github.com/mrustaa/ContainerController.git",
"tag": "1.0.0"
},
"swift_versions": "5.2.4",
"platforms": {
"ios": "13.0"
},
"source_files": "ContainerControllerSwift/**/*.{swift}",
"swift_version": "5.2.4"
}
-16
View File
@@ -1,16 +0,0 @@
PODS:
- ContainerControllerSwift (1.0.0)
DEPENDENCIES:
- ContainerControllerSwift (from `../`)
EXTERNAL SOURCES:
ContainerControllerSwift:
:path: "../"
SPEC CHECKSUMS:
ContainerControllerSwift: 784bd547f936a51b956788cdd23869344e638119
PODFILE CHECKSUM: 5f9e7bdcf65f6b742444242add916867543ae8c0
COCOAPODS: 1.9.3
-863
View File
@@ -1,863 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
00890DAA8DA6F37A5A9A08D12C28DB0B /* ContainerControllerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D9CBEFF11CE7640EEA244C26DEB209EE /* ContainerControllerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
1243F193971FB6A9D10E4A6DFFF1A81C /* Pods-ContainerControllerSwift_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 32E7EA3D3C16ECD90748D85102DE9F48 /* Pods-ContainerControllerSwift_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
46ACEFC3249021CA00FAAD43 /* ContainerTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB1249021C900FAAD43 /* ContainerTypes.swift */; };
46ACEFC4249021CA00FAAD43 /* TableAdapterCellData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB3249021C900FAAD43 /* TableAdapterCellData.swift */; };
46ACEFC5249021CA00FAAD43 /* TableAdapterItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB4249021C900FAAD43 /* TableAdapterItem.swift */; };
46ACEFC6249021CA00FAAD43 /* TableAdapterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB5249021C900FAAD43 /* TableAdapterCell.swift */; };
46ACEFC7249021CA00FAAD43 /* TableAdapterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB6249021C900FAAD43 /* TableAdapterView.swift */; };
46ACEFC8249021CA00FAAD43 /* TableAdapterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB7249021C900FAAD43 /* TableAdapterTypes.swift */; };
46ACEFC9249021CA00FAAD43 /* ContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB8249021CA00FAAD43 /* ContainerView.swift */; };
46ACEFCA249021CA00FAAD43 /* ContainerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFB9249021CA00FAAD43 /* ContainerController.swift */; };
46ACEFCB249021CA00FAAD43 /* ContainerLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFBA249021CA00FAAD43 /* ContainerLayout.swift */; };
46ACEFCC249021CA00FAAD43 /* CollectionAdapterItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFBC249021CA00FAAD43 /* CollectionAdapterItem.swift */; };
46ACEFCD249021CA00FAAD43 /* CollectionAdapterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFBD249021CA00FAAD43 /* CollectionAdapterCell.swift */; };
46ACEFCE249021CA00FAAD43 /* CollectionAdapterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFBE249021CA00FAAD43 /* CollectionAdapterView.swift */; };
46ACEFCF249021CA00FAAD43 /* CollectionAdapterCellData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFBF249021CA00FAAD43 /* CollectionAdapterCellData.swift */; };
46ACEFD0249021CA00FAAD43 /* CollectionAdapterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFC0249021CA00FAAD43 /* CollectionAdapterTypes.swift */; };
46ACEFD1249021CA00FAAD43 /* ContainerControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFC1249021CA00FAAD43 /* ContainerControllerDelegate.swift */; };
46ACEFD2249021CA00FAAD43 /* ContainerDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ACEFC2249021CA00FAAD43 /* ContainerDevice.swift */; };
6832A37E4BE96FFAB256437366565B3A /* Pods-ContainerControllerSwift_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C492E15579178E6EFA4F7D5E4FD837E3 /* Pods-ContainerControllerSwift_Example-dummy.m */; };
6BA9901BD72359C688E66F3F7F4FCDD5 /* Pods-ContainerControllerSwift_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F6EBDD597E9CC4639BD0FBF04762179D /* Pods-ContainerControllerSwift_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
924134AF593E128FA35D2DB4F482484E /* ContainerControllerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA0EC0D79861379FB2B1874207A67A /* ContainerControllerSwift-dummy.m */; };
92EB6A1534372D92475E0C3060E06BD8 /* Pods-ContainerControllerSwift_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CE04B24AA978789CDFAA23C3FF9D294 /* Pods-ContainerControllerSwift_Tests-dummy.m */; };
B9206B2E0133EE4CAEDE0F4D744714E5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
CDB05F59A9B358A3E5C4C2DFE8325017 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
FF5ED999C368088A1250700BBBCF4C41 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
0F48CBB7540AE6469B989CFD7E5E8088 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = CE197115FA4CB443FE4917D7ACF96849;
remoteInfo = "Pods-ContainerControllerSwift_Example";
};
65FC883BECB76655B966D1157DC123BC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5DA187609B115AA5A2E3705A1CC63904;
remoteInfo = ContainerControllerSwift;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
06196A9E7A7180DCFA9E0A32364BF2EC /* Pods-ContainerControllerSwift_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ContainerControllerSwift_Example-acknowledgements.plist"; sourceTree = "<group>"; };
06B6F2A2E669185755A8E3A5F313DA00 /* Pods-ContainerControllerSwift_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ContainerControllerSwift_Example.modulemap"; sourceTree = "<group>"; };
122783B233FC53518106B017B9E57796 /* Pods-ContainerControllerSwift_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ContainerControllerSwift_Tests.modulemap"; sourceTree = "<group>"; };
13296F8F89440216D156B1EF58BBD3FA /* Pods-ContainerControllerSwift_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ContainerControllerSwift_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
148A1CC4CCA9A45E6679C0483EC257F1 /* Pods_ContainerControllerSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ContainerControllerSwift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
17B800897A944FAFD0416DC3C8A2B9CD /* ContainerControllerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ContainerControllerSwift.debug.xcconfig; sourceTree = "<group>"; };
23B6CA2F0075DF1F0D43741B3188D49C /* ContainerControllerSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = ContainerControllerSwift.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
31C6D8CE52D9D44CFE3381837377CCE7 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
32E7EA3D3C16ECD90748D85102DE9F48 /* Pods-ContainerControllerSwift_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ContainerControllerSwift_Tests-umbrella.h"; sourceTree = "<group>"; };
34B99A079CA33F3CFA10293C249BD2CE /* Pods-ContainerControllerSwift_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ContainerControllerSwift_Example-Info.plist"; sourceTree = "<group>"; };
3F0346DDED41D0AB543AE2537D7539D6 /* ContainerControllerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ContainerControllerSwift-Info.plist"; sourceTree = "<group>"; };
46ACEFB1249021C900FAAD43 /* ContainerTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerTypes.swift; path = ContainerControllerSwift/ContainerTypes.swift; sourceTree = "<group>"; };
46ACEFB3249021C900FAAD43 /* TableAdapterCellData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableAdapterCellData.swift; sourceTree = "<group>"; };
46ACEFB4249021C900FAAD43 /* TableAdapterItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableAdapterItem.swift; sourceTree = "<group>"; };
46ACEFB5249021C900FAAD43 /* TableAdapterCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableAdapterCell.swift; sourceTree = "<group>"; };
46ACEFB6249021C900FAAD43 /* TableAdapterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableAdapterView.swift; sourceTree = "<group>"; };
46ACEFB7249021C900FAAD43 /* TableAdapterTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableAdapterTypes.swift; sourceTree = "<group>"; };
46ACEFB8249021CA00FAAD43 /* ContainerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerView.swift; path = ContainerControllerSwift/ContainerView.swift; sourceTree = "<group>"; };
46ACEFB9249021CA00FAAD43 /* ContainerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerController.swift; path = ContainerControllerSwift/ContainerController.swift; sourceTree = "<group>"; };
46ACEFBA249021CA00FAAD43 /* ContainerLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerLayout.swift; path = ContainerControllerSwift/ContainerLayout.swift; sourceTree = "<group>"; };
46ACEFBC249021CA00FAAD43 /* CollectionAdapterItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionAdapterItem.swift; sourceTree = "<group>"; };
46ACEFBD249021CA00FAAD43 /* CollectionAdapterCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionAdapterCell.swift; sourceTree = "<group>"; };
46ACEFBE249021CA00FAAD43 /* CollectionAdapterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionAdapterView.swift; sourceTree = "<group>"; };
46ACEFBF249021CA00FAAD43 /* CollectionAdapterCellData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionAdapterCellData.swift; sourceTree = "<group>"; };
46ACEFC0249021CA00FAAD43 /* CollectionAdapterTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionAdapterTypes.swift; sourceTree = "<group>"; };
46ACEFC1249021CA00FAAD43 /* ContainerControllerDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerControllerDelegate.swift; path = ContainerControllerSwift/ContainerControllerDelegate.swift; sourceTree = "<group>"; };
46ACEFC2249021CA00FAAD43 /* ContainerDevice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContainerDevice.swift; path = ContainerControllerSwift/ContainerDevice.swift; sourceTree = "<group>"; };
4EEA0EC0D79861379FB2B1874207A67A /* ContainerControllerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ContainerControllerSwift-dummy.m"; sourceTree = "<group>"; };
4FAEEAC4BEF190DBB2A8F50DB74A5DC4 /* Pods-ContainerControllerSwift_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ContainerControllerSwift_Example-frameworks.sh"; sourceTree = "<group>"; };
82F3FE4320C7E1306E9D6353343C0247 /* ContainerControllerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ContainerControllerSwift.release.xcconfig; sourceTree = "<group>"; };
88289C16D7EE3DABA481CCA2A23F6606 /* Pods_ContainerControllerSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ContainerControllerSwift_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
89922BFA2A740F6B35D8B7F42EC3C4A6 /* Pods-ContainerControllerSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ContainerControllerSwift_Example.release.xcconfig"; sourceTree = "<group>"; };
9539933A3B21B34CCDEC71F036AEAE32 /* Pods-ContainerControllerSwift_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ContainerControllerSwift_Tests-Info.plist"; sourceTree = "<group>"; };
9CE04B24AA978789CDFAA23C3FF9D294 /* Pods-ContainerControllerSwift_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ContainerControllerSwift_Tests-dummy.m"; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
A44F5E78625C75314837F442526B9F1F /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ContainerControllerSwift_Tests.debug.xcconfig"; sourceTree = "<group>"; };
C0064E8B7E1FC56F5599EFD271C67594 /* ContainerControllerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ContainerControllerSwift.modulemap; sourceTree = "<group>"; };
C492E15579178E6EFA4F7D5E4FD837E3 /* Pods-ContainerControllerSwift_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ContainerControllerSwift_Example-dummy.m"; sourceTree = "<group>"; };
CEB1B117C8448E026CC4FB019E982F9A /* Pods-ContainerControllerSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ContainerControllerSwift_Example.debug.xcconfig"; sourceTree = "<group>"; };
D9CBEFF11CE7640EEA244C26DEB209EE /* ContainerControllerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ContainerControllerSwift-umbrella.h"; sourceTree = "<group>"; };
DC2C12BA62CAA053F2D5EACE4EB16224 /* Pods-ContainerControllerSwift_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ContainerControllerSwift_Tests-acknowledgements.plist"; sourceTree = "<group>"; };
E98D59B1404C0A19A30E36781DD5D960 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ContainerControllerSwift_Tests.release.xcconfig"; sourceTree = "<group>"; };
E9DE29BE179AF9355EBAE638EC1B822E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
F6EBDD597E9CC4639BD0FBF04762179D /* Pods-ContainerControllerSwift_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ContainerControllerSwift_Example-umbrella.h"; sourceTree = "<group>"; };
F976F9D3CEF51D2530649D115424E24B /* ContainerControllerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ContainerControllerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FBA1D95B18112DA3CB0425B90D7B3A8E /* ContainerControllerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ContainerControllerSwift-prefix.pch"; sourceTree = "<group>"; };
FD473075F7D1A26E61EFA3687E271F72 /* Pods-ContainerControllerSwift_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ContainerControllerSwift_Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
0B26A700BA689EF4AAF1267EB24D0DEE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CDB05F59A9B358A3E5C4C2DFE8325017 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
29CBBA589A4FEB04C5A69211E237F2F3 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FF5ED999C368088A1250700BBBCF4C41 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
87DFEC96161434658D6641AFC953FF01 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B9206B2E0133EE4CAEDE0F4D744714E5 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
45C8004659775F1895928FA6FBC57949 /* Pods-ContainerControllerSwift_Tests */ = {
isa = PBXGroup;
children = (
122783B233FC53518106B017B9E57796 /* Pods-ContainerControllerSwift_Tests.modulemap */,
FD473075F7D1A26E61EFA3687E271F72 /* Pods-ContainerControllerSwift_Tests-acknowledgements.markdown */,
DC2C12BA62CAA053F2D5EACE4EB16224 /* Pods-ContainerControllerSwift_Tests-acknowledgements.plist */,
9CE04B24AA978789CDFAA23C3FF9D294 /* Pods-ContainerControllerSwift_Tests-dummy.m */,
9539933A3B21B34CCDEC71F036AEAE32 /* Pods-ContainerControllerSwift_Tests-Info.plist */,
32E7EA3D3C16ECD90748D85102DE9F48 /* Pods-ContainerControllerSwift_Tests-umbrella.h */,
A44F5E78625C75314837F442526B9F1F /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */,
E98D59B1404C0A19A30E36781DD5D960 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */,
);
name = "Pods-ContainerControllerSwift_Tests";
path = "Target Support Files/Pods-ContainerControllerSwift_Tests";
sourceTree = "<group>";
};
46ACEFB2249021C900FAAD43 /* ContainerTable */ = {
isa = PBXGroup;
children = (
46ACEFB3249021C900FAAD43 /* TableAdapterCellData.swift */,
46ACEFB4249021C900FAAD43 /* TableAdapterItem.swift */,
46ACEFB5249021C900FAAD43 /* TableAdapterCell.swift */,
46ACEFB6249021C900FAAD43 /* TableAdapterView.swift */,
46ACEFB7249021C900FAAD43 /* TableAdapterTypes.swift */,
);
name = ContainerTable;
path = ContainerControllerSwift/ContainerTable;
sourceTree = "<group>";
};
46ACEFBB249021CA00FAAD43 /* ContainerCollection */ = {
isa = PBXGroup;
children = (
46ACEFBC249021CA00FAAD43 /* CollectionAdapterItem.swift */,
46ACEFBD249021CA00FAAD43 /* CollectionAdapterCell.swift */,
46ACEFBE249021CA00FAAD43 /* CollectionAdapterView.swift */,
46ACEFBF249021CA00FAAD43 /* CollectionAdapterCellData.swift */,
46ACEFC0249021CA00FAAD43 /* CollectionAdapterTypes.swift */,
);
name = ContainerCollection;
path = ContainerControllerSwift/ContainerCollection;
sourceTree = "<group>";
};
60BF066757F56B86BB1CBE3EBB71A70A /* Support Files */ = {
isa = PBXGroup;
children = (
C0064E8B7E1FC56F5599EFD271C67594 /* ContainerControllerSwift.modulemap */,
4EEA0EC0D79861379FB2B1874207A67A /* ContainerControllerSwift-dummy.m */,
3F0346DDED41D0AB543AE2537D7539D6 /* ContainerControllerSwift-Info.plist */,
FBA1D95B18112DA3CB0425B90D7B3A8E /* ContainerControllerSwift-prefix.pch */,
D9CBEFF11CE7640EEA244C26DEB209EE /* ContainerControllerSwift-umbrella.h */,
17B800897A944FAFD0416DC3C8A2B9CD /* ContainerControllerSwift.debug.xcconfig */,
82F3FE4320C7E1306E9D6353343C0247 /* ContainerControllerSwift.release.xcconfig */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/ContainerControllerSwift";
sourceTree = "<group>";
};
6B9DDE4E3E3580720626F12F6B2E2B70 /* Pod */ = {
isa = PBXGroup;
children = (
23B6CA2F0075DF1F0D43741B3188D49C /* ContainerControllerSwift.podspec */,
31C6D8CE52D9D44CFE3381837377CCE7 /* LICENSE */,
E9DE29BE179AF9355EBAE638EC1B822E /* README.md */,
);
name = Pod;
sourceTree = "<group>";
};
8901295C7648943D36EAE366B7418094 /* Development Pods */ = {
isa = PBXGroup;
children = (
D256ACDF93D75076D78DD3E60EBAD22D /* ContainerControllerSwift */,
);
name = "Development Pods";
sourceTree = "<group>";
};
AD08DF81F074B50D1C61DC8265522D27 /* Pods-ContainerControllerSwift_Example */ = {
isa = PBXGroup;
children = (
06B6F2A2E669185755A8E3A5F313DA00 /* Pods-ContainerControllerSwift_Example.modulemap */,
13296F8F89440216D156B1EF58BBD3FA /* Pods-ContainerControllerSwift_Example-acknowledgements.markdown */,
06196A9E7A7180DCFA9E0A32364BF2EC /* Pods-ContainerControllerSwift_Example-acknowledgements.plist */,
C492E15579178E6EFA4F7D5E4FD837E3 /* Pods-ContainerControllerSwift_Example-dummy.m */,
4FAEEAC4BEF190DBB2A8F50DB74A5DC4 /* Pods-ContainerControllerSwift_Example-frameworks.sh */,
34B99A079CA33F3CFA10293C249BD2CE /* Pods-ContainerControllerSwift_Example-Info.plist */,
F6EBDD597E9CC4639BD0FBF04762179D /* Pods-ContainerControllerSwift_Example-umbrella.h */,
CEB1B117C8448E026CC4FB019E982F9A /* Pods-ContainerControllerSwift_Example.debug.xcconfig */,
89922BFA2A740F6B35D8B7F42EC3C4A6 /* Pods-ContainerControllerSwift_Example.release.xcconfig */,
);
name = "Pods-ContainerControllerSwift_Example";
path = "Target Support Files/Pods-ContainerControllerSwift_Example";
sourceTree = "<group>";
};
B103FD8CE2C5EFBC945915C7DF18E4C2 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
AD08DF81F074B50D1C61DC8265522D27 /* Pods-ContainerControllerSwift_Example */,
45C8004659775F1895928FA6FBC57949 /* Pods-ContainerControllerSwift_Tests */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
C0834CEBB1379A84116EF29F93051C60 /* iOS */ = {
isa = PBXGroup;
children = (
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
CB7E3194DE1F57EE61854BAC0794E423 /* Products */ = {
isa = PBXGroup;
children = (
F976F9D3CEF51D2530649D115424E24B /* ContainerControllerSwift.framework */,
148A1CC4CCA9A45E6679C0483EC257F1 /* Pods_ContainerControllerSwift_Example.framework */,
88289C16D7EE3DABA481CCA2A23F6606 /* Pods_ContainerControllerSwift_Tests.framework */,
);
name = Products;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
8901295C7648943D36EAE366B7418094 /* Development Pods */,
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
CB7E3194DE1F57EE61854BAC0794E423 /* Products */,
B103FD8CE2C5EFBC945915C7DF18E4C2 /* Targets Support Files */,
);
sourceTree = "<group>";
};
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
C0834CEBB1379A84116EF29F93051C60 /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
D256ACDF93D75076D78DD3E60EBAD22D /* ContainerControllerSwift */ = {
isa = PBXGroup;
children = (
46ACEFBB249021CA00FAAD43 /* ContainerCollection */,
46ACEFB2249021C900FAAD43 /* ContainerTable */,
46ACEFB9249021CA00FAAD43 /* ContainerController.swift */,
46ACEFC1249021CA00FAAD43 /* ContainerControllerDelegate.swift */,
46ACEFC2249021CA00FAAD43 /* ContainerDevice.swift */,
46ACEFBA249021CA00FAAD43 /* ContainerLayout.swift */,
46ACEFB1249021C900FAAD43 /* ContainerTypes.swift */,
46ACEFB8249021CA00FAAD43 /* ContainerView.swift */,
6B9DDE4E3E3580720626F12F6B2E2B70 /* Pod */,
60BF066757F56B86BB1CBE3EBB71A70A /* Support Files */,
);
name = ContainerControllerSwift;
path = ../..;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
3209EBB5E1EB3F096D8CE62F865CA233 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
6BA9901BD72359C688E66F3F7F4FCDD5 /* Pods-ContainerControllerSwift_Example-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
3E843AF4B00F392A665D58A47EBAE9A3 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
1243F193971FB6A9D10E4A6DFFF1A81C /* Pods-ContainerControllerSwift_Tests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B6589F5E693B0F599EE61663D53BFC0B /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
00890DAA8DA6F37A5A9A08D12C28DB0B /* ContainerControllerSwift-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
1169D43D75A981EA7C2522A5530B2CFF /* Pods-ContainerControllerSwift_Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 939D4C7ED440B6E8B7F08A931528D9DC /* Build configuration list for PBXNativeTarget "Pods-ContainerControllerSwift_Tests" */;
buildPhases = (
3E843AF4B00F392A665D58A47EBAE9A3 /* Headers */,
24299AA297D0F82D7388343ADD59E8E6 /* Sources */,
0B26A700BA689EF4AAF1267EB24D0DEE /* Frameworks */,
A32F56004ACFE7CFCCA7EAAE9F7D0D72 /* Resources */,
);
buildRules = (
);
dependencies = (
69032BA5DECB6C77AFE3212E7E1B1BCF /* PBXTargetDependency */,
);
name = "Pods-ContainerControllerSwift_Tests";
productName = "Pods-ContainerControllerSwift_Tests";
productReference = 88289C16D7EE3DABA481CCA2A23F6606 /* Pods_ContainerControllerSwift_Tests.framework */;
productType = "com.apple.product-type.framework";
};
5DA187609B115AA5A2E3705A1CC63904 /* ContainerControllerSwift */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6CB8AB146878144EC74A1984A46394E7 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift" */;
buildPhases = (
B6589F5E693B0F599EE61663D53BFC0B /* Headers */,
8D73846FD2F638F90E544DD49FB6B21C /* Sources */,
87DFEC96161434658D6641AFC953FF01 /* Frameworks */,
38EC08418A9C74F166DEADADD3FCCC0A /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = ContainerControllerSwift;
productName = ContainerControllerSwift;
productReference = F976F9D3CEF51D2530649D115424E24B /* ContainerControllerSwift.framework */;
productType = "com.apple.product-type.framework";
};
CE197115FA4CB443FE4917D7ACF96849 /* Pods-ContainerControllerSwift_Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 705E809BF51E50D9619902BC075C9866 /* Build configuration list for PBXNativeTarget "Pods-ContainerControllerSwift_Example" */;
buildPhases = (
3209EBB5E1EB3F096D8CE62F865CA233 /* Headers */,
2188AC3092E4803D1084D9C11397B57D /* Sources */,
29CBBA589A4FEB04C5A69211E237F2F3 /* Frameworks */,
D2E9760AEBB67731AE4FE9BC60795F8B /* Resources */,
);
buildRules = (
);
dependencies = (
065D679D97DDDBFE9D3D1D2A679EB6E6 /* PBXTargetDependency */,
);
name = "Pods-ContainerControllerSwift_Example";
productName = "Pods-ContainerControllerSwift_Example";
productReference = 148A1CC4CCA9A45E6679C0483EC257F1 /* Pods_ContainerControllerSwift_Example.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1150;
TargetAttributes = {
5DA187609B115AA5A2E3705A1CC63904 = {
LastSwiftMigration = 1150;
};
};
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = CB7E3194DE1F57EE61854BAC0794E423 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
5DA187609B115AA5A2E3705A1CC63904 /* ContainerControllerSwift */,
CE197115FA4CB443FE4917D7ACF96849 /* Pods-ContainerControllerSwift_Example */,
1169D43D75A981EA7C2522A5530B2CFF /* Pods-ContainerControllerSwift_Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
38EC08418A9C74F166DEADADD3FCCC0A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
A32F56004ACFE7CFCCA7EAAE9F7D0D72 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
D2E9760AEBB67731AE4FE9BC60795F8B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
2188AC3092E4803D1084D9C11397B57D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
6832A37E4BE96FFAB256437366565B3A /* Pods-ContainerControllerSwift_Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
24299AA297D0F82D7388343ADD59E8E6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
92EB6A1534372D92475E0C3060E06BD8 /* Pods-ContainerControllerSwift_Tests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8D73846FD2F638F90E544DD49FB6B21C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
46ACEFCE249021CA00FAAD43 /* CollectionAdapterView.swift in Sources */,
46ACEFC6249021CA00FAAD43 /* TableAdapterCell.swift in Sources */,
46ACEFD2249021CA00FAAD43 /* ContainerDevice.swift in Sources */,
924134AF593E128FA35D2DB4F482484E /* ContainerControllerSwift-dummy.m in Sources */,
46ACEFCF249021CA00FAAD43 /* CollectionAdapterCellData.swift in Sources */,
46ACEFC5249021CA00FAAD43 /* TableAdapterItem.swift in Sources */,
46ACEFC7249021CA00FAAD43 /* TableAdapterView.swift in Sources */,
46ACEFC9249021CA00FAAD43 /* ContainerView.swift in Sources */,
46ACEFC8249021CA00FAAD43 /* TableAdapterTypes.swift in Sources */,
46ACEFC3249021CA00FAAD43 /* ContainerTypes.swift in Sources */,
46ACEFCD249021CA00FAAD43 /* CollectionAdapterCell.swift in Sources */,
46ACEFD1249021CA00FAAD43 /* ContainerControllerDelegate.swift in Sources */,
46ACEFCC249021CA00FAAD43 /* CollectionAdapterItem.swift in Sources */,
46ACEFC4249021CA00FAAD43 /* TableAdapterCellData.swift in Sources */,
46ACEFD0249021CA00FAAD43 /* CollectionAdapterTypes.swift in Sources */,
46ACEFCA249021CA00FAAD43 /* ContainerController.swift in Sources */,
46ACEFCB249021CA00FAAD43 /* ContainerLayout.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
065D679D97DDDBFE9D3D1D2A679EB6E6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = ContainerControllerSwift;
target = 5DA187609B115AA5A2E3705A1CC63904 /* ContainerControllerSwift */;
targetProxy = 65FC883BECB76655B966D1157DC123BC /* PBXContainerItemProxy */;
};
69032BA5DECB6C77AFE3212E7E1B1BCF /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Pods-ContainerControllerSwift_Example";
target = CE197115FA4CB443FE4917D7ACF96849 /* Pods-ContainerControllerSwift_Example */;
targetProxy = 0F48CBB7540AE6469B989CFD7E5E8088 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
1422B121EAEAEA11307496903FA623C6 /* 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_ENABLE_OBJC_WEAK = 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;
COPY_PHASE_STRIP = NO;
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_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_RELEASE=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 = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Release;
};
26BCF93948683D0734518128096B3167 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E98D59B1404C0A19A30E36781DD5D960 /* Pods-ContainerControllerSwift_Tests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
4B60B7C4A4E5DC09B75F55944938FD08 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 17B800897A944FAFD0416DC3C8A2B9CD /* ContainerControllerSwift.debug.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREFIX_HEADER = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift-prefix.pch";
INFOPLIST_FILE = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift.modulemap";
PRODUCT_MODULE_NAME = ContainerControllerSwift;
PRODUCT_NAME = ContainerControllerSwift;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.2.4;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
63BC51FFBDA911BFD5F02170C232309D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A44F5E78625C75314837F442526B9F1F /* Pods-ContainerControllerSwift_Tests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-ContainerControllerSwift_Tests/Pods-ContainerControllerSwift_Tests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
950B3D6FCB805C8094B9EDDD7CAE3F1E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 82F3FE4320C7E1306E9D6353343C0247 /* ContainerControllerSwift.release.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREFIX_HEADER = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift-prefix.pch";
INFOPLIST_FILE = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/ContainerControllerSwift/ContainerControllerSwift.modulemap";
PRODUCT_MODULE_NAME = ContainerControllerSwift;
PRODUCT_NAME = ContainerControllerSwift;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_VERSION = 5.2.4;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
E65016AE53739E89665FE7105CAF7606 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 89922BFA2A740F6B35D8B7F42EC3C4A6 /* Pods-ContainerControllerSwift_Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
ED7888FA6713EABBF66D26A8003AD1CA /* 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_ENABLE_OBJC_WEAK = 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;
COPY_PHASE_STRIP = NO;
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 = (
"POD_CONFIGURATION_DEBUG=1",
"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 = 13.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Debug;
};
EEB7BC0972CEA9399054E0C7469C6AAF /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = CEB1B117C8448E026CC4FB019E982F9A /* Pods-ContainerControllerSwift_Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-ContainerControllerSwift_Example/Pods-ContainerControllerSwift_Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
ED7888FA6713EABBF66D26A8003AD1CA /* Debug */,
1422B121EAEAEA11307496903FA623C6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
6CB8AB146878144EC74A1984A46394E7 /* Build configuration list for PBXNativeTarget "ContainerControllerSwift" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4B60B7C4A4E5DC09B75F55944938FD08 /* Debug */,
950B3D6FCB805C8094B9EDDD7CAE3F1E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
705E809BF51E50D9619902BC075C9866 /* Build configuration list for PBXNativeTarget "Pods-ContainerControllerSwift_Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EEB7BC0972CEA9399054E0C7469C6AAF /* Debug */,
E65016AE53739E89665FE7105CAF7606 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
939D4C7ED440B6E8B7F08A931528D9DC /* Build configuration list for PBXNativeTarget "Pods-ContainerControllerSwift_Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
63BC51FFBDA911BFD5F02170C232309D /* Debug */,
26BCF93948683D0734518128096B3167 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}
@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_ContainerControllerSwift : NSObject
@end
@implementation PodsDummy_ContainerControllerSwift
@end
@@ -1,12 +0,0 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
@@ -1,16 +0,0 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double ContainerControllerSwiftVersionNumber;
FOUNDATION_EXPORT const unsigned char ContainerControllerSwiftVersionString[];
@@ -1,10 +0,0 @@
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,6 +0,0 @@
framework module ContainerControllerSwift {
umbrella header "ContainerControllerSwift-umbrella.h"
export *
module * { export * }
}
@@ -1,10 +0,0 @@
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -1,26 +0,0 @@
# Acknowledgements
This application makes use of the following third party libraries:
## ContainerControllerSwift
Copyright (c) 2020 rustamburger@gmail.com <rustamburger@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2020 rustamburger@gmail.com &lt;rustamburger@gmail.com&gt;
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>ContainerControllerSwift</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_ContainerControllerSwift_Example : NSObject
@end
@implementation PodsDummy_Pods_ContainerControllerSwift_Example
@end
@@ -1,207 +0,0 @@
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=0
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=1
}
install_artifact() {
artifact="$1"
base="$(basename "$artifact")"
case $base in
*.framework)
install_framework "$artifact"
;;
*.dSYM)
# Suppress arch warnings since XCFrameworks will include many dSYM files
install_dsym "$artifact" "false"
;;
*.bcsymbolmap)
install_bcsymbolmap "$artifact"
;;
*)
echo "error: Unrecognized artifact "$artifact""
;;
esac
}
copy_artifacts() {
file_list="$1"
while read artifact; do
install_artifact "$artifact"
done <$file_list
}
ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt"
if [ -r "${ARTIFACT_LIST_FILE}" ]; then
copy_artifacts "${ARTIFACT_LIST_FILE}"
fi
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
@@ -1,16 +0,0 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_ContainerControllerSwift_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_ContainerControllerSwift_ExampleVersionString[];
@@ -1,12 +0,0 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "ContainerControllerSwift"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,6 +0,0 @@
framework module Pods_ContainerControllerSwift_Example {
umbrella header "Pods-ContainerControllerSwift_Example-umbrella.h"
export *
module * { export * }
}
@@ -1,12 +0,0 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "ContainerControllerSwift"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -1,3 +0,0 @@
# Acknowledgements
This application makes use of the following third party libraries:
Generated by CocoaPods - https://cocoapods.org
@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_ContainerControllerSwift_Tests : NSObject
@end
@implementation PodsDummy_Pods_ContainerControllerSwift_Tests
@end
@@ -1,207 +0,0 @@
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=0
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=1
}
install_artifact() {
artifact="$1"
base="$(basename "$artifact")"
case $base in
*.framework)
install_framework "$artifact"
;;
*.dSYM)
# Suppress arch warnings since XCFrameworks will include many dSYM files
install_dsym "$artifact" "false"
;;
*.bcsymbolmap)
install_bcsymbolmap "$artifact"
;;
*)
echo "error: Unrecognized artifact "$artifact""
;;
esac
}
copy_artifacts() {
file_list="$1"
while read artifact; do
install_artifact "$artifact"
done <$file_list
}
ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt"
if [ -r "${ARTIFACT_LIST_FILE}" ]; then
copy_artifacts "${ARTIFACT_LIST_FILE}"
fi
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
@@ -1,16 +0,0 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_ContainerControllerSwift_TestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_ContainerControllerSwift_TestsVersionString[];
@@ -1,9 +0,0 @@
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "ContainerControllerSwift"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,6 +0,0 @@
framework module Pods_ContainerControllerSwift_Tests {
umbrella header "Pods-ContainerControllerSwift_Tests-umbrella.h"
export *
module * { export * }
}
@@ -1,9 +0,0 @@
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ContainerControllerSwift/ContainerControllerSwift.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "ContainerControllerSwift"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
-28
View File
@@ -1,28 +0,0 @@
import XCTest
import ContainerControllerSwift
class Tests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
XCTAssert(true, "Pass")
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure() {
// Put the code you want to measure the time of here.
}
}
}
+31
View File
@@ -0,0 +1,31 @@
// swift-tools-version:5.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "ContainerController",
platforms: [
.iOS(.v13),
],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "ContainerController",
targets: ["ContainerController"]),
],
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 which this package depends on.
.target(
name: "ContainerController",
dependencies: []),
.testTarget(
name: "ContainerControllerTests",
dependencies: ["ContainerController"]),
]
)
+116 -76
View File
@@ -1,43 +1,64 @@
[![CI Status](https://img.shields.io/travis/github/mrustaa/ContainerController.svg?style=flat)](https://travis-ci.org/github/mrustaa/ContainerController)
![image(Landscape)](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/screenLandscape9.png)
# ContainerController
[![Version](https://img.shields.io/cocoapods/v/ContainerControllerSwift.svg?style=flat)](https://cocoapods.org/pods/ContainerControllerSwift)
[![License](https://img.shields.io/cocoapods/l/ContainerControllerSwift.svg?style=flat)](https://cocoapods.org/pods/ContainerControllerSwift)
[![Platform](https://img.shields.io/cocoapods/p/ContainerControllerSwift.svg?style=flat)](https://cocoapods.org/pods/ContainerControllerSwift)
[![Swift 5.0](https://img.shields.io/badge/Swift-5.0-orange.svg?style=flat)](https://swift.org/)
[![Swift 5.1](https://img.shields.io/badge/Swift-5.1-orange.svg?style=flat)](https://swift.org/)
[![Swift 5.2](https://img.shields.io/badge/Swift-5.2-orange.svg?style=flat)](https://swift.org/)
# ContainerController
UI Component. This is a copy swipe-panel from app: https://www.apple.com/ios/maps/
This is a swipe-panel from application: https://www.apple.com/ios/maps/
## Preview
![image](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/maps.gif)
![image](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/examples.gif)
![image(Landscape)](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/mapsLandscape.gif)
<!-- TOC -->
- [Requirements](#requirements)
- [Installation](#installation)
- [CocoaPods](#cocoapods)
- [Swift Package Manager with Xcode 11](#swift-package-manager-with-xcode-11)
- [Getting Started](#getting-started)
- [Delegate ScrollView to self](#delegate-scrollview-to-self)
- [Action](#action)
- [Move position with an animation](#move-position-with-an-animation)
- [Adding custom views in ContainerController](#adding-custom-views-in-containercontroller)
- [Add `ScrollView`](#add-scrollview)
- [Adding possible custom subviews in ContainerController view](#adding-possible-custom-subviews-in-containercontroller-view)
- [Add `ScrollView`📃](#add-scrollview)
- [`Delegate` to self 👆](#delegate-to-self-)
- [Add `HeaderView`](#add-headerview)
- [Add `FooterView`](#add-footerview)
- [Settings](#settings)
- [Add Custom `View`](#add-custom-view)
- [Settings ⚙️](#settings-)
- [Layout](#layout)
- [Customize the layout with create subclass ContainerLayout on initialization](#customize-the-layout-with-create-subclass-containerlayout-on-initialization)
- [Or create object ContainerLayout](#or-create-object-containerlayout)
- [Customize the layout with create subclass `ContainerLayout` on initialization](#customize-the-layout-with-create-subclass-containerlayout-on-initialization)
- [Or create object `ContainerLayout`](#or-create-object-containerlayout)
- [Change settings right away](#change-settings-right-away)
- [ContainerView](#containerview)
- [ContainerController `View`](#containercontroller-view)
- [Use a ready-made solution](#use-a-ready-made-solution)
- [Add your changes](#add-your-changes)
- [Change `CornerRadius`](#change-cornerradius)
- [Add Layer `Shadow`](#add-layer-shadow)
- [Add Background `Blur`](#add-background-blur)
- [More details](#more-details)
- [Change positions on screen Top Middle Bottom](#change-positions-on-screen-top-middle-bottom)
- [Customize indentations for View](#customize-indentations-for-view)
- [Customize for landscape orientation](#customize-for-landscape-orientation)
- [Parameters for control footerView](#parameters-for-control-footerview)
- [ContainerControllerDelegate](#containercontrollerdelegate)
- [ContainerController `Delegate`](#containercontroller-delegate)
- [Author](#author)
- [License](#license)
<!-- /TOC -->
## Installation CocoaPods
## Requirements
✏️ ContainerController is written in Swift 5.0+. It can be built by Xcode 11 or later. Compatible with iOS 13.0+.
## Installation
### CocoaPods
ContainerControllerSwift is available through [CocoaPods](https://cocoapods.org). To install
it, simply add the following line to your Podfile:
@@ -45,11 +66,16 @@ it, simply add the following line to your Podfile:
```ruby
pod 'ContainerControllerSwift'
```
### Swift Package Manager with Xcode 11
Follow [this doc](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app).
## Getting Started
```swift
import UIKit
import ContainerControllerSwift
class ViewController: UIViewController, ContainerControllerDelegate {
@@ -66,7 +92,7 @@ class ViewController: UIViewController, ContainerControllerDelegate {
// Create ContainerController object, along with the container.view
// Pass the current UIViewController
container = ContainerController(addTo: self, layout: layout)
let container = ContainerController(addTo: self, layout: layout)
container.view.cornerRadius = 15
container.view.addShadow()
@@ -94,8 +120,39 @@ class ViewController: UIViewController, ContainerControllerDelegate {
}
```
## Delegate ScrollView to self
#### ☝️ If you implement delegate ScrollView (TableView, CollectionView, TextView) to `self`, then you need to call 4 functions in ContainerController
## Action
### Move position with an animation
```swift
container.move(type: .top)
container.move(type: .middle)
container.move(type: .bottom)
```
## Adding possible custom subviews in ContainerController view
### Add `ScrollView`
```swift
let tableView = UITableView()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.backgroundColor = .clear
tableView.tableFooterView = UIView()
tableView.delegate = self
tableView.dataSource = self
// Add scrollView to container
container.add(scrollView: tableView)
```
#### `Delegate` to self 👆
#### If you implement delegate ScrollView (TableView, CollectionView, TextView) to `self`, then you need to call 4 functions in ContainerController
```swift
extension ViewController: UIScrollViewDelegate {
@@ -127,36 +184,6 @@ extension ViewController: UITableViewDataSource {
```
## Action
### Move position with an animation
```swift
container.move(type: .top)
container.move(type: .middle)
container.move(type: .bottom)
```
## Adding custom views in ContainerController
### Add `ScrollView`
```swift
let tableView = UITableView()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.backgroundColor = .clear
tableView.tableFooterView = UIView()
tableView.delegate = self
tableView.dataSource = self
// Add scrollView to container
container.add(scrollView: tableView)
```
### Add `HeaderView`
```swift
@@ -178,8 +205,30 @@ tabBarView.height = 49.0
container.add(footerView: tabBarView)
```
### Add Custom `View`
## Settings
```swift
// Add custom shadow
let layer = container.view.layer
layer.shadowOpacity = 0.5
layer.shadowColor = UIColor.red.cgColor
layer.shadowOffset = CGSize(width: 1, height: 4)
layer.shadowRadius = 5
// Add view in container.view
let viewRed = UIView(frame: CGRect(x: 50, y: 50, width: 50, height: 50))
viewRed.backgroundColor = .systemRed
container.view.addSubview(viewRed)
// Add view under scrollView container.view
let viewGreen = UIView(frame: CGRect(x: 25, y: 25, width: 50, height: 50))
viewGreen.backgroundColor = .systemGreen
container.view.insertSubview(viewGreen, at: 0)
```
## Settings ⚙️
### Layout
@@ -281,45 +330,29 @@ container.setLandscape(right: 100)
```
## ContainerView
## ContainerController `View`
ContainerView is generated automatically when you create ContainerController
#### Use a ready-made solution
`ContainerView` is generated automatically when you create ContainerController
Use a ready-made solution to change the radius, add shadow, and blur.
### Use a ready-made solution
#### Change `CornerRadius`
```swift
// Change cornerRadius global for all subviews
container.view.cornerRadius = 15
// Add layer shadow
container.view.addShadow(opacity: 0.1)
// Add background blur UIVisualEffectView
container.view.addBlur(style: .dark)
```
#### Add your changes
#### Add Layer `Shadow`
```swift
container.view.addShadow(opacity: 0.1)
```
#### Add Background `Blur`
// Add custom shadow
let layer = container.view.layer
layer.shadowOpacity = 0.5
layer.shadowColor = UIColor.red.cgColor
layer.shadowOffset = CGSize(width: 1, height: 4)
layer.shadowRadius = 5
// Add view in container.view
let viewRed = UIView(frame: CGRect(x: 50, y: 50, width: 50, height: 50))
viewRed.backgroundColor = .systemRed
container.view.addSubview(viewRed)
// Add view under scrollView container.view
let viewGreen = UIView(frame: CGRect(x: 25, y: 25, width: 50, height: 50))
viewGreen.backgroundColor = .systemGreen
container.view.insertSubview(viewGreen, at: 0)
```swift
// add blur UIVisualEffectView
container.view.addBlur(style: .dark)
```
@@ -403,7 +436,10 @@ container.set(trackingPosition: false)
```
## ContainerControllerDelegate
![image](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/footerPadding.gif)
![image](https://github.com/mrustaa/gif_presentation/blob/master/ContainerControllerSwift/trackingPosition.gif)
## ContainerController `Delegate`
```swift
@@ -434,6 +470,10 @@ func containerControllerMove(_ containerController: ContainerController, positio
```
## Author
<motionrustam@gmail.com> 📩| [mrustaa](https://github.com/mrustaa/)
## License
ContainerController is available under the MIT license. See the LICENSE file for more info.
@@ -1,9 +1,9 @@
//
// ColletionAdapterCell.swift
// CollectionAdapterCell.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 01/05/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 01/05/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -1,9 +1,9 @@
//
// ColletionAdapterCellData.swift
// CollectionAdapterCellData.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 01/05/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 01/05/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -1,9 +1,9 @@
//
// ColletionAdapterItem.swift
// CollectionAdapterItem.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 01/05/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 01/05/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -17,7 +17,7 @@ open class CollectionAdapterItem: NSObject {
return String(describing: cellClass)
}
init(cellClass: AnyClass, cellData: CollectionAdapterCellData? = nil) {
public init(cellClass: AnyClass, cellData: CollectionAdapterCellData? = nil) {
self.cellClass = cellClass
self.cellData = cellData
}
@@ -2,8 +2,8 @@
// CollectionAdapterTypes.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 01/05/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 01/05/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -2,32 +2,32 @@
// CollectionAdapterView.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 01/05/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 01/05/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
open class CollectionAdapterView: UICollectionView {
var countCallback: CollectionAdapterCountCallback?
var cellIndexCallback: CollectionAdapterCellIndexCallback?
var sizeIndexCallback: CollectionAdapterSizeIndexCallback?
var selectIndexCallback: CollectionAdapterSelectIndexCallback?
public var countCallback: CollectionAdapterCountCallback?
public var cellIndexCallback: CollectionAdapterCellIndexCallback?
public var sizeIndexCallback: CollectionAdapterSizeIndexCallback?
public var selectIndexCallback: CollectionAdapterSelectIndexCallback?
var items: [CollectionAdapterItem] = []
public var items: [CollectionAdapterItem] = []
required public init?(coder: NSCoder) {
super.init(coder: coder)
update()
}
override init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
public override init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
super.init(frame: frame, collectionViewLayout: layout)
update()
}
func update() {
public func update() {
delegate = self
dataSource = self
backgroundColor = .clear
@@ -1,5 +1,5 @@
//
// ContainerView.swift
// ContainerController.swift
// PatternsSwift
//
// Created by mrustaa on 21/04/2020.
@@ -8,6 +8,7 @@
import UIKit
@available(iOS 13.0, *)
open class ContainerController: NSObject {
// MARK: Views
@@ -210,20 +211,12 @@ open class ContainerController: NSObject {
@objc func rotated() {
let orint = UIDevice.current.orientation
if orint == .faceUp || orint == .faceDown { return }
if !UIDevice.current.orientation.isRotateAllowed { return }
if ContainerDevice.orientation == oldOrientation { return }
oldOrientation = ContainerDevice.orientation
if isPortrait {
shadowButton.isHidden = !layout.backgroundShadowShow
} else {
if let landscapeShadowShow = layout.landscapeBackgroundShadowShow {
shadowButton.isHidden = !landscapeShadowShow
} else {
shadowButton.isHidden = !layout.backgroundShadowShow
}
}
shadowHiddenCheck()
delegate?.containerControllerRotation(self)
@@ -235,82 +228,82 @@ open class ContainerController: NSObject {
// MARK: - Update Layout
func set(layout: ContainerLayout) {
public func set(layout: ContainerLayout) {
self.layout = layout
calculationViews()
}
// MARK: Set
func set(movingEnabled: Bool) {
public func set(movingEnabled: Bool) {
layout.movingEnabled = movingEnabled
scrollView?.isScrollEnabled = movingEnabled
panGesture?.isEnabled = movingEnabled
}
func set(trackingPosition: Bool) {
public func set(trackingPosition: Bool) {
layout.trackingPosition = trackingPosition
}
func set(footerPadding: CGFloat) {
public func set(footerPadding: CGFloat) {
layout.footerPadding = footerPadding
calculationViews()
}
// MARK: Scroll Insets
func set(scrollIndicatorTop: CGFloat) {
public func set(scrollIndicatorTop: CGFloat) {
layout.scrollIndicatorInsets = UIEdgeInsets(top: scrollIndicatorTop, left: 0, bottom: layout.scrollIndicatorInsets.bottom, right: 0)
calculationViews()
}
func set(scrollIndicatorBottom: CGFloat) {
public func set(scrollIndicatorBottom: CGFloat) {
layout.scrollIndicatorInsets = UIEdgeInsets(top: layout.scrollIndicatorInsets.top, left: 0, bottom: scrollIndicatorBottom, right: 0)
calculationViews()
}
func set(scrollInsetsTop: CGFloat) {
public func set(scrollInsetsTop: CGFloat) {
layout.scrollInsets = UIEdgeInsets(top: scrollInsetsTop, left: 0, bottom: layout.scrollInsets.bottom, right: 0)
calculationViews()
}
func set(scrollInsetsBottom: CGFloat) {
public func set(scrollInsetsBottom: CGFloat) {
layout.scrollInsets = UIEdgeInsets(top: layout.scrollInsets.top, left: 0, bottom: scrollInsetsBottom, right: 0)
calculationViews()
}
// MARK: Portrait
func set(top: CGFloat) {
public func set(top: CGFloat) {
layout.positions.top = top
}
func set(middle: CGFloat?) {
public func set(middle: CGFloat?) {
layout.positions.middle = middle
}
func set(bottom: CGFloat) {
public func set(bottom: CGFloat) {
layout.positions.bottom = bottom
}
func set(right: CGFloat) {
public func set(right: CGFloat) {
layout.insets.right = right
if isPortrait { calculationViews() }
}
func set(left: CGFloat) {
public func set(left: CGFloat) {
layout.insets.left = left
if isPortrait { calculationViews() }
}
func set(backgroundShadowShow: Bool) {
public func set(backgroundShadowShow: Bool) {
layout.backgroundShadowShow = backgroundShadowShow
if isPortrait { move(type: moveType) }
}
// MARK: Landscape
func updateLandscapeLayout() {
public func updateLandscapeLayout() {
if layout.landscapePositions == nil {
layout.landscapePositions = ContainerPosition.zero
}
@@ -319,34 +312,34 @@ open class ContainerController: NSObject {
}
}
func setLandscape(top: CGFloat) {
public func setLandscape(top: CGFloat) {
updateLandscapeLayout()
layout.landscapePositions?.top = top
}
func setLandscape(middle: CGFloat?) {
public func setLandscape(middle: CGFloat?) {
updateLandscapeLayout()
layout.landscapePositions?.middle = middle
}
func setLandscape(bottom: CGFloat) {
public func setLandscape(bottom: CGFloat) {
updateLandscapeLayout()
layout.landscapePositions?.bottom = bottom
}
func setLandscape(right: CGFloat) {
public func setLandscape(right: CGFloat) {
updateLandscapeLayout()
layout.landscapeInsets?.right = right
if !isPortrait { calculationViews() }
}
func setLandscape(left: CGFloat) {
public func setLandscape(left: CGFloat) {
updateLandscapeLayout()
layout.landscapeInsets?.left = left
if !isPortrait { calculationViews() }
}
func setLandscape(backgroundShadowShow: Bool) {
public func setLandscape(backgroundShadowShow: Bool) {
layout.landscapeBackgroundShadowShow = backgroundShadowShow
if !isPortrait { move(type: moveType) }
}
@@ -372,7 +365,7 @@ open class ContainerController: NSObject {
private func createContainerView() {
let frame = CGRect(x: 0, y: 0, width: deviceWidth, height: deviceHeight * 2)
view = ContainerView(frame: frame)
view.backgroundColor = .white
view.backgroundColor = .systemBackground
controller?.view.addSubview(view)
panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
@@ -870,7 +863,7 @@ open class ContainerController: NSObject {
}
func shadowLevelAlpha(positionY: CGFloat) {
func shadowHiddenCheck() {
if isPortrait {
shadowButton.isHidden = !layout.backgroundShadowShow
@@ -881,6 +874,11 @@ open class ContainerController: NSObject {
shadowButton.isHidden = !layout.backgroundShadowShow
}
}
}
func shadowLevelAlpha(positionY: CGFloat) {
shadowHiddenCheck()
let alphaMax: CGFloat = 0.45
@@ -1092,6 +1090,7 @@ open class ContainerController: NSObject {
// MARK: - Gesture Delegate
@available(iOS 13.0, *)
extension ContainerController: UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
@@ -1102,6 +1101,7 @@ extension ContainerController: UIGestureRecognizerDelegate {
// MARK: - Table Delegate
@available(iOS 13.0, *)
extension ContainerController: UITableViewDelegate {
public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
@@ -1121,6 +1121,7 @@ extension ContainerController: UITableViewDelegate {
// MARK: - Table DataSource
@available(iOS 13.0, *)
extension ContainerController: UITableViewDataSource {
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -1136,11 +1137,24 @@ extension ContainerController: UITableViewDataSource {
}
return UITableViewCell()
}
public func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
if let tableAdapterView = scrollView as? TableAdapterView {
return tableAdapterView.tableView(tableView, canEditRowAt: indexPath)
}
return false
}
public func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if let tableAdapterView = scrollView as? TableAdapterView {
return tableAdapterView.tableView(tableView, commit: editingStyle, forRowAt: indexPath)
}
}
}
// MARK: - Collection Delegate
@available(iOS 13.0, *)
extension ContainerController: UICollectionViewDelegate {
public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
@@ -1153,6 +1167,7 @@ extension ContainerController: UICollectionViewDelegate {
// MARK: - Collection DataSource
@available(iOS 13.0, *)
extension ContainerController: UICollectionViewDataSource {
public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
@@ -1172,6 +1187,7 @@ extension ContainerController: UICollectionViewDataSource {
// MARK: - Collection DelegateFlowLayout
@available(iOS 13.0, *)
extension ContainerController: UICollectionViewDelegateFlowLayout {
public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
@@ -1184,6 +1200,7 @@ extension ContainerController: UICollectionViewDelegateFlowLayout {
// MARK: - Scroll Delegate
@available(iOS 13.0, *)
extension ContainerController: UIScrollViewDelegate {
public func scrollViewDidScroll(_ scrollView: UIScrollView) {
@@ -1,5 +1,5 @@
//
// ContainerView.swift
// ContainerControllerDelegate.swift
// PatternsSwift
//
// Created by mrustaa on 21/04/2020.
@@ -8,6 +8,7 @@
import UIKit
@available(iOS 13.0, *)
public protocol ContainerControllerDelegate {
/// Reports rotation and orientation changes
@@ -21,6 +22,7 @@ public protocol ContainerControllerDelegate {
}
@available(iOS 13.0, *)
public extension ContainerControllerDelegate {
func containerControllerRotation(_ containerController: ContainerController) {
@@ -1,9 +1,15 @@
//
// ContainerDevice.swift
// PatternsSwift
//
// Created by mrustaa on 21/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@available(iOS 13.0, *)
public extension ContainerDevice {
enum Orientation {
case portrait
case landscapeLeft
@@ -11,6 +17,7 @@ public extension ContainerDevice {
}
}
@available(iOS 13.0, *)
open class ContainerDevice {
// MARK: - Size
@@ -56,12 +63,8 @@ open class ContainerDevice {
class public var statusBarHeight: CGFloat {
var height: CGFloat = 0
if #available(iOS 13.0, *) {
let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
height = window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
} else {
height = UIApplication.shared.statusBarFrame.height
}
let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
height = window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
return height
}
@@ -81,7 +84,7 @@ open class ContainerDevice {
switch UIDevice.current.orientation {
case .landscapeLeft, .landscapeRight:
portrait = false
case .portrait, .portraitUpsideDown:
case .portrait:
portrait = true
default: break
}
@@ -116,6 +119,18 @@ open class ContainerDevice {
return .landscapeLeft
}
}
}
public extension UIDeviceOrientation {
var isRotateAllowed: Bool {
return !(face || self == .portraitUpsideDown)
}
var face: Bool {
switch self {
case .faceUp, .faceDown: return true
default: return false
}
}
}
@@ -1,5 +1,5 @@
//
// ContainerView.swift
// ContainerLayout.swift
// PatternsSwift
//
// Created by mrustaa on 21/04/2020.
@@ -12,15 +12,15 @@ import UIKit
open class ContainerPosition {
var top: CGFloat
public var top: CGFloat
var middle: CGFloat?
public var middle: CGFloat?
var bottom: CGFloat
public var bottom: CGFloat
static let zero = ContainerPosition(top: 0, bottom: 0)
init(top: CGFloat, middle: CGFloat? = nil, bottom: CGFloat) {
public init(top: CGFloat, middle: CGFloat? = nil, bottom: CGFloat) {
self.top = top
self.middle = middle
self.bottom = bottom
@@ -32,13 +32,13 @@ open class ContainerPosition {
public struct ContainerInsets {
var right: CGFloat
public var right: CGFloat
var left: CGFloat
public var left: CGFloat
static let zero = ContainerInsets(right: 0, left: 0)
init(right: CGFloat, left: CGFloat) {
public init(right: CGFloat, left: CGFloat) {
self.right = right
self.left = left
}
@@ -51,70 +51,74 @@ open class ContainerLayout {
/**
Initialization start position.
*/
var startPosition: ContainerMoveType = .hide
public var startPosition: ContainerMoveType = .hide
/**
Disables any moving with gestures.
*/
var movingEnabled: Bool = true
public var movingEnabled: Bool = true
/**
This is parameters for control footerView.
Padding-top from containerView, if headerView is added, then its + height is summed.
*/
var footerPadding: CGFloat = 0.0
public var footerPadding: CGFloat = 0.0
/**
This is parameters for control FooterView.
Tracking position ContainerView during animated movement.
*/
var trackingPosition: Bool = false
public var trackingPosition: Bool = false
/**
This is parameter contentInsets for transmission scrollView added containerView.
*/
var scrollInsets: UIEdgeInsets = UIEdgeInsets.zero
public var scrollInsets: UIEdgeInsets = UIEdgeInsets.zero
/**
This is parameter scrollIndicatorInsets for transmission scrollView added containerView.
*/
var scrollIndicatorInsets: UIEdgeInsets = UIEdgeInsets.zero
public var scrollIndicatorInsets: UIEdgeInsets = UIEdgeInsets.zero
/**
This parameter for portrait orientation.
Sets the background shadow under container.
*/
var backgroundShadowShow: Bool = false
public var backgroundShadowShow: Bool = false
/**
This parameter for Portrait orientation
Sets the new value for positions of animated movement (top, middle, bottom).
*/
var positions: ContainerPosition = ContainerPosition.zero
public var positions: ContainerPosition = ContainerPosition.zero
/**
This parameter for Portrait orientation.
Insets for containerView (left, right).
*/
var insets: ContainerInsets = ContainerInsets.zero
public var insets: ContainerInsets = ContainerInsets.zero
/**
This parameter for Landscape orientation.
Sets the background shadow under container. (Default: portrait backgroundShadowShow).
*/
var landscapeBackgroundShadowShow: Bool?
public var landscapeBackgroundShadowShow: Bool?
/**
This parameter for Landscape orientation.
Sets the new value for positions of animated movement (top, middle, bottom). (Default: portrait positions).
*/
var landscapePositions: ContainerPosition?
public var landscapePositions: ContainerPosition?
/**
This parameter for Landscape orientation.
Insets for containerView (left, right). (Default: portrait insets).
*/
var landscapeInsets: ContainerInsets?
public var landscapeInsets: ContainerInsets?
public init() {
}
}
@@ -2,8 +2,8 @@
// TableAdapterCell.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 17/04/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 17/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -11,9 +11,9 @@ import UIKit
open class TableAdapterCell: UITableViewCell {
@IBInspectable var hideAnimation: Bool = false
var selectedView: UIView?
open var selectedView: UIView?
var cellData: TableAdapterCellData?
public var cellData: TableAdapterCellData?
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
@@ -0,0 +1,21 @@
//
// TableAdapterCellData.swift
// PatternsSwift
//
// Created by mrustaa on 17/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
open class TableAdapterCellData: NSObject {
open func cellHeight() -> CGFloat {
return UITableView.automaticDimension
}
open func canEditing() -> Bool {
return false
}
}
@@ -2,8 +2,8 @@
// TableAdapterItem.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 17/04/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 17/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -18,7 +18,7 @@ open class TableAdapterItem: NSObject {
return String(describing: cellClass)
}
init(cellClass: AnyClass, cellData: TableAdapterCellData? = nil) {
public init(cellClass: AnyClass, cellData: TableAdapterCellData? = nil) {
self.cellClass = cellClass
self.cellData = cellData
}
@@ -27,7 +27,7 @@ open class TableAdapterItem: NSObject {
return cellData?.cellHeight() ?? UITableView.automaticDimension
}
func canEditing() -> Bool {
public func canEditing() -> Bool {
return cellData?.canEditing() ?? false
}
@@ -1,9 +1,9 @@
//
// ContainerTypes.swift
// TableAdapterTypes.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 21/04/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 21/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -1,9 +1,9 @@
//
// BlockTableView.swift
// TableAdapterView.swift
// PatternsSwift
//
// Created by Рустам Мотыгуллин on 16/04/2020.
// Copyright © 2020 mrusta. All rights reserved.
// Created by mrustaa on 16/04/2020.
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
@@ -12,22 +12,22 @@ open class TableAdapterView: UITableView {
@IBInspectable var separatorClr: UIColor?
var countCallback: TableAdapterCountCallback?
var cellIndexCallback: TableAdapterCellIndexCallback?
var heightIndexCallback: TableAdapterHeightIndexCallback?
var selectIndexCallback: TableAdapterSelectIndexCallback?
var deleteIndexCallback: TableAdapterDeleteIndexCallback?
var didScrollCallback: TableAdapterDidScrollCallback?
public var countCallback: TableAdapterCountCallback?
public var cellIndexCallback: TableAdapterCellIndexCallback?
public var heightIndexCallback: TableAdapterHeightIndexCallback?
public var selectIndexCallback: TableAdapterSelectIndexCallback?
public var deleteIndexCallback: TableAdapterDeleteIndexCallback?
public var didScrollCallback: TableAdapterDidScrollCallback?
var items: [TableAdapterItem] = []
public var items: [TableAdapterItem] = []
required public init?(coder: NSCoder) {
super.init(coder: coder)
update()
}
override init(frame: CGRect, style: UITableView.Style) {
public override init(frame: CGRect, style: UITableView.Style) {
super.init(frame: frame, style: style)
update()
}
@@ -38,7 +38,7 @@ open class TableAdapterView: UITableView {
}
}
func update() {
public func update() {
delegate = self
dataSource = self
@@ -46,7 +46,7 @@ open class TableAdapterView: UITableView {
backgroundColor = .clear
}
func set(items: [TableAdapterItem], animated: Bool = false, reload: Bool = true) {
public func set(items: [TableAdapterItem], animated: Bool = false, reload: Bool = true) {
self.clear()
items.forEach {
self.unsafeAdd(item: $0)
@@ -96,7 +96,7 @@ open class TableAdapterView: UITableView {
extension TableAdapterView: UITableViewDataSource {
/// колличество
/// count
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if !items.isEmpty {
return items.count
@@ -107,7 +107,7 @@ extension TableAdapterView: UITableViewDataSource {
return 0
}
/// ячейка
/// cell
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if !items.isEmpty {
let item = items[indexPath.row]
@@ -147,7 +147,7 @@ extension TableAdapterView: UITableViewDataSource {
extension TableAdapterView: UITableViewDelegate {
/// высота
/// height
public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if !items.isEmpty {
return items[indexPath.row].height()
@@ -158,7 +158,7 @@ extension TableAdapterView: UITableViewDelegate {
return 0
}
/// нажал
/// select
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
selectIndexCallback?(indexPath.row)
@@ -6,6 +6,8 @@
// Copyright © 2020 mrustaa. All rights reserved.
//
import UIKit
typealias ContainerCompletion = () -> Void
public enum ContainerMoveType {
@@ -8,15 +8,16 @@
import UIKit
@available(iOS 13.0, *)
open class ContainerView: UIView {
var contentView: UIView?
public var contentView: UIView?
var visualEffectView: UIVisualEffectView?
public var visualEffectView: UIVisualEffectView?
// MARK: CornerRadius
var cornerRadius: CGFloat = 0 {
public var cornerRadius: CGFloat = 0 {
didSet {
let r = radius()
layer.cornerRadius = r
@@ -26,7 +27,7 @@ open class ContainerView: UIView {
}
}
func radius() -> CGFloat {
public func radius() -> CGFloat {
let minSize = min(frame.width, frame.height)
let radius = (((minSize / 2) < cornerRadius) ? (minSize / 2) : cornerRadius)
return radius
@@ -34,7 +35,7 @@ open class ContainerView: UIView {
// MARK: Init
override init(frame: CGRect) {
public override init(frame: CGRect) {
super.init(frame: frame)
let contentView = UIView(frame: CGRect(x: 0, y: 0, width: frame.width, height: frame.height))
@@ -50,7 +51,7 @@ open class ContainerView: UIView {
// MARK: Add Custom Shadow
func addShadow(opacity: CGFloat = 0.1) {
public func addShadow(opacity: CGFloat = 0.1) {
layer.shadowOpacity = Float(opacity)
layer.shadowColor = UIColor.black.cgColor
layer.shadowRadius = 3
@@ -58,13 +59,13 @@ open class ContainerView: UIView {
// MARK: Add Blur
func addBlur(darkStyle: Bool) {
public func addBlur(darkStyle: Bool) {
let style: UIBlurEffect.Style = darkStyle ? .systemThinMaterialDark : .systemChromeMaterialLight
backgroundColor = .clear
addBlur(style: style)
}
func addBlur(style: UIBlurEffect.Style) {
public func addBlur(style: UIBlurEffect.Style) {
if visualEffectView == nil {
let blurView = UIVisualEffectView(effect: UIBlurEffect(style: style))
@@ -84,7 +85,7 @@ open class ContainerView: UIView {
// MARK: Remove Blur
func removeBlur() {
public func removeBlur() {
if let visualEffectView = visualEffectView {
visualEffectView.removeFromSuperview()
}
@@ -0,0 +1,15 @@
import XCTest
@testable import ContainerController
final class ContainerControllerTests: 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(ContainerController().text, "Hello, World!")
}
static var allTests = [
("testExample", testExample),
]
}
@@ -0,0 +1,9 @@
import XCTest
#if !canImport(ObjectiveC)
public func allTests() -> [XCTestCaseEntry] {
return [
testCase(ContainerControllerTests.allTests),
]
}
#endif
+7
View File
@@ -0,0 +1,7 @@
import XCTest
import ContainerControllerTests
var tests = [XCTestCaseEntry]()
tests += ContainerControllerTests.allTests()
XCTMain(tests)
-1
View File
@@ -1 +0,0 @@
Example/Pods/Pods.xcodeproj
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB