Skip to content

Commit 5f7e1ae

Browse files
authored
Merge pull request #3 from joomcode/feature/fix-multicast-delegate
Feature/fix multicast delegate
2 parents d902c8a + b1b2f94 commit 5f7e1ae

File tree

11 files changed

+594
-325
lines changed

11 files changed

+594
-325
lines changed

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ playground.xcworkspace
4444
#
4545
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
4646
# hence it is not needed unless you have added a package configuration file to your project
47-
# .swiftpm
47+
.swiftpm
4848

4949
.build/
5050

@@ -87,4 +87,7 @@ fastlane/test_output
8787
# After new code Injection tools there's a generated folder /iOSInjectionProject
8888
# https://github.com/johnno1962/injectionforxcode
8989

90-
iOSInjectionProject/
90+
iOSInjectionProject/
91+
92+
# MacOS
93+
.DS_Store

BottomSheetDemo.xcodeproj/project.pbxproj

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
7D05F3242741371400EBDBB1 /* RootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D05F3232741371400EBDBB1 /* RootViewController.swift */; };
1414
7D05F33227413A1500EBDBB1 /* libBottomSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D05F32A274139E100EBDBB1 /* libBottomSheet.a */; };
1515
7D05F342274140F700EBDBB1 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7D05F341274140F700EBDBB1 /* SnapKit */; };
16+
7D59054827BD2DC70000BC17 /* BottomSheetUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D59054727BD2DC70000BC17 /* BottomSheetUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
17+
7D59054A27BD2DCE0000BC17 /* JMMulticastDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D59054927BD2DCE0000BC17 /* JMMulticastDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
1618
7D7338D4274269A3004D7E59 /* ResizeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D7338D3274269A3004D7E59 /* ResizeViewController.swift */; };
1719
7DA6E0D9274F9186009F5C37 /* BottomSheetTransitioningDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6E0B4274F915A009F5C37 /* BottomSheetTransitioningDelegate.swift */; };
1820
7DA6E0DA274F918A009F5C37 /* BottomSheetNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6E0B6274F915A009F5C37 /* BottomSheetNavigationController.swift */; };
@@ -31,6 +33,10 @@
3133
7DA6E0E7274F919A009F5C37 /* UIScrollView+MulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6E0C8274F915A009F5C37 /* UIScrollView+MulticastDelegate.swift */; };
3234
7DA6E0E8274F919A009F5C37 /* UINavigationController+MulticastDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6E0C7274F915A009F5C37 /* UINavigationController+MulticastDelegate.swift */; };
3335
7DA9B01A27439FA100284B0F /* UIControl+EventHandling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA9B01927439FA100284B0F /* UIControl+EventHandling.swift */; };
36+
7DB24C8927BD1813001030C7 /* BottomSheetUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */; };
37+
7DB24C8A27BD1813001030C7 /* BottomSheetUtils.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
38+
7DB24C9327BD18F1001030C7 /* BottomSheetUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */; };
39+
7DB24CEC27BD1FAD001030C7 /* JMMulticastDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DB24CE927BD1FAD001030C7 /* JMMulticastDelegate.m */; };
3440
/* End PBXBuildFile section */
3541

3642
/* Begin PBXContainerItemProxy section */
@@ -41,6 +47,13 @@
4147
remoteGlobalIDString = 7D05F329274139E100EBDBB1;
4248
remoteInfo = BottomSheet;
4349
};
50+
7DB24C8727BD1813001030C7 /* PBXContainerItemProxy */ = {
51+
isa = PBXContainerItemProxy;
52+
containerPortal = 7D05F2F92741359800EBDBB1 /* Project object */;
53+
proxyType = 1;
54+
remoteGlobalIDString = 7DB24C8227BD1813001030C7;
55+
remoteInfo = BottomSheetUtils;
56+
};
4457
/* End PBXContainerItemProxy section */
4558

4659
/* Begin PBXCopyFilesBuildPhase section */
@@ -53,6 +66,17 @@
5366
);
5467
runOnlyForDeploymentPostprocessing = 0;
5568
};
69+
7DB24C8B27BD1813001030C7 /* Embed Frameworks */ = {
70+
isa = PBXCopyFilesBuildPhase;
71+
buildActionMask = 2147483647;
72+
dstPath = "";
73+
dstSubfolderSpec = 10;
74+
files = (
75+
7DB24C8A27BD1813001030C7 /* BottomSheetUtils.framework in Embed Frameworks */,
76+
);
77+
name = "Embed Frameworks";
78+
runOnlyForDeploymentPostprocessing = 0;
79+
};
5680
/* End PBXCopyFilesBuildPhase section */
5781

