├── .gitignore
├── demo.png
├── timestampOverlay
├── Assets.xcassets
│ ├── Contents.json
│ └── AppIcon.appiconset
│ │ ├── appicon.png
│ │ ├── appicon@0.5x.png
│ │ ├── appicon@2x-1.png
│ │ ├── appicon@2x.png
│ │ ├── appicon@4x-1.png
│ │ ├── appicon@4x.png
│ │ ├── appicon@8x.png
│ │ ├── appicon@0.12x.png
│ │ ├── appicon@0.25x.png
│ │ ├── appicon@0.25x-1.png
│ │ └── Contents.json
├── timestampOverlay.entitlements
├── AppDelegate.swift
├── WindowController.swift
├── Info.plist
├── ViewController.swift
└── Base.lproj
│ └── Main.storyboard
├── timestampOverlay.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcuserdata
│ │ └── soulchild.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── xcuserdata
│ └── soulchild.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
└── project.pbxproj
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | *.DS_Store
2 |
--------------------------------------------------------------------------------
/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/demo.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.5x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@2x-1.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@2x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@4x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@4x-1.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@4x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@8x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@8x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.12x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.12x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.25x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.25x.png
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.25x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay/Assets.xcassets/AppIcon.appiconset/appicon@0.25x-1.png
--------------------------------------------------------------------------------
/timestampOverlay.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/timestampOverlay.xcodeproj/project.xcworkspace/xcuserdata/soulchild.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cupnoodle/timestampOverlay/HEAD/timestampOverlay.xcodeproj/project.xcworkspace/xcuserdata/soulchild.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # timestampOverlay
2 |
3 |
4 |
5 | The app will show the current time (according to your system time setting format) in a floating window on your screen, you can drag it anywhere.
6 |
7 |
8 | Helpful for taking screenshot with timestamp, for legal purposes.
9 |
10 |
11 |
12 | 
13 |
14 |
--------------------------------------------------------------------------------
/timestampOverlay.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/timestampOverlay/timestampOverlay.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/timestampOverlay.xcodeproj/xcuserdata/soulchild.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | timestampOverlay.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/timestampOverlay/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // timestampOverlay
4 | //
5 | // Created by Soulchild on 26/04/2020.
6 | // Copyright © 2020 fluffy. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | @NSApplicationMain
12 | class AppDelegate: NSObject, NSApplicationDelegate {
13 |
14 |
15 |
16 | func applicationDidFinishLaunching(_ aNotification: Notification) {
17 | // Insert code here to initialize your application
18 | }
19 |
20 | func applicationWillTerminate(_ aNotification: Notification) {
21 | // Insert code here to tear down your application
22 | }
23 |
24 |
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/timestampOverlay/WindowController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WindowController.swift
3 | // timestampOverlay
4 | //
5 | // Created by Soulchild on 26/04/2020.
6 | // Copyright © 2020 fluffy. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class WindowController: NSWindowController {
12 |
13 | override func windowDidLoad() {
14 | super.windowDidLoad()
15 |
16 | // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
17 | window?.styleMask = [.resizable]
18 |
19 | window?.isMovableByWindowBackground = true
20 |
21 | // window?.makeKeyAndOrderFront(nil)
22 | window?.level = .floating
23 | window?.backgroundColor = .black
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/timestampOverlay/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSApplicationCategoryType
24 | public.app-category.utilities
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | NSHumanReadableCopyright
28 | Copyright © 2020 fluffy. All rights reserved.
29 | NSMainStoryboardFile
30 | Main
31 | NSPrincipalClass
32 | NSApplication
33 | NSSupportsAutomaticTermination
34 |
35 | NSSupportsSuddenTermination
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/timestampOverlay/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // timestampOverlay
4 | //
5 | // Created by Soulchild on 26/04/2020.
6 | // Copyright © 2020 fluffy. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class ViewController: NSViewController {
12 |
13 | @IBOutlet weak var currentTimeTextField: NSTextField!
14 | var timeWindow : NSWindow!
15 | var timer : Timer!
16 |
17 | var dateFormatter = DateFormatter()
18 | override func viewDidLoad() {
19 | super.viewDidLoad()
20 |
21 | // Do any additional setup after loading the view.
22 | dateFormatter.dateStyle = .medium
23 | dateFormatter.timeStyle = .medium
24 |
25 | currentTimeTextField.stringValue = dateFormatter.string(from: Date())
26 | currentTimeTextField.font = NSFont.systemFont(ofSize: 24.0)
27 | currentTimeTextField.textColor = NSColor.white
28 | currentTimeTextField.isEditable = false
29 | currentTimeTextField.isBezeled = false
30 |
31 | self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.updateTextFieldTime), userInfo: nil, repeats: true)
32 | }
33 |
34 | override var representedObject: Any? {
35 | didSet {
36 | // Update the view, if already loaded.
37 | }
38 | }
39 |
40 | @objc func updateTextFieldTime(){
41 | self.currentTimeTextField.stringValue = self.dateFormatter.string(from: Date())
42 | }
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/timestampOverlay/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "16x16",
5 | "idiom" : "mac",
6 | "filename" : "appicon@0.12x.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "16x16",
11 | "idiom" : "mac",
12 | "filename" : "appicon@0.25x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "32x32",
17 | "idiom" : "mac",
18 | "filename" : "appicon@0.25x-1.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "32x32",
23 | "idiom" : "mac",
24 | "filename" : "appicon@0.5x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "128x128",
29 | "idiom" : "mac",
30 | "filename" : "appicon.png",
31 | "scale" : "1x"
32 | },
33 | {
34 | "size" : "128x128",
35 | "idiom" : "mac",
36 | "filename" : "appicon@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "256x256",
41 | "idiom" : "mac",
42 | "filename" : "appicon@2x-1.png",
43 | "scale" : "1x"
44 | },
45 | {
46 | "size" : "256x256",
47 | "idiom" : "mac",
48 | "filename" : "appicon@4x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "512x512",
53 | "idiom" : "mac",
54 | "filename" : "appicon@4x-1.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "512x512",
59 | "idiom" : "mac",
60 | "filename" : "appicon@8x.png",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/timestampOverlay.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 50;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 71F3741C245578CD002654B7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F3741B245578CD002654B7 /* AppDelegate.swift */; };
11 | 71F3741E245578CD002654B7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F3741D245578CD002654B7 /* ViewController.swift */; };
12 | 71F37420245578CE002654B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 71F3741F245578CE002654B7 /* Assets.xcassets */; };
13 | 71F37423245578CE002654B7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71F37421245578CE002654B7 /* Main.storyboard */; };
14 | 71F3743024558827002654B7 /* WindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F3742F24558827002654B7 /* WindowController.swift */; };
15 | /* End PBXBuildFile section */
16 |
17 | /* Begin PBXFileReference section */
18 | 71F37418245578CD002654B7 /* timestampOverlay.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = timestampOverlay.app; sourceTree = BUILT_PRODUCTS_DIR; };
19 | 71F3741B245578CD002654B7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
20 | 71F3741D245578CD002654B7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
21 | 71F3741F245578CE002654B7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
22 | 71F37422245578CE002654B7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
23 | 71F37424245578CE002654B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
24 | 71F37425245578CE002654B7 /* timestampOverlay.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = timestampOverlay.entitlements; sourceTree = ""; };
25 | 71F3742F24558827002654B7 /* WindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowController.swift; sourceTree = ""; };
26 | /* End PBXFileReference section */
27 |
28 | /* Begin PBXFrameworksBuildPhase section */
29 | 71F37415245578CD002654B7 /* Frameworks */ = {
30 | isa = PBXFrameworksBuildPhase;
31 | buildActionMask = 2147483647;
32 | files = (
33 | );
34 | runOnlyForDeploymentPostprocessing = 0;
35 | };
36 | /* End PBXFrameworksBuildPhase section */
37 |
38 | /* Begin PBXGroup section */
39 | 71F3740F245578CD002654B7 = {
40 | isa = PBXGroup;
41 | children = (
42 | 71F3741A245578CD002654B7 /* timestampOverlay */,
43 | 71F37419245578CD002654B7 /* Products */,
44 | );
45 | sourceTree = "";
46 | };
47 | 71F37419245578CD002654B7 /* Products */ = {
48 | isa = PBXGroup;
49 | children = (
50 | 71F37418245578CD002654B7 /* timestampOverlay.app */,
51 | );
52 | name = Products;
53 | sourceTree = "";
54 | };
55 | 71F3741A245578CD002654B7 /* timestampOverlay */ = {
56 | isa = PBXGroup;
57 | children = (
58 | 71F3741B245578CD002654B7 /* AppDelegate.swift */,
59 | 71F3741D245578CD002654B7 /* ViewController.swift */,
60 | 71F3741F245578CE002654B7 /* Assets.xcassets */,
61 | 71F37421245578CE002654B7 /* Main.storyboard */,
62 | 71F37424245578CE002654B7 /* Info.plist */,
63 | 71F37425245578CE002654B7 /* timestampOverlay.entitlements */,
64 | 71F3742F24558827002654B7 /* WindowController.swift */,
65 | );
66 | path = timestampOverlay;
67 | sourceTree = "";
68 | };
69 | /* End PBXGroup section */
70 |
71 | /* Begin PBXNativeTarget section */
72 | 71F37417245578CD002654B7 /* timestampOverlay */ = {
73 | isa = PBXNativeTarget;
74 | buildConfigurationList = 71F37428245578CE002654B7 /* Build configuration list for PBXNativeTarget "timestampOverlay" */;
75 | buildPhases = (
76 | 71F37414245578CD002654B7 /* Sources */,
77 | 71F37415245578CD002654B7 /* Frameworks */,
78 | 71F37416245578CD002654B7 /* Resources */,
79 | );
80 | buildRules = (
81 | );
82 | dependencies = (
83 | );
84 | name = timestampOverlay;
85 | productName = timestampOverlay;
86 | productReference = 71F37418245578CD002654B7 /* timestampOverlay.app */;
87 | productType = "com.apple.product-type.application";
88 | };
89 | /* End PBXNativeTarget section */
90 |
91 | /* Begin PBXProject section */
92 | 71F37410245578CD002654B7 /* Project object */ = {
93 | isa = PBXProject;
94 | attributes = {
95 | LastSwiftUpdateCheck = 1130;
96 | LastUpgradeCheck = 1130;
97 | ORGANIZATIONNAME = fluffy;
98 | TargetAttributes = {
99 | 71F37417245578CD002654B7 = {
100 | CreatedOnToolsVersion = 11.3.1;
101 | };
102 | };
103 | };
104 | buildConfigurationList = 71F37413245578CD002654B7 /* Build configuration list for PBXProject "timestampOverlay" */;
105 | compatibilityVersion = "Xcode 9.3";
106 | developmentRegion = en;
107 | hasScannedForEncodings = 0;
108 | knownRegions = (
109 | en,
110 | Base,
111 | );
112 | mainGroup = 71F3740F245578CD002654B7;
113 | productRefGroup = 71F37419245578CD002654B7 /* Products */;
114 | projectDirPath = "";
115 | projectRoot = "";
116 | targets = (
117 | 71F37417245578CD002654B7 /* timestampOverlay */,
118 | );
119 | };
120 | /* End PBXProject section */
121 |
122 | /* Begin PBXResourcesBuildPhase section */
123 | 71F37416245578CD002654B7 /* Resources */ = {
124 | isa = PBXResourcesBuildPhase;
125 | buildActionMask = 2147483647;
126 | files = (
127 | 71F37420245578CE002654B7 /* Assets.xcassets in Resources */,
128 | 71F37423245578CE002654B7 /* Main.storyboard in Resources */,
129 | );
130 | runOnlyForDeploymentPostprocessing = 0;
131 | };
132 | /* End PBXResourcesBuildPhase section */
133 |
134 | /* Begin PBXSourcesBuildPhase section */
135 | 71F37414245578CD002654B7 /* Sources */ = {
136 | isa = PBXSourcesBuildPhase;
137 | buildActionMask = 2147483647;
138 | files = (
139 | 71F3743024558827002654B7 /* WindowController.swift in Sources */,
140 | 71F3741E245578CD002654B7 /* ViewController.swift in Sources */,
141 | 71F3741C245578CD002654B7 /* AppDelegate.swift in Sources */,
142 | );
143 | runOnlyForDeploymentPostprocessing = 0;
144 | };
145 | /* End PBXSourcesBuildPhase section */
146 |
147 | /* Begin PBXVariantGroup section */
148 | 71F37421245578CE002654B7 /* Main.storyboard */ = {
149 | isa = PBXVariantGroup;
150 | children = (
151 | 71F37422245578CE002654B7 /* Base */,
152 | );
153 | name = Main.storyboard;
154 | sourceTree = "";
155 | };
156 | /* End PBXVariantGroup section */
157 |
158 | /* Begin XCBuildConfiguration section */
159 | 71F37426245578CE002654B7 /* Debug */ = {
160 | isa = XCBuildConfiguration;
161 | buildSettings = {
162 | ALWAYS_SEARCH_USER_PATHS = NO;
163 | CLANG_ANALYZER_NONNULL = YES;
164 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
165 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
166 | CLANG_CXX_LIBRARY = "libc++";
167 | CLANG_ENABLE_MODULES = YES;
168 | CLANG_ENABLE_OBJC_ARC = YES;
169 | CLANG_ENABLE_OBJC_WEAK = YES;
170 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
171 | CLANG_WARN_BOOL_CONVERSION = YES;
172 | CLANG_WARN_COMMA = YES;
173 | CLANG_WARN_CONSTANT_CONVERSION = YES;
174 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
175 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
176 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
177 | CLANG_WARN_EMPTY_BODY = YES;
178 | CLANG_WARN_ENUM_CONVERSION = YES;
179 | CLANG_WARN_INFINITE_RECURSION = YES;
180 | CLANG_WARN_INT_CONVERSION = YES;
181 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
182 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
183 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
184 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
185 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
186 | CLANG_WARN_STRICT_PROTOTYPES = YES;
187 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
188 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
189 | CLANG_WARN_UNREACHABLE_CODE = YES;
190 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
191 | COPY_PHASE_STRIP = NO;
192 | DEBUG_INFORMATION_FORMAT = dwarf;
193 | ENABLE_STRICT_OBJC_MSGSEND = YES;
194 | ENABLE_TESTABILITY = YES;
195 | GCC_C_LANGUAGE_STANDARD = gnu11;
196 | GCC_DYNAMIC_NO_PIC = NO;
197 | GCC_NO_COMMON_BLOCKS = YES;
198 | GCC_OPTIMIZATION_LEVEL = 0;
199 | GCC_PREPROCESSOR_DEFINITIONS = (
200 | "DEBUG=1",
201 | "$(inherited)",
202 | );
203 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
204 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
205 | GCC_WARN_UNDECLARED_SELECTOR = YES;
206 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
207 | GCC_WARN_UNUSED_FUNCTION = YES;
208 | GCC_WARN_UNUSED_VARIABLE = YES;
209 | MACOSX_DEPLOYMENT_TARGET = 10.14;
210 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
211 | MTL_FAST_MATH = YES;
212 | ONLY_ACTIVE_ARCH = YES;
213 | SDKROOT = macosx;
214 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
215 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
216 | };
217 | name = Debug;
218 | };
219 | 71F37427245578CE002654B7 /* Release */ = {
220 | isa = XCBuildConfiguration;
221 | buildSettings = {
222 | ALWAYS_SEARCH_USER_PATHS = NO;
223 | CLANG_ANALYZER_NONNULL = YES;
224 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
225 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
226 | CLANG_CXX_LIBRARY = "libc++";
227 | CLANG_ENABLE_MODULES = YES;
228 | CLANG_ENABLE_OBJC_ARC = YES;
229 | CLANG_ENABLE_OBJC_WEAK = YES;
230 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
231 | CLANG_WARN_BOOL_CONVERSION = YES;
232 | CLANG_WARN_COMMA = YES;
233 | CLANG_WARN_CONSTANT_CONVERSION = YES;
234 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
235 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
236 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
237 | CLANG_WARN_EMPTY_BODY = YES;
238 | CLANG_WARN_ENUM_CONVERSION = YES;
239 | CLANG_WARN_INFINITE_RECURSION = YES;
240 | CLANG_WARN_INT_CONVERSION = YES;
241 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
242 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
243 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
244 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
245 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
246 | CLANG_WARN_STRICT_PROTOTYPES = YES;
247 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
248 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
249 | CLANG_WARN_UNREACHABLE_CODE = YES;
250 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
251 | COPY_PHASE_STRIP = NO;
252 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
253 | ENABLE_NS_ASSERTIONS = NO;
254 | ENABLE_STRICT_OBJC_MSGSEND = YES;
255 | GCC_C_LANGUAGE_STANDARD = gnu11;
256 | GCC_NO_COMMON_BLOCKS = YES;
257 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
258 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
259 | GCC_WARN_UNDECLARED_SELECTOR = YES;
260 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
261 | GCC_WARN_UNUSED_FUNCTION = YES;
262 | GCC_WARN_UNUSED_VARIABLE = YES;
263 | MACOSX_DEPLOYMENT_TARGET = 10.14;
264 | MTL_ENABLE_DEBUG_INFO = NO;
265 | MTL_FAST_MATH = YES;
266 | SDKROOT = macosx;
267 | SWIFT_COMPILATION_MODE = wholemodule;
268 | SWIFT_OPTIMIZATION_LEVEL = "-O";
269 | };
270 | name = Release;
271 | };
272 | 71F37429245578CE002654B7 /* Debug */ = {
273 | isa = XCBuildConfiguration;
274 | buildSettings = {
275 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
276 | CODE_SIGN_ENTITLEMENTS = timestampOverlay/timestampOverlay.entitlements;
277 | CODE_SIGN_STYLE = Automatic;
278 | COMBINE_HIDPI_IMAGES = YES;
279 | DEVELOPMENT_TEAM = HZA79NQ8N6;
280 | ENABLE_HARDENED_RUNTIME = YES;
281 | INFOPLIST_FILE = timestampOverlay/Info.plist;
282 | LD_RUNPATH_SEARCH_PATHS = (
283 | "$(inherited)",
284 | "@executable_path/../Frameworks",
285 | );
286 | PRODUCT_BUNDLE_IDENTIFIER = es.fluffy.timestampOverlay;
287 | PRODUCT_NAME = "$(TARGET_NAME)";
288 | SWIFT_VERSION = 5.0;
289 | };
290 | name = Debug;
291 | };
292 | 71F3742A245578CE002654B7 /* Release */ = {
293 | isa = XCBuildConfiguration;
294 | buildSettings = {
295 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
296 | CODE_SIGN_ENTITLEMENTS = timestampOverlay/timestampOverlay.entitlements;
297 | CODE_SIGN_STYLE = Automatic;
298 | COMBINE_HIDPI_IMAGES = YES;
299 | DEVELOPMENT_TEAM = HZA79NQ8N6;
300 | ENABLE_HARDENED_RUNTIME = YES;
301 | INFOPLIST_FILE = timestampOverlay/Info.plist;
302 | LD_RUNPATH_SEARCH_PATHS = (
303 | "$(inherited)",
304 | "@executable_path/../Frameworks",
305 | );
306 | PRODUCT_BUNDLE_IDENTIFIER = es.fluffy.timestampOverlay;
307 | PRODUCT_NAME = "$(TARGET_NAME)";
308 | SWIFT_VERSION = 5.0;
309 | };
310 | name = Release;
311 | };
312 | /* End XCBuildConfiguration section */
313 |
314 | /* Begin XCConfigurationList section */
315 | 71F37413245578CD002654B7 /* Build configuration list for PBXProject "timestampOverlay" */ = {
316 | isa = XCConfigurationList;
317 | buildConfigurations = (
318 | 71F37426245578CE002654B7 /* Debug */,
319 | 71F37427245578CE002654B7 /* Release */,
320 | );
321 | defaultConfigurationIsVisible = 0;
322 | defaultConfigurationName = Release;
323 | };
324 | 71F37428245578CE002654B7 /* Build configuration list for PBXNativeTarget "timestampOverlay" */ = {
325 | isa = XCConfigurationList;
326 | buildConfigurations = (
327 | 71F37429245578CE002654B7 /* Debug */,
328 | 71F3742A245578CE002654B7 /* Release */,
329 | );
330 | defaultConfigurationIsVisible = 0;
331 | defaultConfigurationName = Release;
332 | };
333 | /* End XCConfigurationList section */
334 | };
335 | rootObject = 71F37410245578CD002654B7 /* Project object */;
336 | }
337 |
--------------------------------------------------------------------------------
/timestampOverlay/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
--------------------------------------------------------------------------------