Pre Merge pull request !37 from ShikiSuen/upd/1.6.2

This commit is contained in:
ShikiSuen 2022-05-25 07:38:26 +00:00 committed by Gitee
commit 00145e8cbb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
10 changed files with 129 additions and 25 deletions

View File

@ -4,6 +4,19 @@
威注音目前的 codebase 更能代表一個先進的 macOS 輸入法雛形專案的形態。目前的 dev 分支除了第三方 OpenCC 模組以外被威注音使用的部分全都是清一色的 Swift codebase一目了然方便他人參與比某些其它開源品牌旗下的專案更具程式方面的生命力。為什麼這樣講呢那些傳統開源品牌的專案主要使用 C++ 這門不太友好的語言Mandarin 模組現在對我而言仍舊是天書,一大堆針對記憶體指針的操作完全看不懂。搞不清楚在這一層之上的功能邏輯的話,就無法制定 Swift 版的 coding 策略),這也是我這次用 Swift 重寫了語言模型引擎與注音拼音並擊處理引擎、來換掉 Gramambular 與 OVMandarin 的原因(也是為後來者行方便)。 威注音目前的 codebase 更能代表一個先進的 macOS 輸入法雛形專案的形態。目前的 dev 分支除了第三方 OpenCC 模組以外被威注音使用的部分全都是清一色的 Swift codebase一目了然方便他人參與比某些其它開源品牌旗下的專案更具程式方面的生命力。為什麼這樣講呢那些傳統開源品牌的專案主要使用 C++ 這門不太友好的語言Mandarin 模組現在對我而言仍舊是天書,一大堆針對記憶體指針的操作完全看不懂。搞不清楚在這一層之上的功能邏輯的話,就無法制定 Swift 版的 coding 策略),這也是我這次用 Swift 重寫了語言模型引擎與注音拼音並擊處理引擎、來換掉 Gramambular 與 OVMandarin 的原因(也是為後來者行方便)。
## 問題提報:
因技術原因,請默認本人無法接收來自任何「需要本人使用虛擬專用網路方可使用」的途徑的輸入法問題提報。
下述問題途徑可以用來提報與輸入法有關的問題:
- 大陸用戶請洽 Gitee 倉庫的工單區https://gitee.com/vChewing/vChewing-macOS/issues
- 台澎金馬及海外用戶請洽 GitLab China 倉庫的工單區可發起非公開工單https://jihulab.com/vChewing/vChewing-macOS/-/issues/
- 如果台澎金馬用戶無法註冊 Gitee 的話,請使用 GitLab China 的工單區。
- 還可以使用電郵理論上最快shikisuen◎yeah●net
## 參與說明:
為了不讓參與者們浪費各自的熱情,特設此文以說明該專案目前最需要協助的地方。 為了不讓參與者們浪費各自的熱情,特設此文以說明該專案目前最需要協助的地方。
1. 將選字窗換成 IMK 內建的矩陣選字窗。 1. 將選字窗換成 IMK 內建的矩陣選字窗。

View File

@ -11,6 +11,10 @@
- 受威注音自家的鐵恨注音並擊引擎加持。 - 受威注音自家的鐵恨注音並擊引擎加持。
- 威注音的原廠詞庫內不存在任何可以妨礙該輸入法在世界上任何地方傳播的內容。 - 威注音的原廠詞庫內不存在任何可以妨礙該輸入法在世界上任何地方傳播的內容。
- 相比中州韻(鼠須管)而言,威注音能夠做到真正的大千聲韻並擊。 - 相比中州韻(鼠須管)而言,威注音能夠做到真正的大千聲韻並擊。
- 擁有拼音並擊模式,不懂注音的人群也可以受益於該輸入法所帶來的穩定的平均輸入速度。
- 相比小鶴雙拼等雙拼方案而言,威注音雙手聲韻分工明確、且重碼率只有雙拼的五分之一。
- 威注音對陸規審音完全相容:不熟悉台澎金馬審音的大陸用戶不會遇到與漢字讀音有關的不便。
- 反之亦然。
>威注音有很多特色功能。在此僅列舉部分: >威注音有很多特色功能。在此僅列舉部分:
>- 支援 macOS 螢幕模擬鍵盤(僅傳統大千與傳統倚天佈局)。 >- 支援 macOS 螢幕模擬鍵盤(僅傳統大千與傳統倚天佈局)。