5882
/* Begin PBXFileReference section */
@@ -63,6 +87,8 @@
6387
7D05F3122741359C00EBDBB1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
6488
7D05F3232741371400EBDBB1 /* RootViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootViewController.swift; sourceTree = "<group>"; };
6589
7D05F32A274139E100EBDBB1 /* libBottomSheet.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBottomSheet.a; sourceTree = BUILT_PRODUCTS_DIR; };
90+
7D59054727BD2DC70000BC17 /* BottomSheetUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomSheetUtils.h; sourceTree = "<group>"; };
91+
7D59054927BD2DCE0000BC17 /* JMMulticastDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JMMulticastDelegate.h; sourceTree = "<group>"; };
6692
7D7338D3274269A3004D7E59 /* ResizeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResizeViewController.swift; sourceTree = "<group>"; };
6793
7DA6E0B4274F915A009F5C37 /* BottomSheetTransitioningDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetTransitioningDelegate.swift; sourceTree = "<group>"; };
6894
7DA6E0B6274F915A009F5C37 /* BottomSheetNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetNavigationController.swift; sourceTree = "<group>"; };
@@ -81,6 +107,8 @@
81107
7DA6E0C7274F915A009F5C37 /* UINavigationController+MulticastDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINavigationController+MulticastDelegate.swift"; sourceTree = "<group>"; };
82108
7DA6E0C8274F915A009F5C37 /* UIScrollView+MulticastDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIScrollView+MulticastDelegate.swift"; sourceTree = "<group>"; };
83109
7DA9B01927439FA100284B0F /* UIControl+EventHandling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIControl+EventHandling.swift"; sourceTree = "<group>"; };
110+
7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BottomSheetUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; };
111+
7DB24CE927BD1FAD001030C7 /* JMMulticastDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JMMulticastDelegate.m; sourceTree = "<group>"; };
84112
/* End PBXFileReference section */
85113

