以下是2017.9.27写的内容, 今天是2017.10.9, 更新一下, 9.27写的内容, 我个人感觉是错误的, 因为不能解决根本问题.
一. 环境
macOS: 10.12.6 (16G29)
Xcode: 9
二. 通过application loader上传ipa的时候遇到的问题

遇到这个问题后, 当然第一时间要去查看icon的图片是否真的丢失, 但是icon 120*120是存在的.
然后, 通过在网上搜索, 查到多种方案, 尝试后, 没有卵用, 花费了一天多一点, 有点郁闷.
三. 网上的大部分解决方案
遇到问题, 第一时间找度娘. 大概有一下几个解决方案.
- 是cocoapods的锅, 按照攻略改了之后, 没卵用...
- 是info.plist的锅, 改了之后, 也没有卵用....
以上两种随便一搜就有, 不多说.
四 .最终如何解决的呢?
感谢 谈谈XCode9打包上传遇到的问题与解决方案.
以下图片也是借用对方的图片.
-
第一步: 正常archive打包, build successed后, 会生成.xcarchive文件, 如下图:
archive.png
-
右击.xcarchive, 然后show in finder
-
右击该文件, 显示包内容

- 打开终端命令,定位到此处, 输入命令
find Products/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
-
点击upload App Store直接上传或者点击Export导出后, 使用application loader
upload.jpeg
五.补充与思考
在 "四 .最终如何解决的呢?" 中的第4条, 简单看了一下那一条命令, 理解命令后, 可以不用命令, 按如下步骤手动操作:
a.如图操作

b.打开info.plist, 改变BuildMachineOSBuild

上图是我已经修改后的结果, 最初的不是16A323, 而是16G29,

wiki上搜索后查到macOS Sierra的结果:

目前还不知道为什么换了之后就可以了.或许把macOS升级到10.12.7之后, 再尝试一下, 可能也不会在有这个问题了吧.
我是分割线
以下是10.9更新的内容
补充: 我把macOS升到10.13依然不行, 还有90022的问题
问题:
打包的时候依然会有90022的问题, 用Xcode9跑到iPhone8的模拟器上之后, 发现iPhone8模拟器上没有APP的图标
解决:
参考: https://stackoverflow.com/questions/46462871/missing-required-icon-files-in-build-from-xcode-9
在podfile
里面增加:
post_install do |installer|
installer.aggregate_targets.each do |target|
copy_pods_resources_path = "Pods/Target Support Files/#{target.name}/#{target.name}-resources.sh"
string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
text = File.read(copy_pods_resources_path)
new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end
end
然后重新pod install即可.
示例:

需要注意的是: target.name是pods下的target.name, 不是主工程的target.name, 90022应该是cocoapods的bug.
网友评论