2012-04-15 79 views
3

我需要將我的應用程序提交給App Store。所以在我這樣做之前,我使用Xcode's驗證過程驗證了我的應用程序。添加授權文件

提交驗證時,需要將entitlement文件添加到項目中。我無法創建該文件,因此我從另一個項目中拖動了一個entitlement文件,並將其包含在我的文件中。這entitlement文件沒有包含任何數據(這是一個空文件)。但是,當我通過Xcode將其提交給驗證時,驗證通過成功。

我想知道的是,什麼是一個entitlement文件做(因爲entitlement文件包含在我的項目是空的),並且將我的應用程序獲得從蘋果商店裏拒絕拖動和從其他項目的下降文件entitlement

回答

6

據蘋果參考

應享權利賦予特定的功能或安全權限,以您的應用程序。爲了

具體地說

集授權值,以啓用的iCloud,推送通知,和App沙盒(應用沙盒是僅用於Mac OS X)。每個權利都有一個默認值,在大多數情況下會禁用與權利相關的功能。當您設置的權利,你是通過提供相應的鍵值對

  1. 授權文件只是一個plist文件覆蓋默認的,你可以把它看作是包括一些高級別配置其他設置文件並且對於在xcode 4.x之前進行代碼簽名至關重要

  2. 空的權利文件是有效的,因爲您希望使用Apple的引用指定的所有默認值,因此XCode將處理空權利文件。將應用程序文件留在應用程序項目中不會造成任何傷害,除非您指定了您的應用程序無法使用的某些內容,即icloud存儲。如果不需要本地分發,最好刪除該文件。 :)

根據Apple Technical Note TN2250(我建議你擺脫授權文件的)

如果要定義一個定製的代碼簽名應享權利文件 你的目標之內>構建設置,那麼可能嘗試完全刪除該配置並重建/重新提交。不是 不是,代碼簽名授權是不必要的定義的。如果您的 應用程序正在使用自定義鑰匙串訪問共享或iCloud,則只需 需要指定自定義代碼簽名授權文件。 否則,請從您的Xcode項目的目標>構建設置 上的所有 構建配置中刪除代碼簽名授權配置,然後重新構建並重新嘗試提交/驗證。

指定簽約資格的代碼文件中不必要的錯誤,如最 可能的原因 -

的應用「富」的iPhone「foobar的的iPhone」 沒有安裝,因爲權利是無效的。

在大多數情況下,上面看到的這些權利應該是您應用程序簽名中唯一的 權利。使用Apple Push的應用程序 Notification或iCloud將添加幾個權利。否則, 額外的權利比上面列出的,或拼寫錯誤,或 格式化版本的這些權利可能會導致「失敗 codesign驗證」,防止上傳到商店,或爲特設 建立產生iTunes安裝錯誤'the應用程序不是 ,因爲權利無效「。

請參閱Reference

+0

我有一個問題,你建議我補充一點,就是我的應用程序不能夠在授權文件?我不能留下它只是空白(如果在審查過程中將蘋果批准我的應用程序?) – Illep 2012-04-16 15:59:05

+0

請參閱我上面編輯的答案。 我不認爲蘋果會拒絕你的應用程序,因爲你的授權文件是空的,因此它不會覆蓋默認值。但是我一年沒有做過任何iOS開發,所以我不能保證。 – Phradion 2012-04-17 00:53:31

+0

但是,如果沒有此授權文件,我無法提交我的應用程序進行驗證。我得到了一個警告,爲什麼呢? – Illep 2012-04-17 01:43:04