86114
/* Begin PBXFrameworksBuildPhase section */
@@ -89,11 +117,20 @@
89117
buildActionMask = 2147483647;
90118
files = (
91119
7D05F33227413A1500EBDBB1 /* libBottomSheet.a in Frameworks */,
120+
7DB24C8927BD1813001030C7 /* BottomSheetUtils.framework in Frameworks */,
92121
7D05F342274140F700EBDBB1 /* SnapKit in Frameworks */,
93122
);
94123
runOnlyForDeploymentPostprocessing = 0;
95124
};
96125
7D05F327274139E100EBDBB1 /* Frameworks */ = {
126+
isa = PBXFrameworksBuildPhase;
127+
buildActionMask = 2147483647;
128+
files = (
129+
7DB24C9327BD18F1001030C7 /* BottomSheetUtils.framework in Frameworks */,
130+
);
131+
runOnlyForDeploymentPostprocessing = 0;
132+
};
133+
7DB24C8027BD1813001030C7 /* Frameworks */ = {
97134
isa = PBXFrameworksBuildPhase;
98135
buildActionMask = 2147483647;
99136
files = (
@@ -108,6 +145,7 @@
108145
children = (
109146
7DA6E0B2274F915A009F5C37 /* BottomSheet */,
110147
7D05F3032741359800EBDBB1 /* BottomSheetDemo */,
148+
7DB24CE827BD1FAD001030C7 /* BottomSheetUtils */,
111149
7D05F33127413A1500EBDBB1 /* Frameworks */,
112150
7D05F3022741359800EBDBB1 /* Products */,
113151
);
@@ -118,6 +156,7 @@
118156
children = (
119157
7D05F3012741359800EBDBB1 /* BottomSheetDemo.app */,
120158
7D05F32A274139E100EBDBB1 /* libBottomSheet.a */,
159+
7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */,
121160
);
122161
name = Products;
123162
sourceTree = "<group>";
@@ -279,8 +318,39 @@
279318
path = Helpers;
280319
sourceTree = "<group>";
281320
};
321+
7DB24CE827BD1FAD001030C7 /* BottomSheetUtils */ = {
322+
isa = PBXGroup;
323+
children = (
324+
7DDA237727BD25C800D006FE /* include */,
325+
7D59054727BD2DC70000BC17 /* BottomSheetUtils.h */,
326+
7DB24CE927BD1FAD001030C7 /* JMMulticastDelegate.m */,
327+
);
328+
name = BottomSheetUtils;
329+
path = Sources/BottomSheetUtils;
330+
sourceTree = "<group>";
331+
};
332+
7DDA237727BD25C800D006FE /* include */ = {
333+
isa = PBXGroup;
334+
children = (
335+
7D59054927BD2DCE0000BC17 /* JMMulticastDelegate.h */,
336+
);
337+
path = include;
338+
sourceTree = "<group>";
339+
};
282340
/* End PBXGroup section */
283341

342+
/* Begin PBXHeadersBuildPhase section */
343+
7DB24C7E27BD1813001030C7 /* Headers */ = {
344+
isa = PBXHeadersBuildPhase;
345+
buildActionMask = 2147483647;
346+
files = (
347+
7D59054827BD2DC70000BC17 /* BottomSheetUtils.h in Headers */,
348+
7D59054A27BD2DCE0000BC17 /* JMMulticastDelegate.h in Headers */,
349+
);
350+
runOnlyForDeploymentPostprocessing = 0;
351+
};
352+
/* End PBXHeadersBuildPhase section */
353+
284354
/* Begin PBXNativeTarget section */
285355
7D05F3002741359800EBDBB1 /* BottomSheetDemo */ = {
286356
isa = PBXNativeTarget;
@@ -289,11 +359,13 @@
289359
7D05F2FD2741359800EBDBB1 /* Sources */,
290360
7D05F2FE2741359800EBDBB1 /* Frameworks */,
291361
7D05F2FF2741359800EBDBB1 /* Resources */,
362+
7DB24C8B27BD1813001030C7 /* Embed Frameworks */,
292363
);
293364
buildRules = (
294365
);
295366
dependencies = (
296367
7D05F33427413A1500EBDBB1 /* PBXTargetDependency */,
368+
7DB24C8827BD1813001030C7 /* PBXTargetDependency */,
297369
);
298370
name = BottomSheetDemo;
299371
packageProductDependencies = (
@@ -320,6 +392,24 @@
320392
productReference = 7D05F32A274139E100EBDBB1 /* libBottomSheet.a */;
321393
productType = "com.apple.product-type.library.static";
322394
};
395+
7DB24C8227BD1813001030C7 /* BottomSheetUtils */ = {
396+
isa = PBXNativeTarget;
397+
buildConfigurationList = 7DB24C8E27BD1813001030C7 /* Build configuration list for PBXNativeTarget "BottomSheetUtils" */;
398+
buildPhases = (
399+
7DB24C7E27BD1813001030C7 /* Headers */,
400+
7DB24C7F27BD1813001030C7 /* Sources */,
401+
7DB24C8027BD1813001030C7 /* Frameworks */,
402+
7DB24C8127BD1813001030C7 /* Resources */,
403+
);
404+
buildRules = (
405+
);
406+
dependencies = (
407+
);
408+
name = BottomSheetUtils;
409+
productName = BottomSheetUtils;
410+
productReference = 7DB24C8327BD1813001030C7 /* BottomSheetUtils.framework */;
411+
productType = "com.apple.product-type.framework";
412+
};
323413
/* End PBXNativeTarget section */
324414

325415
/* Begin PBXProject section */
@@ -337,6 +427,9 @@
337427
CreatedOnToolsVersion = 12.5.1;
338428
LastSwiftMigration = 1250;
339429
};
430+
7DB24C8227BD1813001030C7 = {
431+
CreatedOnToolsVersion = 13.0;
432+
};
340433
};
341434
};
342435
buildConfigurationList = 7D05F2FC2741359800EBDBB1 /* Build configuration list for PBXProject "BottomSheetDemo" */;
@@ -357,6 +450,7 @@
357450
targets = (
358451
7D05F3002741359800EBDBB1 /* BottomSheetDemo */,
359452
7D05F329274139E100EBDBB1 /* BottomSheet */,
453+
7DB24C8227BD1813001030C7 /* BottomSheetUtils */,
360454
);
361455
};
362456
/* End PBXProject section */
@@ -371,6 +465,13 @@
371465
);
372466
runOnlyForDeploymentPostprocessing = 0;
373467
};
468+
7DB24C8127BD1813001030C7 /* Resources */ = {
469+
isa = PBXResourcesBuildPhase;
470+
buildActionMask = 2147483647;
471+
files = (
472+
);
473+
runOnlyForDeploymentPostprocessing = 0;
474+
};
374475
/* End PBXResourcesBuildPhase section */
375476

376477
/* Begin PBXSourcesBuildPhase section */
@@ -408,6 +509,14 @@
408509
);
409510
runOnlyForDeploymentPostprocessing = 0;
410511
};
512+
7DB24C7F27BD1813001030C7 /* Sources */ = {
513+
isa = PBXSourcesBuildPhase;
514+
buildActionMask = 2147483647;
515+
files = (
516+
7DB24CEC27BD1FAD001030C7 /* JMMulticastDelegate.m in Sources */,
517+
);
518+
runOnlyForDeploymentPostprocessing = 0;
519+
};
411520
/* End PBXSourcesBuildPhase section */
412521

