我第一次嘗試將 C# Windows 應用程式移植到 macOS 12 Monterey。它的功能之一是設定自動啟動,這是通過 Windows 注冊表完成的。我發現在 macOS 上這是通過launchd
/完成的launchctl
,所以我嘗試先手動設定它。我已使用以下配置將檔案添加到.plist
檔案夾中:/Library/LaunchAgents
<plist version="1.0">
<dict>
<key>Label</key>
<string>application</string>
<key>RunAtLoad</key>
<true />
<key>Program</key>
<string>/Users/user/Desktop/osx-x64/application</string>
</dict>
</plist>
我試圖通過終端啟用此配置launchctl load /Users/user/Library/LaunchAgents/application.plist
,但總是拋出Load failed: 5: Input/output error
。發現它是一個不推薦使用的功能,我嘗試launchctl kickstart
使用這個檔案,它遇到了Could not find service "application" in domain for user gui: 501
. 這可能與檔案權限有關嗎?
我發現的大部分資訊都指的是不再存在的檔案,因此任何有關如何在蒙特雷實作自動啟動的資訊都將不勝感激。
uj5u.com熱心網友回復:
輸入/輸出錯誤意味著您提供的 .plist 檔案在 xml 方式或目標方式中都不正確。
您可以在此處閱讀所有這些內容,我將發布一些建議,這些建議應該對這種特定情況有所幫助。他們中的一些人沒有必要完成這項作業,但相信我,最好留在他們身邊。
- 使用完整的 xml 標頭。(上面網站上的例子)
- Label 值必須與 plist 檔案名相同。它也幾乎總是一個bundle id。因此,將其設為 com.my.application.plist,Label 欄位的值應為 com.my.application
- 不要在不需要的地方使用空格,例如 true/,not true/
- 程式路徑應該是 unix 二進制檔案的路徑。嘗試,如果您可以使用此路徑從終端啟動您的應用程式 /Users/user/Desktop/osx-x64/application 如果沒有,您需要首先解決此問題。
這應該適合你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470504.html