1. ITMS-90381: Too many symbol files - These symbols have no corresponding slice in any binary
原因:
我出现这个的是因为 把工程所有的 UIWebView 替换成 WKWebView 后,直接把 Target 的最低版本从iOS9.0改成11.0 ,然后没改其他的就打包上传到Appstore,这才发现原来是iOS11.0之后,不支持删除armv7,armv7s了, App的包体积还从70多M降到了50多M,直接瘦身20M
解决办法:
- 在build settings里面的valid architecture删了armv7,armv7s,再打包重新编译即可
2.如果是在Podfile里
我们可以看看具体哪个库
Xcode -> Window -> Organizer -> Archives -> 选择上传到Apptore的App -> 右键 Show In Finder -> 选择 XXX.xcarchive -> 右键 显示包内容 -> 打开终端 -> cd 到dSYMs这个目录下
如下图,就可以看到Apple右键发的各个UUID对应的framework, 我仔细看了,大多都是在pod库里的
解决办法
在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 是不是写了推送的代码,但是你这个项目又没有推送功能,肯定工程代码是拷贝其他的项目了,把相应的推送代码删了就行