2.8.5 SP2 // Bug fixes. Merge PR#168 from upd/2.8.5sp2

This commit is contained in:
ShikiSuen 2022-10-03 14:52:39 +08:00 committed by GitHub
commit e9ec97269d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 151 additions and 65 deletions

View File

@ -184,7 +184,6 @@ public class CandidatePool {
var indexSpecified = indexSpecified
highlightedIndex = indexSpecified
if !(0..<candidateDataAll.count).contains(highlightedIndex) {
NSSound.beep()
switch highlightedIndex {
case candidateDataAll.count...:
currentRowNumber = candidateRows.count - 1
@ -218,7 +217,6 @@ public class CandidatePool {
var indexSpecified = indexSpecified
highlightedIndex = indexSpecified
if !(0..<candidateDataAll.count).contains(highlightedIndex) {
NSSound.beep()
switch highlightedIndex {
case candidateDataAll.count...:
currentColumnNumber = candidateColumns.count - 1

View File

@ -89,6 +89,12 @@ public class CtlCandidateTDK: CtlCandidate {
}
@discardableResult override public func showNextPage() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == thePoolHorizontal.candidateRows.count - 1)
|| (currentLayout == .vertical
&& thePoolVertical.currentColumnNumber == thePoolVertical.candidateColumns.count - 1)
{
return highlightNextCandidate()
}
switch currentLayout {
case .horizontal:
for _ in 0..<thePoolHorizontal.maximumRowsPerPage {
@ -105,7 +111,31 @@ public class CtlCandidateTDK: CtlCandidate {
return true
}
@discardableResult override public func showNextLine() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == thePoolHorizontal.candidateRows.count - 1)
|| (currentLayout == .vertical
&& thePoolVertical.currentColumnNumber == thePoolVertical.candidateColumns.count - 1)
{
return highlightNextCandidate()
}
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .down)
case .vertical:
thePoolVertical.selectNewNeighborColumn(direction: .right)
@unknown default:
return false
}
updateDisplay()
return true
}
@discardableResult override public func showPreviousPage() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == 0)
|| (currentLayout == .vertical && thePoolVertical.currentColumnNumber == 0)
{
return highlightPreviousCandidate()
}
switch currentLayout {
case .horizontal:
for _ in 0..<thePoolHorizontal.maximumRowsPerPage {
@ -122,20 +152,12 @@ public class CtlCandidateTDK: CtlCandidate {
return true
}
@discardableResult override public func showNextLine() -> Bool {
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .down)
case .vertical:
thePoolVertical.selectNewNeighborColumn(direction: .right)
@unknown default:
return false
}
updateDisplay()
return true
}
@discardableResult override public func showPreviousLine() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == 0)
|| (currentLayout == .vertical && thePoolVertical.currentColumnNumber == 0)
{
return highlightPreviousCandidate()
}
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .up)
@ -151,8 +173,18 @@ public class CtlCandidateTDK: CtlCandidate {
@discardableResult override public func highlightNextCandidate() -> Bool {
switch currentLayout {
case .horizontal:
if thePoolHorizontal.highlightedIndex == thePoolHorizontal.candidateDataAll.count - 1 {
thePoolHorizontal.highlightHorizontal(at: 0)
delegate?.buzz()
break
}
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.highlightedIndex + 1)
case .vertical:
if thePoolVertical.highlightedIndex == thePoolVertical.candidateDataAll.count - 1 {
thePoolVertical.highlightVertical(at: 0)
delegate?.buzz()
break
}
thePoolVertical.highlightVertical(at: thePoolVertical.highlightedIndex + 1)
@unknown default:
return false
@ -164,8 +196,18 @@ public class CtlCandidateTDK: CtlCandidate {
@discardableResult override public func highlightPreviousCandidate() -> Bool {
switch currentLayout {
case .horizontal:
if thePoolHorizontal.highlightedIndex == 0 {
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.candidateDataAll.count - 1)
delegate?.buzz()
break
}
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.highlightedIndex - 1)
case .vertical:
if thePoolVertical.highlightedIndex == 0 {
thePoolVertical.highlightVertical(at: thePoolVertical.candidateDataAll.count - 1)
delegate?.buzz()
break
}
thePoolVertical.highlightVertical(at: thePoolVertical.highlightedIndex - 1)
@unknown default:
return false
@ -179,11 +221,11 @@ public class CtlCandidateTDK: CtlCandidate {
case .horizontal:
let currentRow = thePoolHorizontal.candidateRows[thePoolHorizontal.currentRowNumber]
let actualID = max(0, min(id, currentRow.count - 1))
return thePoolHorizontal.candidateRows[thePoolHorizontal.currentRowNumber][actualID].index
return currentRow[actualID].index
case .vertical:
let currentColumn = thePoolVertical.candidateColumns[thePoolVertical.currentColumnNumber]
let actualID = max(0, min(id, currentColumn.count - 1))
return thePoolVertical.candidateColumns[thePoolVertical.currentColumnNumber][actualID].index
return currentColumn[actualID].index
@unknown default:
return 0
}

View File

@ -154,10 +154,13 @@ extension vChewingLM.LMUserOverride {
// MARK: - Hash and Dehash the entire UOM data, etc.
extension vChewingLM.LMUserOverride {
public func bleachSpecifiedSuggestions(target: String, saveCallback: @escaping () -> Void) {
public func bleachSpecifiedSuggestions(targets: [String], saveCallback: @escaping () -> Void) {
if targets.isEmpty { return }
for neta in mutLRUMap {
if neta.value.observation.overrides.keys.contains(target) {
mutLRUMap.removeValue(forKey: neta.key)
for target in targets {
if neta.value.observation.overrides.keys.contains(target) {
mutLRUMap.removeValue(forKey: neta.key)
}
}
}
resetMRUList()

View File

@ -91,6 +91,12 @@ public class CtlCandidateTDKBackports: CtlCandidate {
}
@discardableResult override public func showNextPage() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == thePoolHorizontal.candidateRows.count - 1)
|| (currentLayout == .vertical
&& thePoolVertical.currentColumnNumber == thePoolVertical.candidateColumns.count - 1)
{
return highlightNextCandidate()
}
switch currentLayout {
case .horizontal:
for _ in 0..<thePoolHorizontal.maximumRowsPerPage {
@ -107,7 +113,31 @@ public class CtlCandidateTDKBackports: CtlCandidate {
return true
}
@discardableResult override public func showNextLine() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == thePoolHorizontal.candidateRows.count - 1)
|| (currentLayout == .vertical
&& thePoolVertical.currentColumnNumber == thePoolVertical.candidateColumns.count - 1)
{
return highlightNextCandidate()
}
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .down)
case .vertical:
thePoolVertical.selectNewNeighborColumn(direction: .right)
@unknown default:
return false
}
updateDisplay()
return true
}
@discardableResult override public func showPreviousPage() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == 0)
|| (currentLayout == .vertical && thePoolVertical.currentColumnNumber == 0)
{
return highlightPreviousCandidate()
}
switch currentLayout {
case .horizontal:
for _ in 0..<thePoolHorizontal.maximumRowsPerPage {
@ -124,20 +154,12 @@ public class CtlCandidateTDKBackports: CtlCandidate {
return true
}
@discardableResult override public func showNextLine() -> Bool {
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .down)
case .vertical:
thePoolVertical.selectNewNeighborColumn(direction: .right)
@unknown default:
return false
}
updateDisplay()
return true
}
@discardableResult override public func showPreviousLine() -> Bool {
if (currentLayout == .horizontal && thePoolHorizontal.currentRowNumber == 0)
|| (currentLayout == .vertical && thePoolVertical.currentColumnNumber == 0)
{
return highlightPreviousCandidate()
}
switch currentLayout {
case .horizontal:
thePoolHorizontal.selectNewNeighborRow(direction: .up)
@ -153,8 +175,18 @@ public class CtlCandidateTDKBackports: CtlCandidate {
@discardableResult override public func highlightNextCandidate() -> Bool {
switch currentLayout {
case .horizontal:
if thePoolHorizontal.highlightedIndex == thePoolHorizontal.candidateDataAll.count - 1 {
thePoolHorizontal.highlightHorizontal(at: 0)
delegate?.buzz()
break
}
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.highlightedIndex + 1)
case .vertical:
if thePoolVertical.highlightedIndex == thePoolVertical.candidateDataAll.count - 1 {
thePoolVertical.highlightVertical(at: 0)
delegate?.buzz()
break
}
thePoolVertical.highlightVertical(at: thePoolVertical.highlightedIndex + 1)
@unknown default:
return false
@ -166,8 +198,18 @@ public class CtlCandidateTDKBackports: CtlCandidate {
@discardableResult override public func highlightPreviousCandidate() -> Bool {
switch currentLayout {
case .horizontal:
if thePoolHorizontal.highlightedIndex == 0 {
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.candidateDataAll.count - 1)
delegate?.buzz()
break
}
thePoolHorizontal.highlightHorizontal(at: thePoolHorizontal.highlightedIndex - 1)
case .vertical:
if thePoolVertical.highlightedIndex == 0 {
thePoolVertical.highlightVertical(at: thePoolVertical.candidateDataAll.count - 1)
delegate?.buzz()
break
}
thePoolVertical.highlightVertical(at: thePoolVertical.highlightedIndex - 1)
@unknown default:
return false
@ -181,11 +223,11 @@ public class CtlCandidateTDKBackports: CtlCandidate {
case .horizontal:
let currentRow = thePoolHorizontal.candidateRows[thePoolHorizontal.currentRowNumber]
let actualID = max(0, min(id, currentRow.count - 1))
return thePoolHorizontal.candidateRows[thePoolHorizontal.currentRowNumber][actualID].index
return currentRow[actualID].index
case .vertical:
let currentColumn = thePoolVertical.candidateColumns[thePoolVertical.currentColumnNumber]
let actualID = max(0, min(id, currentColumn.count - 1))
return thePoolVertical.candidateColumns[thePoolVertical.currentColumnNumber][actualID].index
return currentColumn[actualID].index
@unknown default:
return 0
}

View File

@ -222,7 +222,7 @@ extension KeyHandler {
}
}
// MARK: (Associated Phrases)
// MARK: (Associated Phrases)
if state.type == .ofAssociates {
if !input.isShiftHold { return false }

View File

@ -610,12 +610,12 @@ public enum LMMgr {
group.notify(queue: DispatchQueue.main) {}
}
public static func bleachSpecifiedSuggestions(target: String, mode: Shared.InputMode) {
public static func bleachSpecifiedSuggestions(targets: [String], mode: Shared.InputMode) {
switch mode {
case .imeModeCHS:
Self.uomCHT.bleachSpecifiedSuggestions(target: target, saveCallback: { Self.uomCHT.saveData() })
Self.uomCHT.bleachSpecifiedSuggestions(targets: targets, saveCallback: { Self.uomCHT.saveData() })
case .imeModeCHT:
Self.uomCHS.bleachSpecifiedSuggestions(target: target, saveCallback: { Self.uomCHS.saveData() })
Self.uomCHS.bleachSpecifiedSuggestions(targets: targets, saveCallback: { Self.uomCHS.saveData() })
case .imeModeNULL:
break
}

View File

@ -13,11 +13,11 @@ import Shared
extension PrefMgr {
public func fixOddPreferences() {
// macOS 10.15 使 SwiftUI
if #unavailable(macOS 10.15) { useIMKCandidateWindow = true }
if #unavailable(macOS 10.15) {
useIMKCandidateWindow = true
handleDefaultCandidateFontsByLangIdentifier = false
shiftKeyAccommodationBehavior = 0
disableShiftTogglingAlphanumericalMode = false
disableShiftTogglingAlphanumericalMode = true
togglingAlphanumericalModeWithLShift = false
}
// ( didSet )

View File

@ -68,6 +68,7 @@ class SessionCtl: IMKInputController {
var state: IMEStateProtocol = IMEState.ofEmpty() {
didSet {
vCLog("Current State: \(state.type.rawValue)")
setKeyLayout()
}
}
@ -134,7 +135,7 @@ extension SessionCtl {
///
func setKeyLayout() {
guard let client = client() else { return }
if isASCIIMode, IMKHelper.isDynamicBasicKeyboardLayoutEnabled {
if (isASCIIMode && IMKHelper.isDynamicBasicKeyboardLayoutEnabled) || state.isCandidateContainer {
client.overrideKeyboard(withKeyboardNamed: PrefMgr.shared.alphanumericalKeyboardLayout)
return
}

View File

@ -43,8 +43,8 @@ extension SessionCtl: KeyHandlerDelegate {
let rawPair = state.data.userPhraseKVPair
let valueCurrent = rawPair.1
let valueReversed = ChineseConverter.crossConvert(rawPair.1)
LMMgr.bleachSpecifiedSuggestions(target: valueCurrent, mode: IMEApp.currentInputMode)
LMMgr.bleachSpecifiedSuggestions(target: valueReversed, mode: IMEApp.currentInputMode.reversed)
LMMgr.bleachSpecifiedSuggestions(targets: [valueCurrent], mode: IMEApp.currentInputMode)
LMMgr.bleachSpecifiedSuggestions(targets: [valueReversed], mode: IMEApp.currentInputMode.reversed)
//
return true
}

View File

@ -102,7 +102,7 @@ extension SessionCtl {
action: #selector(openUserDataFolder(_:)), keyEquivalent: ""
)
menu.addItem(
withTitle: NSLocalizedString("Edit User Phrases…", comment: ""),
withTitle: NSLocalizedString("Edit vChewing User Phrases…", comment: ""),
action: #selector(openUserPhrases(_:)), keyEquivalent: ""
)
menu.addItem(

View File

@ -225,7 +225,7 @@ struct suiPrefPaneKeyboard: View {
HStack {
Text(
NSLocalizedString(
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only.",
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only.",
comment: ""
)
)

View File

@ -39,7 +39,7 @@
"NotificationSwitchON" = "✔ ON";
"NotificationSwitchOFF" = "✘ OFF";
"NotificationSwitchASCII" = "↺ Switched";
"Edit User Phrases…" = "Edit User Phrases…";
"Edit vChewing User Phrases…" = "Edit vChewing User Phrases…";
"Reload User Phrases" = "Reload User Phrases";
"Unable to create the user phrase file." = "Unable to create the user phrase file.";
"Please check the permission at \"%@\"." = "Please check the permission at \"%@\".";
@ -144,7 +144,7 @@
"Choose the behavior of (Shift+)Tab key in the candidate window." = "Choose the behavior of (Shift+)Tab key in the candidate window.";
"Choose the behavior of Shift+Letter key with letter inputs." = "Choose the behavior of Shift+Letter key with letter inputs.";
"Choose the cursor position where you want to list possible candidates." = "Choose the cursor position where you want to list possible candidates.";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only.";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only.";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only." = "Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only.";
"Choose the phonetic layout for Mandarin parser." = "Choose the phonetic layout for Mandarin parser.";
"Choose your desired user data folder path. Will be omitted if invalid." = "Choose your desired user data folder path. Will be omitted if invalid.";

View File

@ -39,7 +39,7 @@
"NotificationSwitchON" = "✔ ON";
"NotificationSwitchOFF" = "✘ OFF";
"NotificationSwitchASCII" = "↺ Switched";
"Edit User Phrases…" = "Edit User Phrases…";
"Edit vChewing User Phrases…" = "Edit vChewing User Phrases…";
"Reload User Phrases" = "Reload User Phrases";
"Unable to create the user phrase file." = "Unable to create the user phrase file.";
"Please check the permission at \"%@\"." = "Please check the permission at \"%@\".";
@ -144,7 +144,7 @@
"Choose the behavior of (Shift+)Tab key in the candidate window." = "Choose the behavior of (Shift+)Tab key in the candidate window.";
"Choose the behavior of Shift+Letter key with letter inputs." = "Choose the behavior of Shift+Letter key with letter inputs.";
"Choose the cursor position where you want to list possible candidates." = "Choose the cursor position where you want to list possible candidates.";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only.";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only." = "Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only.";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only." = "Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only.";
"Choose the phonetic layout for Mandarin parser." = "Choose the phonetic layout for Mandarin parser.";
"Choose your desired user data folder path. Will be omitted if invalid." = "Choose your desired user data folder path. Will be omitted if invalid.";

View File

@ -39,7 +39,7 @@
"NotificationSwitchON" = "✔ 機能起動";
"NotificationSwitchOFF" = "✘ 機能停止";
"NotificationSwitchASCII" = "↺ 切替完了";
"Edit User Phrases…" = "ユーザー辞書を編集…";
"Edit vChewing User Phrases…" = "威注音ユーザー辞書を編集…";
"Reload User Phrases" = "ユーザー辞書を再び読込む";
"Unable to create the user phrase file." = "ユーザー辞書ファイルの作成は失敗しました。";
"Please check the permission at \"%@\"." = "「%@」に書き出す権限は不足らしい。";
@ -144,7 +144,7 @@
"Choose the behavior of (Shift+)Tab key in the candidate window." = "入力候補陳列での (Shift+)Tab キーの輪番切替対象をご指定ください。";
"Choose the behavior of Shift+Letter key with letter inputs." = "Shift+文字キーの行為をご指定ください。";
"Choose the cursor position where you want to list possible candidates." = "カーソルはどこで入力候補を呼び出すかとご指定ださい。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only." = "macOS 英数キーボード配置をご指定ください。英数入力モードだけに使われる配置である。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only." = "macOS 英数キーボード配置をご指定ください。文字候補の選択と英数入力モードだけに使われる配置である。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only." = "macOS 基礎キーボード配置をご指定ください。QWERTY 以外の英数キーボードは弁音以外の配列に不適用。";
"Choose the phonetic layout for Mandarin parser." = "共通語分析器の注音配列をご指定ください。";
"Choose your desired user data folder path. Will be omitted if invalid." = "欲しがるユーザー辞書保存先をご指定ください。無効なる保存先設定は省かれる。";

View File

@ -39,7 +39,7 @@
"NotificationSwitchON" = "✔ 已启用";
"NotificationSwitchOFF" = "✘ 已停用";
"NotificationSwitchASCII" = "↺ 切换完毕";
"Edit User Phrases…" = "编辑自订语汇…";
"Edit vChewing User Phrases…" = "编辑威注音自订语汇…";
"Reload User Phrases" = "重载自订语汇";
"Unable to create the user phrase file." = "无法创建自订语汇档案。";
"Please check the permission at \"%@\"." = "请检查此处的存取权限:\"%@\".";
@ -144,7 +144,7 @@
"Choose the behavior of (Shift+)Tab key in the candidate window." = "指定 (Shift+)Tab 在选字窗内的轮替操作对象。";
"Choose the behavior of Shift+Letter key with letter inputs." = "指定 Shift+字母键 的行为。";
"Choose the cursor position where you want to list possible candidates." = "请选择用以触发选字的游标相对位置。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only." = "请选择 macOS 英数键盘布局。该布局仅用于英数输入模式。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only." = "请选择 macOS 英数键盘布局。该布局仅用于选字窗和英数输入模式。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only." = "请选择 macOS 基础键盘布局。QWERTY 以外的英数布局是为了拼音排列使用者而准备的。";
"Choose the phonetic layout for Mandarin parser." = "请指定普通话/国音分析器所使用的注音排列。";
"Choose your desired user data folder path. Will be omitted if invalid." = "请在此指定您想指定的使用者语汇档案目录。无效值会被忽略。";

View File

@ -39,7 +39,7 @@
"NotificationSwitchON" = "✔ 已啟用";
"NotificationSwitchOFF" = "✘ 已停用";
"NotificationSwitchASCII" = "↺ 切換完畢";
"Edit User Phrases…" = "編輯自訂語彙…";
"Edit vChewing User Phrases…" = "編輯威注音自訂語彙…";
"Reload User Phrases" = "重載自訂語彙";
"Unable to create the user phrase file." = "無法創建自訂語彙檔案。";
"Please check the permission at \"%@\"." = "請檢查此處的存取權限:\"%@\".";
@ -144,7 +144,7 @@
"Choose the behavior of (Shift+)Tab key in the candidate window." = "指定 (Shift+)Tab 在選字窗內的輪替操作對象。";
"Choose the behavior of Shift+Letter key with letter inputs." = "指定 Shift+字母鍵 的行為。";
"Choose the cursor position where you want to list possible candidates." = "請選擇用以觸發選字的游標相對位置。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for the alphanumerical mode only." = "請選擇 macOS 英數鍵盤佈局。該佈局僅用於英數輸入模式。";
"Choose the macOS-level alphanumerical keyboard layout. This setting is for candidate window and the alphanumerical mode only." = "請選擇 macOS 英數鍵盤佈局。該佈局僅用於選字窗和英數輸入模式。";
"Choose the macOS-level basic keyboard layout. Non-QWERTY alphanumerical keyboard layouts are for Pinyin parser only." = "請選擇 macOS 基礎鍵盤佈局。QWERTY 以外的英數佈局是為了拼音排列使用者而準備的。";
"Choose the phonetic layout for Mandarin parser." = "請指定普通話/國音分析器所使用的注音排列。";
"Choose your desired user data folder path. Will be omitted if invalid." = "請在此指定您想指定的使用者語彙檔案目錄。無效值會被忽略。";

View File

@ -5,7 +5,7 @@
<key>CFBundleShortVersionString</key>
<string>2.8.5</string>
<key>CFBundleVersion</key>
<string>2851</string>
<string>2852</string>
<key>UpdateInfoEndpoint</key>
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
<key>UpdateInfoSite</key>

View File

@ -1272,7 +1272,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
@ -1312,7 +1312,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@ -1351,7 +1351,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@ -1404,7 +1404,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_NS_ASSERTIONS = NO;
@ -1539,7 +1539,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@ -1600,7 +1600,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@ -1648,7 +1648,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;
@ -1694,7 +1694,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2851;
CURRENT_PROJECT_VERSION = 2852;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;