2009-11-19 47 views
1

我即將在appstore上發佈我的第一個免費應用程序。按照開發者平臺上的說明,我添加了一個「Entitlements.plist」文件,並在「代碼簽名權利」項目設置中引用了此文件。在完成此操作後,我無法再在我的Ipod上測試該應用程序,並顯示此錯誤消息「可執行文件被簽署了無效授權文件」。如果我刪除對權利文件的引用,則一切正常。添加代碼簽名權利時,「可執行文件被簽署了無效權利」

我已經做到了這一點: - 重新下載我的provisioning profile和安裝它的組織者 - 試圖使新的供應配置文件和安裝 - 選中「獲得任務,允許」在的plist文件。 - 嘗試「清除所有目標」

你們能否在這一點上闡明一些看法?發佈到應用商店時這很關鍵嗎?我準備好了我的發行資料,但是我想我必須先解決這個問題。我很感激在這個問題上的任何想法!

+1

我從來沒有使用一個「Entitlements.plist」。使用一個有什麼好處? – Dimitris 2009-11-19 10:04:56

+0

我重新閱讀了說明,我可能會誤解。看來entitlements.plist只是臨時分配需要。別人也可以證實這一點嗎? 無論如何,在我得到Dimitris評論之前,我做了一些更多的研究。我在ipod上遇到這個問題的原因似乎是我的「App ID和Bundle Identifier之間不匹配」。我沒有觸及info.plist中的包標識符。這可以讓我在appstore上被拒絕,我想知道嗎? – Ezop 2009-11-19 10:30:07

+1

只需使用「com.yourdomain.yourappname」這樣的包標識符即可。而且您不需要授權即可分發到應用商店。只要確保你已經創建了一個AppStore發行證書並簽署了那個應用程序,而不是你的常規開發證書。 – Dimitris 2009-11-19 10:47:48

回答

1

如果你的公司(或主頁反正)被稱爲例如stackoverflow.com,那麼它是很好的做法,您的應用程序標識符:com.stackoverflow.myAppName。你的證書中的通用應用標識符應該是*** com.stackoverflow。****。這必須在iPhone開發中心中定義。然後確保在Info.plist中編輯您的應用程序的包標識符以反映這些更改。完成之後,您可以在設備上進行測試併發布AppStore。

+0

感謝您使用這個時間,德米特里斯。我仍然無法解決這個問題,儘管...我試圖按照你的說法去做,但是當你說「你的證書中的通用應用標識符應該是* com.stackoverflow。**」時,我不明白你的意思。我如何更改證書?我是否必須撤銷它並製作一個新的?然後下載,安裝在鑰匙串等?對不起,有點慢,人... – Ezop 2009-11-19 12:21:56

+0

如果你去開發中心,「App IDs」那裏的應用程序id的描述讀取?它應該讀取像EUYT765TR.com.youDomain。* – Dimitris 2009-11-19 12:41:06

+0

我現在有兩個。我的舊版本是「ZQ75CFNP3G。*」,在線上是「espentokerud」。在閱讀你的建議後,我製作了一個新的應用程序ID,這也顯示出來。描述是「ZQ75CFNP3G.com.espentokerud.mittSnitt」和第二行「mittSnittAppID」。 – Ezop 2009-11-19 12:55:13

5

這聽起來像是您意外地將項目設置爲使用權利文件而不是僅分發版本。在針對您的開發人員證書(例如您的iPod)進行編譯時,不應使用權利文件。它只能用於分發。

您最有可能做的是編輯設置的全局版本(通過雙擊組和文件部分中的項目文件)而不是目標版本。

下面是如何解決這個問題。

  1. 在Xcode打開項目
  2. 下,項目設置活動SDK和活動構建配置,無論你用你的iPod
  3. 打開目標選項卡下的組和文件
  4. 雙擊該你正試圖建立的目標。目標圖標看起來像一出的工具製作
  5. 向下滾動到代碼簽名和刪除代碼簽名權利
+0

謝謝!爲我工作。 – 2010-07-25 12:27:57

相關問題