2012-02-11 28 views
14

我在Lion 10.7.2上運行Xcode 4.2,並且我有一些需要更新到Lion沙箱的應用程序,因此我可以重新提交它們到Mac App Store(Mac,不是iOS)。一路上我有一個彈出來更新組合更新10.7.3,之後,一切都出錯了。Lion 10.7.3:Apple目前不接受使用此版本操作系統構建的應用程序

如果存檔是在10.7.2中編譯的,驗證並提交應用程序就沒有問題,但如果它是在10.7.3更新後編譯的,則不能再驗證應用程序。這是正確的,在10.7.3以下,我仍然可以驗證應用程序,如果它們是在升級之前編譯的。之後編譯的任何東西都會給我這個:

「這個包是無效的,Apple目前不接受使用這個版本的OS構建的應用程序。」

每個以下的嘗試後,我已清理,重建檔案,並再次試圖驗證或提交通過的Xcode組織者和應用程序的應用程序加載器獨立:

  • 我曾嘗試升級到Xcode 4.2.1通過做一個完整的卸載, 重新啓動並安裝,但沒有。

  • 我讀this similar thread並使用新的應用程序 裝載機2.5.1嘗試,並確保沒有其他應用程序加載器上 系統,但沒有任何工作。通過Xcode的應用程序 裝載程序和運行獨立程序都會給出相同的 錯誤。

  • another thread已嘗試將基本SDK更改爲10.7。我 以前在10.6,所以我仍然可以支持雪豹,並且是 您可以提交針對10.6構建的沙盒應用程序,這兩個沙盒應用程序最近都與兩個 應用程序一起在沙盒和非沙盒平臺because I've done it中運行。不幸的是,使用10.6或10.7 SDK構建 與此錯誤沒有區別。

我讀過,當開發者嘗試提交建立在一個測試平臺應用程序相同的錯誤發生,但我一直沒運行的任何測試版本,也沒有我過去,因爲我買的這款MacBook在八月。

任何想法將不勝感激。提前致謝。

+0

同樣的問題。剛更新到10.7.3,我無法提交任何內容。 – arooo 2012-02-11 23:25:39

回答

3

編輯2012年3月12日: 我直接使用付費支持票與Apple聯繫。事實證明,這是Mac App Store中的一個錯誤。他們的團隊解決了這個問題。提交11D50b現在應該可以工作。

解決這一問題上的OS X 10.7.3和Xcode 4.3

您將需要更改SystemVersion文件,這可以用命令 須藤納米/系統/圖書館/ CoreServices/SystemVersion來完成。 plist中(CTRL O,保存)

我現在的文件是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ 
<plist version="1.0"> 
<dict> 
    <key>ProductBuildVersion</key> 
    <string>11D50b</string> 
    <key>ProductCopyright</key> 
    <string>1983-2012 Apple Inc.</string> 
    <key>ProductName</key> 
    <string>Mac OS X</string> 
    <key>ProductUserVisibleVersion</key> 
    <string>10.7.3</string> 
    <key>ProductVersion</key> 
    <string>10.7.3</string> 
</dict> 
</plist> 

變化11D50b到11D50,重新啓動Xcode和清潔你的代碼。然後再提交。 提交後,請記住將文件更改回原始。 plist文件的

+1

感謝您爲Apple付出時間和金錢,爲此問題提供合法修復。我希望他們退還給你,因爲這是他們最終的問題。基本上報告每個人都遇到的錯誤不應該花費50美元。 – staeryatz 2012-03-31 17:15:43

7

好吧,我的工作方式完全不安全......所以我不能說這是解決這個問題的好方法。

不管怎麼說:

我接過一看SystemVersion.plist,和原來爲10.7.3我們的建設是11D50b(B是當然的測試版)。當然,10.7.3沒有被公佈爲測試版......如果是這樣的話我不會升級。

基本上我改變了SystemVersion。在plist中/系統/圖書館/ CoreServices到:

