2012-11-01 73 views
1

我的應用程序由兩個可執行文件Mac App Store中的輔助工具沙盒

  • 主要的應用程序的可執行文件的
  • 小控制檯應用程序來處理一些文件,這個可執行文件是資源文件夾(不需要root權限)

的事情是,我不知道如何提交這個程序的AppStore,我從蘋果以下響應

無效簽名 - 路徑appname.app上的主應用程序包應用程序已簽名,但簽名無效。以下錯誤(S),從協同設計報告: 一個密封的資源丟失或無效 在架構:I386

如果我刪除助手應用程序,它繞過這個錯誤,但應用程序將無法工作。任何人都知道如何嵌入助手應用程序的好方法或示例,並正確地將其簽名到appstore?

蘋果文檔不清楚這一點。

回答

5

您需要登錄後兩者主要的應用程序和輔助控制檯工具

簽名的.app文件記錄,以便我介紹你如何協同設計幫手。

  • 手工創建一個文件的權利,並把它添加到輔助項目(您可以複製從主應用程序中的一個和消除不必要的權利鍵)
  • 創建一個Info.plist作爲Adding an Info.plist to Single-File Tools記錄(這一步應該是不是強制性的,但如果你找到幫手崩潰試圖添加)

如果主應用程序啓動的輔助工具,你應該需要添加

com.apple.security.inherit 

這是在Enabling App Sandbox Inheritance

如果主要應用在一些其他的方式幫助相互作用也許你需要XPC通信,或者如果你是幸運這將是足夠使用App Group

喜歡的東西

<key>com.apple.security.application-groups</key> 
<array> 
    <string>$(TeamIdentifierPrefix)my.package</string> 
</array> 

描述看看AppSandboxLoginItemXPCDemo

從我的經驗TeamIdentifierPrefix必須在開發環境中爲空,並設置爲您的team id當您提交給MAS時,請小心處理我在TeamIdentifierPrefix上的注意事項(即嘗試自己)

+0

我沒有輔助工具的來源,它的控制檯應用程序,在這種情況下我能做些什麼? – dalexsoto

+0

這是一個問題,你可以簽署二進制文件,但不知道如何添加plist – dafi

+0

如果你沒有輔助應用程序的源碼,但只有二進制文件,你可以添加新的運行腳本生成階段到你的主要目標以下命令 /usr/bin/codesign --force --sign「$ CODE_SIGN_IDENTITY」-i「」--entitlement「$ PROJECT_DIR/」「$ BUILD_DIR/$ CONFIGURATION/$ EXECUTABLE_FOLDER_PATH/」 –