Skip to content

Commit ca7047a

Browse files
authored
Merge pull request #45 from fumiyasac/feature/2025-update-library-swiftui
README変更&簡単なSwiftUI製サンプル新規追加
2 parents 0b83d99 + 8d7c2c7 commit ca7047a

File tree

6 files changed

+225
-43
lines changed

6 files changed

+225
-43
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.7
1+
// swift-tools-version:5.9
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public func judgeJapaneseHoliday(year: Int, month: Int, day: Int) -> Bool {
2929

3030
### Requirements & Support
3131

32-
+ iOS 13.0 or later
32+
+ iOS 14.0 or later
3333
+ macOS 11.0 or later
3434

3535
### Installation
@@ -43,7 +43,7 @@ Create Podfile and specify it in your Podfile:
4343
★ Example of Podfile
4444

4545
```
46-
platform :ios, '13.0'
46+
platform :ios, '14.0'
4747
use_frameworks!
4848
target [YOUR PROJECT NAME]' do
4949
pod 'CalculateCalendarLogic'
@@ -156,7 +156,7 @@ public func judgeJapaneseHoliday(year: Int, month: Int, day: Int) -> Bool {
156156

157157
### 対応バージョンとサポート
158158

159-
+ iOS 13.0 or later
159+
+ iOS 14.0 or later
160160
+ macOS 11.0 or later
161161

162162
### 導入方法
@@ -232,7 +232,7 @@ print("2016年1月1日:\(result)")
232232

233233
現行プログラムでCalculateCalendarLogic.swiftで考慮したテストケースは下記の通りです。
234234

235-
+ 今年(2016年〜2022年)の祝祭日の判定が正しく行えていること
235+
+ 今年(2016年〜2025年)の祝祭日の判定が正しく行えていること
236236
+ ゴールデンウィークの判定が正しく行えていること(※サンプル:2017年/2019年/2021年)
237237
+ シルバーウィークの判定が正しく行えていること(※サンプル:2015年/2026年/2032年)
238238
+ 春分の日・秋分の日の判定が正しく行えていること(※サンプル:2000年〜2030年)
@@ -247,6 +247,7 @@ print("2016年1月1日:\(result)")
247247

248248
まだまだ甘い部分があるかもしれませんが、その際はPullRequest等を送っていただければ幸いです。アプリ開発の中でこのサンプルが少しでもお役にたつ事ができれば嬉しい限りです。
249249

250+
+ 2025.01.02: 保守対応を行いました。
250251
+ 2023.01.01: 保守対応&iOS16で利用可能なUICalendarViewのサンプル追加を行いました。
251252
+ 2021.06.05: Gihub Actions追加([uhooi](https://github.com/uhooi)様)
252253
+ 2020.12.02: Xcode12.2への対応/2021年の祝日に関する追加対応/サンプルコード修正等を行いました。

handMadeCalendarAdvance.xcodeproj/project.pbxproj

Lines changed: 107 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 46;
6+
objectVersion = 54;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -12,6 +12,8 @@
1212
31889D161E29F3BC00DFD4CB /* CalculateCalendarLogicTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E517AF5A1CE0F63C006847A0 /* CalculateCalendarLogicTests.swift */; };
1313
DE0166BC1CDE5892002BB133 /* CalendarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE0166BB1CDE5892002BB133 /* CalendarCell.swift */; };
1414
DE03CFF329608C650054BCF1 /* NewCalendarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE03CFF229608C650054BCF1 /* NewCalendarViewController.swift */; };
15+
DE4977542D26609200FEC950 /* DatePickerSelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE4977532D26609200FEC950 /* DatePickerSelectView.swift */; };
16+
DE4977572D26635200FEC950 /* MijickCalendarView in Frameworks */ = {isa = PBXBuildFile; productRef = DE4977562D26635200FEC950 /* MijickCalendarView */; };
1517
DE7396FA1CCB4EC100A9A222 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7396F91CCB4EC100A9A222 /* AppDelegate.swift */; };
1618
DE7396FC1CCB4EC100A9A222 /* MonthlyCalendarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7396FB1CCB4EC100A9A222 /* MonthlyCalendarViewController.swift */; };
1719
DE7396FF1CCB4EC100A9A222 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE7396FD1CCB4EC100A9A222 /* Main.storyboard */; };
@@ -94,6 +96,7 @@
9496
31889D061E29F37F00DFD4CB /* CalculateCalendarLogic OSXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CalculateCalendarLogic OSXTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
9597
DE0166BB1CDE5892002BB133 /* CalendarCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalendarCell.swift; sourceTree = "<group>"; };
9698
DE03CFF229608C650054BCF1 /* NewCalendarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewCalendarViewController.swift; sourceTree = "<group>"; };
99+
DE4977532D26609200FEC950 /* DatePickerSelectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerSelectView.swift; sourceTree = "<group>"; };
97100
DE7396F61CCB4EC100A9A222 /* handMadeCalendarAdvance.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = handMadeCalendarAdvance.app; sourceTree = BUILT_PRODUCTS_DIR; };
98101
DE7396F91CCB4EC100A9A222 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
99102
DE7396FB1CCB4EC100A9A222 /* MonthlyCalendarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MonthlyCalendarViewController.swift; sourceTree = "<group>"; };
@@ -139,6 +142,7 @@
139142
isa = PBXFrameworksBuildPhase;
140143
buildActionMask = 2147483647;
141144
files = (
145+
DE4977572D26635200FEC950 /* MijickCalendarView in Frameworks */,
142146
E517AF5F1CE0F63C006847A0 /* CalculateCalendarLogic.framework in Frameworks */,
143147
);
144148
runOnlyForDeploymentPostprocessing = 0;
@@ -249,6 +253,7 @@
249253
DE7396FB1CCB4EC100A9A222 /* MonthlyCalendarViewController.swift */,
250254
DEE369C2257C8E5A00A22800 /* DatePickerCalendarViewController.swift */,
251255
DE03CFF229608C650054BCF1 /* NewCalendarViewController.swift */,
256+
DE4977532D26609200FEC950 /* DatePickerSelectView.swift */,
252257
);
253258
name = ViewController;
254259
sourceTree = "<group>";
@@ -478,6 +483,9 @@
478483
Base,
479484
);
480485
mainGroup = DE7396ED1CCB4EC100A9A222;
486+
packageReferences = (
487+
DE4977552D26618300FEC950 /* XCRemoteSwiftPackageReference "CalendarView" */,
488+
);
481489
productRefGroup = DE7396F71CCB4EC100A9A222 /* Products */;
482490
projectDirPath = "";
483491
projectRoot = "";
@@ -612,6 +620,7 @@
612620
DEE369C3257C8E5A00A22800 /* DatePickerCalendarViewController.swift in Sources */,
613621
DE03CFF329608C650054BCF1 /* NewCalendarViewController.swift in Sources */,
614622
DE7396FC1CCB4EC100A9A222 /* MonthlyCalendarViewController.swift in Sources */,
623+
DE4977542D26609200FEC950 /* DatePickerSelectView.swift in Sources */,
615624
DE7396FA1CCB4EC100A9A222 /* AppDelegate.swift in Sources */,
616625
DE0166BC1CDE5892002BB133 /* CalendarCell.swift in Sources */,
617626
DEE369B4257C8A1600A22800 /* MainViewController.swift in Sources */,
@@ -721,7 +730,11 @@
721730
FRAMEWORK_VERSION = A;
722731
INFOPLIST_FILE = CalculateCalendarLogic/Info.plist;
723732
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
724-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
733+
LD_RUNPATH_SEARCH_PATHS = (
734+
"$(inherited)",
735+
"@executable_path/../Frameworks",
736+
"@loader_path/Frameworks",
737+
);
725738
MACOSX_DEPLOYMENT_TARGET = 10.15;
726739
PRODUCT_BUNDLE_IDENTIFIER = "net.just1factory.CalculateCalendarLogic-OSX";
727740
PRODUCT_NAME = CalculateCalendarLogic;
@@ -750,13 +763,18 @@
750763
FRAMEWORK_VERSION = A;
751764
INFOPLIST_FILE = CalculateCalendarLogic/Info.plist;
752765
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
753-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
766+
LD_RUNPATH_SEARCH_PATHS = (
767+
"$(inherited)",
768+
"@executable_path/../Frameworks",
769+
"@loader_path/Frameworks",
770+
);
754771
MACOSX_DEPLOYMENT_TARGET = 10.15;
755772
PRODUCT_BUNDLE_IDENTIFIER = "net.just1factory.CalculateCalendarLogic-OSX";
756773
PRODUCT_NAME = CalculateCalendarLogic;
757774
SDKROOT = macosx;
758775
SKIP_INSTALL = YES;
759-
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
776+
SWIFT_COMPILATION_MODE = wholemodule;
777+
SWIFT_OPTIMIZATION_LEVEL = "-O";
760778
SWIFT_VERSION = 5.0;
761779
VERSIONING_SYSTEM = "apple-generic";
762780
VERSION_INFO_PREFIX = "";
@@ -773,7 +791,11 @@
773791
CODE_SIGN_IDENTITY = "-";
774792
COMBINE_HIDPI_IMAGES = YES;
775793
INFOPLIST_FILE = Tests/CalculateCalendarLogicTests/Info.plist;
776-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
794+
LD_RUNPATH_SEARCH_PATHS = (
795+
"$(inherited)",
796+
"@executable_path/../Frameworks",
797+
"@loader_path/../Frameworks",
798+
);
777799
MACOSX_DEPLOYMENT_TARGET = 11.0;
778800
PRODUCT_BUNDLE_IDENTIFIER = "net.just1factory.CalculateCalendarLogic-OSXTests";
779801
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -793,12 +815,17 @@
793815
CODE_SIGN_IDENTITY = "-";
794816
COMBINE_HIDPI_IMAGES = YES;
795817
INFOPLIST_FILE = Tests/CalculateCalendarLogicTests/Info.plist;
796-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
818+
LD_RUNPATH_SEARCH_PATHS = (
819+
"$(inherited)",
820+
"@executable_path/../Frameworks",
821+
"@loader_path/../Frameworks",
822+
);
797823
MACOSX_DEPLOYMENT_TARGET = 11.0;
798824
PRODUCT_BUNDLE_IDENTIFIER = "net.just1factory.CalculateCalendarLogic-OSXTests";
799825
PRODUCT_NAME = "$(TARGET_NAME)";
800826
SDKROOT = macosx;
801-
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
827+
SWIFT_COMPILATION_MODE = wholemodule;
828+
SWIFT_OPTIMIZATION_LEVEL = "-O";
802829
SWIFT_VERSION = 3.0;
803830
};
804831
name = Release;
@@ -918,8 +945,11 @@
918945
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
919946
DEVELOPMENT_TEAM = S5BF5553KY;
920947
INFOPLIST_FILE = handMadeCalendarAdvance/Info.plist;
921-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
922-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
948+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
949+
LD_RUNPATH_SEARCH_PATHS = (
950+
"$(inherited)",
951+
"@executable_path/Frameworks",
952+
);
923953
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvance;
924954
PRODUCT_NAME = "$(TARGET_NAME)";
925955
SWIFT_VERSION = 5.0;
@@ -933,8 +963,11 @@
933963
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
934964
DEVELOPMENT_TEAM = S5BF5553KY;
935965
INFOPLIST_FILE = handMadeCalendarAdvance/Info.plist;
936-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
937-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
966+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
967+
LD_RUNPATH_SEARCH_PATHS = (
968+
"$(inherited)",
969+
"@executable_path/Frameworks",
970+
);
938971
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvance;
939972
PRODUCT_NAME = "$(TARGET_NAME)";
940973
SWIFT_VERSION = 5.0;
@@ -946,8 +979,12 @@
946979
buildSettings = {
947980
BUNDLE_LOADER = "$(TEST_HOST)";
948981
INFOPLIST_FILE = handMadeCalendarAdvanceTests/Info.plist;
949-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
950-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
982+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
983+
LD_RUNPATH_SEARCH_PATHS = (
984+
"$(inherited)",
985+
"@executable_path/Frameworks",
986+
"@loader_path/Frameworks",
987+
);
951988
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvanceTests;
952989
PRODUCT_NAME = "$(TARGET_NAME)";
953990
SWIFT_VERSION = 5.0;
@@ -960,8 +997,12 @@
960997
buildSettings = {
961998
BUNDLE_LOADER = "$(TEST_HOST)";
962999
INFOPLIST_FILE = handMadeCalendarAdvanceTests/Info.plist;
963-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
964-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1000+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
1001+
LD_RUNPATH_SEARCH_PATHS = (
1002+
"$(inherited)",
1003+
"@executable_path/Frameworks",
1004+
"@loader_path/Frameworks",
1005+
);
9651006
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvanceTests;
9661007
PRODUCT_NAME = "$(TARGET_NAME)";
9671008
SWIFT_VERSION = 5.0;
@@ -973,7 +1014,11 @@
9731014
isa = XCBuildConfiguration;
9741015
buildSettings = {
9751016
INFOPLIST_FILE = handMadeCalendarAdvanceUITests/Info.plist;
976-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1017+
LD_RUNPATH_SEARCH_PATHS = (
1018+
"$(inherited)",
1019+
"@executable_path/Frameworks",
1020+
"@loader_path/Frameworks",
1021+
);
9771022
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvanceUITests;
9781023
PRODUCT_NAME = "$(TARGET_NAME)";
9791024
SWIFT_VERSION = 5.0;
@@ -985,7 +1030,11 @@
9851030
isa = XCBuildConfiguration;
9861031
buildSettings = {
9871032
INFOPLIST_FILE = handMadeCalendarAdvanceUITests/Info.plist;
988-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1033+
LD_RUNPATH_SEARCH_PATHS = (
1034+
"$(inherited)",
1035+
"@executable_path/Frameworks",
1036+
"@loader_path/Frameworks",
1037+
);
9891038
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.handMadeCalendarAdvanceUITests;
9901039
PRODUCT_NAME = "$(TARGET_NAME)";
9911040
SWIFT_VERSION = 5.0;
@@ -1006,7 +1055,11 @@
10061055
INFOPLIST_FILE = CalculateCalendarLogic/Info.plist;
10071056
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
10081057
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
1009-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1058+
LD_RUNPATH_SEARCH_PATHS = (
1059+
"$(inherited)",
1060+
"@executable_path/Frameworks",
1061+
"@loader_path/Frameworks",
1062+
);
10101063
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.CalculateCalendarLogic;
10111064
PRODUCT_NAME = "$(TARGET_NAME)";
10121065
SKIP_INSTALL = YES;
@@ -1031,7 +1084,11 @@
10311084
INFOPLIST_FILE = CalculateCalendarLogic/Info.plist;
10321085
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
10331086
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
1034-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1087+
LD_RUNPATH_SEARCH_PATHS = (
1088+
"$(inherited)",
1089+
"@executable_path/Frameworks",
1090+
"@loader_path/Frameworks",
1091+
);
10351092
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.CalculateCalendarLogic;
10361093
PRODUCT_NAME = "$(TARGET_NAME)";
10371094
SKIP_INSTALL = YES;
@@ -1046,8 +1103,12 @@
10461103
isa = XCBuildConfiguration;
10471104
buildSettings = {
10481105
INFOPLIST_FILE = Tests/CalculateCalendarLogicTests/Info.plist;
1049-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
1050-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1106+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
1107+
LD_RUNPATH_SEARCH_PATHS = (
1108+
"$(inherited)",
1109+
"@executable_path/Frameworks",
1110+
"@loader_path/Frameworks",
1111+
);
10511112
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.CalculateCalendarLogicTests;
10521113
PRODUCT_NAME = "$(TARGET_NAME)";
10531114
SWIFT_VERSION = 5.0;
@@ -1059,8 +1120,12 @@
10591120
isa = XCBuildConfiguration;
10601121
buildSettings = {
10611122
INFOPLIST_FILE = Tests/CalculateCalendarLogicTests/Info.plist;
1062-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
1063-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1123+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
1124+
LD_RUNPATH_SEARCH_PATHS = (
1125+
"$(inherited)",
1126+
"@executable_path/Frameworks",
1127+
"@loader_path/Frameworks",
1128+
);
10641129
PRODUCT_BUNDLE_IDENTIFIER = net.just1factory.CalculateCalendarLogicTests;
10651130
PRODUCT_NAME = "$(TARGET_NAME)";
10661131
SWIFT_VERSION = 5.0;
@@ -1144,6 +1209,25 @@
11441209
defaultConfigurationName = Release;
11451210
};
11461211
/* End XCConfigurationList section */
1212+
1213+
/* Begin XCRemoteSwiftPackageReference section */
1214+
DE4977552D26618300FEC950 /* XCRemoteSwiftPackageReference "CalendarView" */ = {
1215+
isa = XCRemoteSwiftPackageReference;
1216+
repositoryURL = "https://github.com/Mijick/CalendarView.git";
1217+
requirement = {
1218+
kind = upToNextMajorVersion;
1219+
minimumVersion = 1.0.0;
1220+
};
1221+
};
1222+
/* End XCRemoteSwiftPackageReference section */
1223+
1224+
/* Begin XCSwiftPackageProductDependency section */
1225+
DE4977562D26635200FEC950 /* MijickCalendarView */ = {
1226+
isa = XCSwiftPackageProductDependency;
1227+
package = DE4977552D26618300FEC950 /* XCRemoteSwiftPackageReference "CalendarView" */;
1228+
productName = MijickCalendarView;
1229+
};
1230+
/* End XCSwiftPackageProductDependency section */
11471231
};
11481232
rootObject = DE7396EE1CCB4EC100A9A222 /* Project object */;
11491233
}

handMadeCalendarAdvance.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)