@ -1 +1 @@
Subproject commit b92e458ddda22f43e2a0e9b0b7a2b2aa6455fab2 Subproject commit 5560b6d252259f624cd614dfec84b1cfe2e83ec4

View File

@ -23,26 +23,38 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
/// LMCore LMCoreEX range
/// range strData
/// C++ ParselessLM Swift
/// For
import Foundation import Foundation
extension vChewing { extension vChewing {
/// LMCore LMCoreEX range
/// range strData
/// C++ ParselessLM Swift
/// For
@frozen public struct LMCoreEX { @frozen public struct LMCoreEX {
/// 便 strData
var rangeMap: [String: [Range<String.Index>]] = [:] var rangeMap: [String: [Range<String.Index>]] = [:]
///
var strData: String = "" var strData: String = ""
///
var shouldReverse: Bool = false var shouldReverse: Bool = false
var allowConsolidation: Bool = false var allowConsolidation: Bool = false
///
var defaultScore: Double = 0 var defaultScore: Double = 0
///
var shouldForceDefaultScore: Bool = false var shouldForceDefaultScore: Bool = false
///
public var count: Int { public var count: Int {
rangeMap.count rangeMap.count
} }
///
///
/// - parameters:
/// - reverse:
/// - consolidate: 使
/// - defaultScore:
/// - forceDefaultScore:
public init( public init(
reverse: Bool = false, consolidate: Bool = false, defaultScore scoreDefault: Double = 0, reverse: Bool = false, consolidate: Bool = false, defaultScore scoreDefault: Double = 0,
forceDefaultScore: Bool = false forceDefaultScore: Bool = false
@ -54,10 +66,14 @@ extension vChewing {
shouldForceDefaultScore = forceDefaultScore shouldForceDefaultScore = forceDefaultScore
} }
///
public func isLoaded() -> Bool { public func isLoaded() -> Bool {
!rangeMap.isEmpty !rangeMap.isEmpty
} }
///
/// - parameters:
/// - path:
@discardableResult public mutating func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded() { if isLoaded() {
return false return false
@ -89,6 +105,7 @@ extension vChewing {
return true return true
} }
///
public mutating func close() { public mutating func close() {
if isLoaded() { if isLoaded() {
rangeMap.removeAll() rangeMap.removeAll()
@ -97,6 +114,9 @@ extension vChewing {
// MARK: - Advanced features // MARK: - Advanced features
/// macOS Console.app
///
///
public func dump() { public func dump() {
var strDump = "" var strDump = ""
for entry in rangeMap { for entry in rangeMap {
@ -110,12 +130,21 @@ extension vChewing {
IME.prtDebugIntel(strDump) IME.prtDebugIntel(strDump)
} }
/// 使 strData
///
///
/// - parameters:
/// - precedingKey:
/// - key:
public func bigramsForKeys(precedingKey: String, key: String) -> [Megrez.Bigram] { public func bigramsForKeys(precedingKey: String, key: String) -> [Megrez.Bigram] {
// Swift // Swift
// [Megrez.Bigram]() // [Megrez.Bigram]()
precedingKey == key ? [Megrez.Bigram]() : [Megrez.Bigram]() precedingKey == key ? [Megrez.Bigram]() : [Megrez.Bigram]()
} }
/// strData
/// - parameters:
/// - key:
public func unigramsFor(key: String) -> [Megrez.Unigram] { public func unigramsFor(key: String) -> [Megrez.Unigram] {
var grams: [Megrez.Unigram] = [] var grams: [Megrez.Unigram] = []
if let arrRangeRecords: [Range<String.Index>] = rangeMap[key] { if let arrRangeRecords: [Range<String.Index>] = rangeMap[key] {
@ -136,6 +165,9 @@ extension vChewing {
return grams return grams
} }
///
/// - parameters:
/// - key:
public func hasUnigramsFor(key: String) -> Bool { public func hasUnigramsFor(key: String) -> Bool {
rangeMap[key] != nil rangeMap[key] != nil
} }
@ -145,6 +177,9 @@ extension vChewing {
// MARK: - StringView Ranges Extension (by Isaac Xen) // MARK: - StringView Ranges Extension (by Isaac Xen)
extension String { extension String {
///
/// - parameters:
/// - splitBy:
fileprivate func ranges(splitBy separator: Element) -> [Range<String.Index>] { fileprivate func ranges(splitBy separator: Element) -> [Range<String.Index>] {
var startIndex = startIndex var startIndex = startIndex
return split(separator: separator).reduce(into: []) { ranges, substring in return split(separator: separator).reduce(into: []) { ranges, substring in

View File

@ -22,24 +22,40 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
/// LMCore LMCoreNS plist
/// mac
import Foundation import Foundation
extension vChewing { extension vChewing {
/// LMCore LMCoreNS plist
/// mac
/// 使 plist
@frozen public struct LMCoreNS { @frozen public struct LMCoreNS {
/// UTF8
var rangeMap: [String: [Data]] = [:] var rangeMap: [String: [Data]] = [:]
/// LMCoreNS
var strData: String = "" var strData: String = ""
///
var shouldReverse: Bool = false var shouldReverse: Bool = false
/// 使
var allowConsolidation: Bool = false var allowConsolidation: Bool = false
///
var defaultScore: Double = 0 var defaultScore: Double = 0
///
var shouldForceDefaultScore: Bool = false var shouldForceDefaultScore: Bool = false
///
public var count: Int { public var count: Int {
rangeMap.count rangeMap.count
} }
///
///
/// LMCoreNS 便
///
/// - parameters:
/// - reverse:
/// - consolidate: 使
/// - defaultScore:
/// - forceDefaultScore:
public init( public init(
reverse: Bool = false, consolidate: Bool = false, defaultScore scoreDefault: Double = 0, reverse: Bool = false, consolidate: Bool = false, defaultScore scoreDefault: Double = 0,
forceDefaultScore: Bool = false forceDefaultScore: Bool = false
@ -51,10 +67,14 @@ extension vChewing {
shouldForceDefaultScore = forceDefaultScore shouldForceDefaultScore = forceDefaultScore
} }
///
public func isLoaded() -> Bool { public func isLoaded() -> Bool {
!rangeMap.isEmpty !rangeMap.isEmpty
} }
///
/// - parameters:
/// - path:
@discardableResult public mutating func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded() { if isLoaded() {
return false return false
@ -77,6 +97,7 @@ extension vChewing {
return true return true
} }
///
public mutating func close() { public mutating func close() {
if isLoaded() { if isLoaded() {
rangeMap.removeAll() rangeMap.removeAll()
@ -85,6 +106,9 @@ extension vChewing {
// MARK: - Advanced features // MARK: - Advanced features
/// macOS Console.app
///
///
public func dump() { public func dump() {
var strDump = "" var strDump = ""
for entry in rangeMap { for entry in rangeMap {
@ -104,12 +128,21 @@ extension vChewing {
IME.prtDebugIntel(strDump) IME.prtDebugIntel(strDump)
} }
/// 使 UTF8
///
///
/// - parameters:
/// - precedingKey:
/// - key:
public func bigramsForKeys(precedingKey: String, key: String) -> [Megrez.Bigram] { public func bigramsForKeys(precedingKey: String, key: String) -> [Megrez.Bigram] {
// Swift // Swift
// [Megrez.Bigram]() // [Megrez.Bigram]()
precedingKey == key ? [Megrez.Bigram]() : [Megrez.Bigram]() precedingKey == key ? [Megrez.Bigram]() : [Megrez.Bigram]()
} }
/// UTF8
/// - parameters:
/// - key:
public func unigramsFor(key: String) -> [Megrez.Unigram] { public func unigramsFor(key: String) -> [Megrez.Unigram] {
var grams: [Megrez.Unigram] = [] var grams: [Megrez.Unigram] = []
if let arrRangeRecords: [Data] = rangeMap[cnvPhonabetToASCII(key)] { if let arrRangeRecords: [Data] = rangeMap[cnvPhonabetToASCII(key)] {
@ -131,10 +164,20 @@ extension vChewing {
return grams return grams
} }
///
/// - parameters:
/// - key:
public func hasUnigramsFor(key: String) -> Bool { public func hasUnigramsFor(key: String) -> Bool {
rangeMap[cnvPhonabetToASCII(key)] != nil rangeMap[cnvPhonabetToASCII(key)] != nil
} }
///
///
/// 使 plist
///
/// ASCII
/// - parameters:
/// - incoming:
func cnvPhonabetToASCII(_ incoming: String) -> String { func cnvPhonabetToASCII(_ incoming: String) -> String {
let dicPhonabet2ASCII = [ let dicPhonabet2ASCII = [
"": "b", "": "p", "": "m", "": "f", "": "d", "": "t", "": "n", "": "l", "": "g", "": "k", "": "h", "": "b", "": "p", "": "m", "": "f", "": "d", "": "t", "": "n", "": "l", "": "g", "": "k", "": "h",
@ -151,6 +194,11 @@ extension vChewing {
return strOutput return strOutput
} }
///
///
/// ASCII
/// - parameters:
/// - incoming:
func restorePhonabetFromASCII(_ incoming: String) -> String { func restorePhonabetFromASCII(_ incoming: String) -> String {
let dicPhonabet4ASCII = [ let dicPhonabet4ASCII = [
"b": "", "p": "", "m": "", "f": "", "d": "", "t": "", "n": "", "l": "", "g": "", "k": "", "h": "", "b": "", "p": "", "m": "", "f": "", "d": "", "t": "", "n": "", "l": "", "g": "", "k": "", "h": "",

View File

@ -179,7 +179,7 @@ extension Megrez {
for (i, n) in nodes.enumerated() { for (i, n) in nodes.enumerated() {
// X NodeAnchor node // X NodeAnchor node
// abs // abs
if abs(nodesLimit) > 0, i == abs(nodesLimit) - 1 { if abs(nodesLimit) > 0, i == abs(nodesLimit) {
break break
} }

View File

@ -84,6 +84,10 @@ extension Megrez {
$0.score > $1.score $0.score > $1.score
} }
if mutUnigrams.count > 0 {
mutScore = mutUnigrams[0].score
}
for (i, gram) in mutUnigrams.enumerated() { for (i, gram) in mutUnigrams.enumerated() {
mutValueUnigramIndexMap[gram.keyValue.value] = i mutValueUnigramIndexMap[gram.keyValue.value] = i
mutCandidates.append(gram.keyValue) mutCandidates.append(gram.keyValue)

View File

@ -3,9 +3,9 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.6.1</string> <string>1.6.2</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1961</string> <string>1962</string>
<key>UpdateInfoEndpoint</key> <key>UpdateInfoEndpoint</key>
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string> <string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
<key>UpdateInfoSite</key> <key>UpdateInfoSite</key>

View File

@ -726,7 +726,7 @@
<key>USE_HFS+_COMPRESSION</key> <key>USE_HFS+_COMPRESSION</key>
<false/> <false/>
<key>VERSION</key> <key>VERSION</key>
<string>1.6.1</string> <string>1.6.2</string>
</dict> </dict>
<key>TYPE</key> <key>TYPE</key>
<integer>0</integer> <integer>0</integer>

View File

@ -1296,7 +1296,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
@ -1319,7 +1319,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.vChewing.vChewingPhraseEditor; PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.vChewing.vChewingPhraseEditor;
@ -1352,7 +1352,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
@ -1371,7 +1371,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.vChewing.vChewingPhraseEditor; PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.vChewing.vChewingPhraseEditor;
@ -1486,7 +1486,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
@ -1521,7 +1521,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing; PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -1553,7 +1553,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
@ -1583,7 +1583,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing; PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -1666,7 +1666,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
@ -1691,7 +1691,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "org.atelierInmu.vChewing.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_BUNDLE_IDENTIFIER = "org.atelierInmu.vChewing.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -1718,7 +1718,7 @@
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1961; CURRENT_PROJECT_VERSION = 1962;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
@ -1738,7 +1738,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.11.5; MACOSX_DEPLOYMENT_TARGET = 10.11.5;
MARKETING_VERSION = 1.6.1; MARKETING_VERSION = 1.6.2;
PRODUCT_BUNDLE_IDENTIFIER = "org.atelierInmu.vChewing.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_BUNDLE_IDENTIFIER = "org.atelierInmu.vChewing.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";