diff --git a/.gitignore b/.gitignore index d66f26a..f70d402 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ .DS_Store arm64 x86_64 +build Caffeine Caffeine.app +ids +src/tags diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4068edc --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +APPLE_ID := $(shell cat ./ids/APPLE_ID) +TEAM_ID := $(shell cat ./ids/TEAM_ID) +APP_SPECIFIC_PASSWORD := $(shell cat ./ids/APP_SPECIFIC_PASSWORD) + +exe = Caffeine + +$(exe).app: + $(MAKE) -C src FLAGS=-O CFLAGS=-O3 default + +container: + ditto -c -k --keepParent ./src/$(exe).app ./build/$(exe).zip + +notarize: + xcrun notarytool submit ./build/$(exe).zip \ + --apple-id "$(APPLE_ID)" --team-id "$(TEAM_ID)" \ + --password "$(APP_SPECIFIC_PASSWORD)" --wait + +staple: + cd build && \ + ditto -xk $(exe).zip . && \ + rm $(exe).zip && \ + xcrun stapler staple $(exe).app + +zip: + cd build && \ + ditto -c -k --keepParent $(exe).app $(exe).zip + +dmg: + cp background.png build && cd build && \ + create-dmg --volname "$(exe) Installer" --window-size 600 400 \ + --background "background.png" --icon "$(exe).app" 200 170 \ + --app-drop-link 400 170 --icon-size 100 "$(exe).dmg" "$(exe)" + rm build/background.png + +all: $(exe).app container notarize staple zip dmg + +status: + @echo 'xcrun notarytool log "" --apple-id "$(APPLE_ID)" --team-id "$(TEAM_ID)" --password "$(APP_SPECIFIC_PASSWORD)" developer_log.json' + +clean: + rm -rf build + +clean-all: clean + mkdir build + @$(MAKE) -C src clean-all diff --git a/src/AboutViewController.m b/src/AboutViewController.m index 19d8278..94d8e79 100644 --- a/src/AboutViewController.m +++ b/src/AboutViewController.m @@ -56,7 +56,7 @@ [_versionLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _copyrightLabel = [[NSTextField labelWithString: - @"Copyright © 2025\nGarikMI. All rights reserved."] retain]; + @"Copyright © 2026 Rednera.\nAll rights reserved."] retain]; [_copyrightLabel setFont:_fontSubheadline]; [_copyrightLabel setTextColor:[NSColor systemGrayColor]]; [_copyrightLabel setAlignment:NSTextAlignmentCenter]; diff --git a/src/Info.plist b/src/Info.plist index 0731171..65fdbcb 100644 --- a/src/Info.plist +++ b/src/Info.plist @@ -11,7 +11,7 @@ CFBundleIconName AppIcon CFBundleIdentifier - com.garikme.Caffeine + com.rednera.Caffeine CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -19,13 +19,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.2 + 0.1.0 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 0.2 + 0.1.0 DTPlatformName macosx DTPlatformVersion @@ -40,5 +40,7 @@ NSPrincipalClass NSApplication + NSHumanReadableCopyright + Copyright © 2026 Rednera. All rights reserved. diff --git a/src/Makefile b/src/Makefile index 80f6012..09873a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,3 +1,6 @@ +APPLE_DEVELOPMENT := $(shell cat ../ids/APPLE_DEVELOPMENT) +APPLE_DEVELOPER_ID_APPLICATION := $(shell cat ../ids/APPLE_DEVELOPER_ID_APPLICATION) + CC = clang FLAGS = -fno-objc-arc -Wall -Wextra -Wunguarded-availability \ -Werror=unguarded-availability -glldb -fno-caret-diagnostics \ @@ -27,7 +30,11 @@ $(EXEC).app: $(EXEC) mkdir -p $@/Contents/Resources/ && \ cp Info.plist $@/Contents/ && \ cp resources/AppIcon.icns $@/Contents/Resources/ && \ - cp $(EXEC) $@/Contents/MacOS/ + cp $(EXEC) $@/Contents/MacOS/ && \ + $(if $(DEBUG), codesign --entitlements $(EXEC).entitlements \ + -s ${APPLE_DEVELOPMENT} -f --timestamp -o runtime $(EXEC).app, \ + codesign -s ${APPLE_DEVELOPER_ID_APPLICATION} -f --timestamp \ + -o runtime $(EXEC).app) # Requires universal-ctags for Objective-C. ctags: @@ -35,4 +42,3 @@ ctags: clean: rm -rf $(EXEC) $(EXEC).dSYM $(EXEC).app -