關于app上架所遇到的一些問題匯總(持續更新中...)

????? iOS app上架是很坑爹的,在第一次上架過程中,博主一下遇到了N多的報錯,當時博主心里是崩潰的。在崩潰過后,博主開始了漫長的谷歌生活,最后艱辛的上架了,現在博主為了給廣大的iOS開發者提供一些問題的解決方法,希望能幫助大家,加快大家的工作效率,主要是可以不用加班,說多了都是淚。。。


問題一:


這個問題就是你Xcode上設置的bundleID與證書上的bundleID不一致導致的,把他們修改一樣都好了。

問題二:



這個問題有很多的答案,我只提供一個大多數能解決方法

1.在鑰匙串訪問>鑰匙串修改Apple Worldwide Developer Relations Certification Authority證書:右鍵顯示簡介調整"總是信任" 為 "系統默認"。

2.刪除已過期的Apple Worldwide Developer Relations Certification Authority證書,并下載新的Apple Worldwide Developer Relations Certification Authority證書,雙擊安裝。

3.刪除相關的 provisioning profiles,然后重新添加。(Xcode中的證書配置文件路徑:~/Library/MobileDevice/Provisioning Profiles)

問題三:

Getting ITMS-4238 “Redundant Binary Upload” error no mater what I change the build version or app version tobe higher

這個是已經上傳了同一個版本的APP了,不能再繼續上傳,如果需要重新上傳,就需要改版本號。

問題四:

iPhone App Submitting - Error ITMS-90171 Invalid Bundle Structure Can't Contain Standalone Executables

這個是引入的第三方framework所帶的資源包有問題,有可能是bundle里info.plist使用到的資源在bundle里沒有

問題五:

ERROR ITMS-90474: "Bundle Invalid. iPad Multitasking support requires there orientations: 'UIInterfaceOrientationPortrait,UIIinterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait' in bundle.

在 TARGETS > iOS > General > Deployment Info 勾選 “Requires full screen”


問題六:

ERROR ITMS-90542: "Invalid CFBundleSupportedPlatforms value. The key 'CFBundleSupportedPlatforms' in the Info.plist file in bundle 'Payload/PgapIos.app/GoogleMaps.bundle' contains an invalid value '( "iPhoneSimulator" )'.

這個是編譯bundle的時候,是用模擬器來編譯的,解決方法是:在編譯bundle的時候選擇真機

ERROR ITMS-90086: Missing 64-bit support. Submission fails with error on submit app on iTunes

在 build settings 中的Valid Architectures, 添加arm64讓APP支持 64位的機器。XCode7不會有這種情況

問題七:

ERROR ITMS-90535 Unexpected CFBundleExecutable

在我這里是因為我的bundle里是生成了一個可執行文件,從新做一個bundle文件,注意bundle項目Build Settings 中的Mach-o Type 要選擇 Static Library。如果是第三方的就把bundle里info.plist的?Executable file字段刪除掉(我自己的bundle如果刪除,上傳的時候會提示bundle是損壞的),然后重新打包。

問題八:

ERROR ITMS-90034: Missing or invalid signature

這個其實還是因為bundle里有個可執行文件,在打包的時候沒能進行簽名導致的。

問題九:

ERROR ITMS-90096:"You binary is not optimized for iPhone 5....".

在工程里的Images.xcassets添加并設置LaunchImage對解決ERROR ITMS-90096根本不會起到任何作用,需要單獨添加針對iPhone 5的載入圖片。關鍵點有三項:1、圖片的名稱必須叫Default-568.png。2、必須把圖片放在工程的根目錄下。3、圖片尺寸必須是320*568。

然后在plist中添加

問題十:


使用Application Loader 上傳ipa出現的錯誤提示“application loader上傳出錯 生成的API分析文件太大”解決方法:解決辦法就是修改Xcode里面的Build

問題十一:

在Archive項目 時,出現了“Your build settings specify a provisioning profile with the UUID “487F3EAC-05FB-4A2A-9EA0-31F1F35760EB”, however, no such provisioning profile was found”的出錯。一直提示指定UUID的provisioning profile找不到,感覺很奇怪。明明自己的provisioning profile是剛下載好的,并且全是新安裝。于是通過谷歌找到了答案。

參考地址:http://stackoverflow.com/questions/1760518/codesign-error-provisioning-profile-cannot-be-found-after-deleting-expired-prof

這里所說的就是要通過修改你的項目的.xcodeproj文件來解決上述的錯誤。

1.找到項目中的**.xcodeproj文件,點擊右鍵,show package contents(打開包內容)。

2.打開后找到project.pbxproj文件,用文本編輯器打開。其實就是右鍵,點擊open就好了。

3.打開這個文件后,按command+F,在這個文件中查找“PROVISIONING_PROFILE",找到和這個“

PROVISIONING_PROFILE="487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";"PROVISIONING_PROFILE[sdk=iphoneos*]"="487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";”類似的都刪除。(注意:只刪除雙引號里面的487F3EAC-05FB-4A2A-9EA0-31F1F35760EB就可以了)

問題十二:


在要上傳的包上右鍵[Show in Finder]然后依次展開[xxxx.xcarchive][Products][Applications][xxxx] // xxxx–項目名

然后搜索所有的info.plist

找到是哪個plist含有[CFBundleSupportedPlatforms]屬性,看是那個三方庫包含的這個plist,然后到Xcode里面刪除該屬性。

問題十三:


推送證書報警

這個原因也有多種,一個出現比較多的原因就是,你之前安裝的描述文件沒有包含推送證書。重新登錄到開發者中心,查看描述文件。


選擇全部

你會發現Status變成的狀態是黃色的(正常是綠色),如下圖。


正常

點擊Edit,然后選擇Cenerate就行了。最后把描述文件下載,安裝。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容