[英]Swift 2.2 app no longer works on macOS 10.14 Mojave
我制作了±個第三方應用程序的插件。 該插件的一部分是用Swift編寫的。 由於此問題,該插件卡在Xcode 7.3.1 / Swift 2.2 上 。
該插件不再適用於Mojave。
我們有以下觀察結果:
任何想法可能導致此問題的原因以及如何解決?
PS:追求用戶安裝較新版本的Python / PyObjC是不可行的,也不希望Apple將較新版本的Python / PyObjC與macOS捆綁在一起(因此,插件代碼庫無法升級為較新的Swift版本)。 計划將代碼從Swift遷移到Objective-C,但不會立即發生(這需要幾個月的時間)。
我設法使該插件在Mojave上運行。
nil是通過調用NSBundle的PrincipalClass返回的。 根據我對官方文檔的理解,有兩種方法可以確定PrincipalClass。
不知何故,PrincipalClass調用在High Sierra和Mojave上返回了不同的值。 就我個人而言,我看不出它應該表現出什么不同的任何原因,因為文檔沒有更改,並且邏輯聽起來完全取決於編譯插件時發生的事情,而不是取決於運行插件時環境的情況。
但是,在將NSPrincipalClass項目添加到info.plist文件之后,該插件已成功加載到Mojave上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.