2014-07-25 86 views
1

我剛剛嘗試將OSX應用程序轉換爲沙盒應用程序。該應用程序支持10.5以上,並具有手動內存管理。在轉換之後,我通過在Xcode 4.3中運行它進行了測試。OS X應用程序測試沙盒侵犯

控制檯現在不顯示違規。是否足以斷定該應用程序沒有沙箱侵犯,或者在將應用程序提交給Mac App Store之前是否有任何其他流程來查找沙盒違規?另外,保留手動內存管理還是應該啓用ARC?

謝謝。

回答

0

要檢查應用程序二進制是沙箱:

codesign -dvvv --entitlements :- executable_path 

To observe sandbox violations during testing

  1. 打開控制檯應用程序(在/ Applications/Utilities中/可用),並確保所有郵件被選中側邊欄。

  2. 在控制檯窗口的篩選字段中,輸入sandboxd以僅顯示應用沙盒違例。

  3. sandboxd是報告沙盒違例的App Sandbox守護程序的名稱。相關的消息,顯示在控制檯中,類似於以下內容:

sandboxd console logs

您還可以使用Xcode的組織者的驗證嚮導無需提交應用程序的Mac應用程序執行App Store的驗證檢查商店。這可能會執行一些沙箱檢查。

產品>歸檔>管理器>「驗證...」

此外,有確定離開手動內存管理,因爲它是,還是應該ARC必須啓用?

是的,可以使用「手動保留釋放」(MRR)而不是自動引用計數(ARC)來發布新應用程序,這很好。