413522
/* Begin PBXTargetDependency section */
@@ -416,6 +525,11 @@
416525
target = 7D05F329274139E100EBDBB1 /* BottomSheet */;
417526
targetProxy = 7D05F33327413A1500EBDBB1 /* PBXContainerItemProxy */;
418527
};
528+
7DB24C8827BD1813001030C7 /* PBXTargetDependency */ = {
529+
isa = PBXTargetDependency;
530+
target = 7DB24C8227BD1813001030C7 /* BottomSheetUtils */;
531+
targetProxy = 7DB24C8727BD1813001030C7 /* PBXContainerItemProxy */;
532+
};
419533
/* End PBXTargetDependency section */
420534

421535
/* Begin PBXVariantGroup section */
@@ -621,6 +735,68 @@
621735
};
622736
name = Release;
623737
};
738+
7DB24C8C27BD1813001030C7 /* Debug */ = {
739+
isa = XCBuildConfiguration;
740+
buildSettings = {
741+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
742+
CODE_SIGN_STYLE = Automatic;
743+
CURRENT_PROJECT_VERSION = 1;
744+
DEFINES_MODULE = YES;
745+
DYLIB_COMPATIBILITY_VERSION = 1;
746+
DYLIB_CURRENT_VERSION = 1;
747+
DYLIB_INSTALL_NAME_BASE = "@rpath";
748+
GENERATE_INFOPLIST_FILE = YES;
749+
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Joom. All rights reserved.";
750+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
751+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
752+
LD_RUNPATH_SEARCH_PATHS = (
753+
"$(inherited)",
754+
"@executable_path/Frameworks",
755+
"@loader_path/Frameworks",
756+
);
757+
MACH_O_TYPE = staticlib;
758+
MARKETING_VERSION = 1.0;
759+
PRODUCT_BUNDLE_IDENTIFIER = com.joomcode.BottomSheetUtils;
760+
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
761+
SKIP_INSTALL = YES;
762+
SWIFT_EMIT_LOC_STRINGS = YES;
763+
TARGETED_DEVICE_FAMILY = "1,2";
764+
VERSIONING_SYSTEM = "apple-generic";
765+
VERSION_INFO_PREFIX = "";
766+
};
767+
name = Debug;
768+
};
769+
7DB24C8D27BD1813001030C7 /* Release */ = {
770+
isa = XCBuildConfiguration;
771+
buildSettings = {
772+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
773+
CODE_SIGN_STYLE = Automatic;
774+
CURRENT_PROJECT_VERSION = 1;
775+
DEFINES_MODULE = YES;
776+
DYLIB_COMPATIBILITY_VERSION = 1;
777+
DYLIB_CURRENT_VERSION = 1;
778+
DYLIB_INSTALL_NAME_BASE = "@rpath";
779+
GENERATE_INFOPLIST_FILE = YES;
780+
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Joom. All rights reserved.";
781+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
782+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
783+
LD_RUNPATH_SEARCH_PATHS = (
784+
"$(inherited)",
785+
"@executable_path/Frameworks",
786+
"@loader_path/Frameworks",
787+
);
788+
MACH_O_TYPE = staticlib;
789+
MARKETING_VERSION = 1.0;
790+
PRODUCT_BUNDLE_IDENTIFIER = com.joomcode.BottomSheetUtils;
791+
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
792+
SKIP_INSTALL = YES;
793+
SWIFT_EMIT_LOC_STRINGS = YES;
794+
TARGETED_DEVICE_FAMILY = "1,2";
795+
VERSIONING_SYSTEM = "apple-generic";
796+
VERSION_INFO_PREFIX = "";
797+
};
798+
name = Release;
799+
};
624800
/* End XCBuildConfiguration section */
625801

626802
/* Begin XCConfigurationList section */
@@ -651,6 +827,15 @@
651827
defaultConfigurationIsVisible = 0;
652828
defaultConfigurationName = Release;
653829
};
830+
7DB24C8E27BD1813001030C7 /* Build configuration list for PBXNativeTarget "BottomSheetUtils" */ = {
831+
isa = XCConfigurationList;
832+
buildConfigurations = (
833+
7DB24C8C27BD1813001030C7 /* Debug */,
834+
7DB24C8D27BD1813001030C7 /* Release */,
835+
);
836+
defaultConfigurationIsVisible = 0;
837+
defaultConfigurationName = Release;
838+
};
654839
/* End XCConfigurationList section */
655840

656841
/* Begin XCRemoteSwiftPackageReference section */

0 commit comments

Comments
 (0)