Skip to content

Commit

Permalink
feat: support notarization and add accessibility grant button
Browse files Browse the repository at this point in the history
  • Loading branch information
Celve committed Dec 18, 2024
1 parent 28660d1 commit 4173b34
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 45 deletions.
37 changes: 4 additions & 33 deletions Peninsula.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,12 @@
/* Begin PBXBuildFile section */
64EBAF832CFECECE000429A4 /* Atomics in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF822CFECECE000429A4 /* Atomics */; };
64EBAF862CFECEE4000429A4 /* ColorfulX in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF852CFECEE4000429A4 /* ColorfulX */; };
64EBAF892CFECEF0000429A4 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF882CFECEF0000429A4 /* KeyboardShortcuts */; };
64EBAF8C2CFECEFE000429A4 /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF8B2CFECEFE000429A4 /* LaunchAtLogin */; };
64EBAF8F2CFECF09000429A4 /* Pow in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF8E2CFECF09000429A4 /* Pow */; };
64EBAF932CFECF26000429A4 /* OrderedCollections in Frameworks */ = {isa = PBXBuildFile; productRef = 64EBAF922CFECF26000429A4 /* OrderedCollections */; };
64EBAF952CFECF7E000429A4 /* SkyLight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 64EBAF942CFECF7E000429A4 /* SkyLight.framework */; };
64EBAF962CFECF7E000429A4 /* SkyLight.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 64EBAF942CFECF7E000429A4 /* SkyLight.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
64EBAF972CFECF7E000429A4 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
64EBAF962CFECF7E000429A4 /* SkyLight.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
64EBAE7F2CFECD56000429A4 /* Peninsula.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Peninsula.app; sourceTree = BUILT_PRODUCTS_DIR; };
64EBAF942CFECF7E000429A4 /* SkyLight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SkyLight.framework; path = ../../../../../System/Library/PrivateFrameworks/SkyLight.framework; sourceTree = "<group>"; };
Expand All @@ -55,7 +39,6 @@
64EBAF862CFECEE4000429A4 /* ColorfulX in Frameworks */,
64EBAF8C2CFECEFE000429A4 /* LaunchAtLogin in Frameworks */,
64EBAF952CFECF7E000429A4 /* SkyLight.framework in Frameworks */,
64EBAF892CFECEF0000429A4 /* KeyboardShortcuts in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -97,7 +80,6 @@
64EBAE7B2CFECD56000429A4 /* Sources */,
64EBAE7C2CFECD56000429A4 /* Frameworks */,
64EBAE7D2CFECD56000429A4 /* Resources */,
64EBAF972CFECF7E000429A4 /* Embed Frameworks */,
);
buildRules = (
);
Expand All @@ -110,7 +92,6 @@
packageProductDependencies = (
64EBAF822CFECECE000429A4 /* Atomics */,
64EBAF852CFECEE4000429A4 /* ColorfulX */,
64EBAF882CFECEF0000429A4 /* KeyboardShortcuts */,
64EBAF8B2CFECEFE000429A4 /* LaunchAtLogin */,
64EBAF8E2CFECF09000429A4 /* Pow */,
64EBAF922CFECF26000429A4 /* OrderedCollections */,
Expand Down Expand Up @@ -146,7 +127,6 @@
packageReferences = (
64EBAF812CFECECE000429A4 /* XCRemoteSwiftPackageReference "swift-atomics" */,
64EBAF842CFECEE4000429A4 /* XCRemoteSwiftPackageReference "ColorfulX" */,
64EBAF872CFECEF0000429A4 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */,
64EBAF8A2CFECEFE000429A4 /* XCRemoteSwiftPackageReference "LaunchAtLogin-Modern" */,
64EBAF8D2CFECF09000429A4 /* XCRemoteSwiftPackageReference "Pow" */,
64EBAF902CFECF19000429A4 /* XCRemoteSwiftPackageReference "swift-collections" */,
Expand Down Expand Up @@ -306,6 +286,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = Peninsula/Peninsula.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 6;
Expand All @@ -323,6 +304,7 @@
MARKETING_VERSION = 0.0;
PRODUCT_BUNDLE_IDENTIFIER = Celve.Peninsula;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SYSTEM_FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -338,6 +320,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = Peninsula/Peninsula.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 6;
Expand All @@ -355,6 +338,7 @@
MARKETING_VERSION = 0.0;
PRODUCT_BUNDLE_IDENTIFIER = Celve.Peninsula;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
SYSTEM_FRAMEWORK_SEARCH_PATHS = (
Expand Down Expand Up @@ -404,14 +388,6 @@
minimumVersion = 5.5.2;
};
};
64EBAF872CFECEF0000429A4 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/sindresorhus/KeyboardShortcuts";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.2.2;
};
};
64EBAF8A2CFECEFE000429A4 /* XCRemoteSwiftPackageReference "LaunchAtLogin-Modern" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/sindresorhus/LaunchAtLogin-Modern";
Expand Down Expand Up @@ -449,11 +425,6 @@
package = 64EBAF842CFECEE4000429A4 /* XCRemoteSwiftPackageReference "ColorfulX" */;
productName = ColorfulX;
};
64EBAF882CFECEF0000429A4 /* KeyboardShortcuts */ = {
isa = XCSwiftPackageProductDependency;
package = 64EBAF872CFECEF0000429A4 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */;
productName = KeyboardShortcuts;
};
64EBAF8B2CFECEFE000429A4 /* LaunchAtLogin */ = {
isa = XCSwiftPackageProductDependency;
package = 64EBAF8A2CFECEFE000429A4 /* XCRemoteSwiftPackageReference "LaunchAtLogin-Modern" */;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"originHash" : "75412907fb5f91fbc19bc0f9a0281897faec37d8224a1b432c0d61c88031274d",
"originHash" : "25998549df2f8f51ff31b7a9add7c7bcb178de04249d9ae7ec7aa62d1df2afd0",
"pins" : [
{
"identity" : "colorfulx",
Expand All @@ -19,15 +19,6 @@
"version" : "1.0.3"
}
},
{
"identity" : "keyboardshortcuts",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sindresorhus/KeyboardShortcuts",
"state" : {
"revision" : "c3c361f409b8dbe1eab186078b41c330a6a82c9a",
"version" : "2.2.2"
}
},
{
"identity" : "launchatlogin-modern",
"kind" : "remoteSourceControl",
Expand Down
15 changes: 14 additions & 1 deletion Peninsula/Notch/SettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@
// Created by 曹丁杰 on 2024/7/29.
//

import KeyboardShortcuts
import LaunchAtLogin
import SwiftUI

func accessibilityGranted() -> Bool {
return AXIsProcessTrustedWithOptions(
[kAXTrustedCheckOptionPrompt.takeRetainedValue(): false] as CFDictionary)
}


struct SettingsView: View {
@StateObject var vm: NotchViewModel
@StateObject var tvm: TrayDrop = .shared
Expand Down Expand Up @@ -60,6 +65,14 @@ struct SettingsView: View {
.frame(width: 200)
}
Spacer()
Text("Accessibility: ")
Button(action: {
if !accessibilityGranted() {
NSWorkspace.shared.open(URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")!)
}
}) {
Text("Grant")
}
}
.padding()
}
Expand Down
5 changes: 4 additions & 1 deletion Peninsula/Peninsula.entitlements
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?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/>
<dict>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>

0 comments on commit 4173b34

Please sign in to comment.