Build Number: 11C74 
ProductUserVisibleVersion: 10.7.2 
ProductVersion: 10.7.2 

您可以更改權限後,用文本編輯做到這一點,或者如果你熟悉納米技術,簡單地說:

sudo nano /System/Library/CoreServices/SystemVersion.plist 

與往常一樣,多餘的當與sudo做任何事情時要小心。

從那裏,我重新啓動Xcode(確保你這樣做,我試過不重新啓動Xcode,它不會工作),清理,存檔,然後能夠成功提交。

立即在此之後,我關閉的Xcode,並確保改回一切究竟是怎麼回事之前:

Build Number: 11D50b 
ProductUserVisibleVersion: 10.7.3 
ProductVersion: 10.7.3 

我是絕對不會嘗試重新啓動或什麼有趣的樣子,不知道會發生什麼事情。但這對我有效。

+0

這很髒,但我很高興它爲你解決。既然你已經指出10.7.3是一個測試版,我真的很擔心在下一個穩定版本的操作系統中可能會有所不同的系統庫的編譯。您可能欺騙了應用程序加載器,但可能存在一些兼容性問題的風險。雖然,如果沒有API更改,它應該沒問題,也許......我不熟悉Mac OSX上共享對象的版本依賴關係。 – staeryatz 2012-02-12 09:36:05

+1

我累了,它的作品,謝謝! 11D50b不是第二個安靜版本。刪除b不起作用。它必須如上所述! – Tibidabo 2012-02-16 02:47:25

0

像incarna,我沒有解決方案,但我有一個解決方法,讓我提交到商店。這可能更安全,因爲沒有欺騙行爲。但是,如果您構建的是10.6,但這仍然是有用的,但仍然可以使用implement the 10.7 sandbox and keep Snow Leopard compatibility

如果您有另一臺帶Snow Leopard的Mac,或者碰巧有雙啓動SL,您可以安裝SL的Xcode 4.2。用SL進行雙啓動很棘手,因爲SL安裝光盤無法識別Lion機器上的分區方案。我必須使用另一臺Mac的Firewire,並以目標模式將其安裝到MacBook。這是我以前在第一次使用MacBook時完成的操作。谷歌它,如果你想知道如何。

無論如何,我將項目複製到SL分區並在Xcode 4.2中打開它。你會注意到的一件事是GUI不包括權利或沙箱複選框選項,但你仍然可以在項目中看到授權和容器遷移plist文件(假設你在之前的Lion下的Xcode中設置它)。我猜即使沒有10.7,SL下的Xcode 4.2編譯器仍然知道如何處理這些文件。

我重新編譯了SL中Xcode 4.2下的項目並驗證了存檔。都好。然後我將該應用程序作爲.pkg文件共享並保存到我的Lion分區。我安裝了.pkg並在Lion中運行我的應用程序。沙盒容器確實遷移並且應用程序按預期運行。驗證它的工作後,我重新啓動到SL並提交了應用程序。

你有它。證明沙盒應用程序可以在SL中編譯和提交,SL仍然是一個有效且合法的平臺。

0

只是一個快速更新,在Xcode 4.3重新啓動Xcode後將無法正常工作,因爲它檢測到只能運行在10.7.3上但是按照說明更改plist文件,然後清理,存檔和分發似乎就可以工作。我目前正在等待我的應用獲得批准。

3

好吧,我有同樣的問題,我也已經安裝了Xcode 4.3,因爲我預計這將解決這個問題。 Xcode 4.3需要10.7.3,因此不可能將SystemVersion.plist更改爲10.7.2,而只是刪除11D50b末尾的b,然後重新啓動Xcode讓我提交我的應用程序。

+0

完全爲我工作 – 2012-02-18 14:18:33

+0

這爲我工作,以及與10.7.3和Xcode 4.3。一個注意,它是「11D50b」而不是「10D50b」。 – Stateful 2012-02-19 16:49:52

+0

沒有爲我工作與10.7.3和Xcode 4.2.1。 – cocoafan 2012-02-20 05:20:37

相關問題