1. ITMS-90381: Too many symbol files - These symbols have no corresponding slice in any binary
原因:
我出現(xiàn)這個(gè)的是因?yàn)?把工程所有的 UIWebView 替換成 WKWebView 后唉俗,直接把 Target 的最低版本從iOS9.0改成11.0 伟件,然后沒(méi)改其他的就打包上傳到Appstore,這才發(fā)現(xiàn)原來(lái)是iOS11.0之后,不支持刪除armv7,armv7s了箱亿, App的包體積還從70多M降到了50多M,直接瘦身20M
解決辦法:
- 在build settings里面的valid architecture刪了armv7,armv7s沥阳,再打包重新編譯即可
2.如果是在Podfile里
我們可以看看具體哪個(gè)庫(kù)
Xcode -> Window -> Organizer -> Archives -> 選擇上傳到Apptore的App -> 右鍵 Show In Finder -> 選擇 XXX.xcarchive -> 右鍵 顯示包內(nèi)容 -> 打開(kāi)終端 -> cd 到dSYMs這個(gè)目錄下
如下圖涩金,就可以看到Apple右鍵發(fā)的各個(gè)UUID對(duì)應(yīng)的framework, 我仔細(xì)看了,大多都是在pod庫(kù)里的
解決辦法
在podfile 文件中指定你的 valid Architectures
post_install do |installer_representation|
if defined? installer_representation.project
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ARCHS'] = 'arm64e arm64'
config.build_settings['VALID_ARCHS'] = 'arm64e arm64'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
if defined? installer_representation.pods_project
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ARCHS'] = 'arm64e arm64'
config.build_settings['VALID_ARCHS'] = 'arm64e arm64'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
end
2.ITMS-90078: Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement.
檢查下Appdelegate 是不是寫(xiě)了推送的代碼泽论,但是你這個(gè)項(xiàng)目又沒(méi)有推送功能,肯定工程代碼是拷貝其他的項(xiàng)目了象颖,把相應(yīng)的推送代碼刪了就行