我有通常以完整的64位模式下運行支持該架構的任何Mac上Cocoa應用程序。強制Cocoa應用程序在32位模式,以開始編程
現在我有一個外部API,它只能作爲一個32位插件加載到主程序中。這個API適用於第三方輸入設備,只有一小部分用戶會購買,但這對於這一小部分很重要。
我的問題是,如果在32位模式下執行該程序只能使用此API。最簡單的做法是:
場景1:要求用戶通過Finder的獲取信息對話框更改其信息,以32位模式啓動程序。
這是很容易做到,但幾乎沒有優雅..
方案2:總是在32位模式下運行,從而避免懲罰98的問題
幾乎沒有什麼我想要做的任何..爲了一個奇特的功能,用戶的百分比。
方案3:自動改變應用程序的啓動屬性,以便它在32位模式下一次啓動時,它被推出,之後每次
或
方案4:在啓動時,建立正在使用哪個體系結構,則在32位模式下重新發射如有必要
方案3 & 4具有非常小的上記錄的問題如何做到這一點,它米ight讓我陷入麻煩與Mac App Store指南。
到目前爲止,我已經建立:
- ,使用「牌坊」的命令行工具可以讓我重新開始我的可執行文件在32位模式下
- 查找腳本不會讓我改變標誌
- 的「在32位模式下啓動」的標誌由發射服務API(http://blog.timac.org/?p=490)
- 管理,但我還沒有發現任何接口以編程方式更改標誌在發射服務API
到目前爲止,我只能看到這些選項,其中沒有顯得特別大:
- 重新推出使用NSTask應用和「牌坊」的命令行工具
- 寫入直接進入com.apple。 LaunchServices.plist
- 32位插件隔離到它自己的32位唯一的過程,並使用IPC
方案一可以讓我與金管局提交的麻煩。解決方案2在某個階段幾乎肯定會這樣做。從用戶的角度來看,只有解決方案3是完美的,但爲最小的回報增加了大量的複雜性。
任何有關如何「乾淨地」做出合理努力的建議將不勝感激!
爲什麼如果你的應用程序只有32位 - 它是否需要大量的內存(> 2 GB)? –
總是在32位模式下運行,這是一種懲罰? – hamstergene
解決方案3聽起來最好。 – spudwaffle