1,Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for CocoaLumberjack

CocoaLumberjack.framework框架中包含.dSYM,打包时会与上传到iTunes connect的包冲突,所以如下图删除.dSYM文件就不会报错了

2,ERROR ITMS-90087: "Unsupported Architectures. The executable for Welfares.app/Frameworks/CocoaLumberjack.framework contains unsupported architectures '[x86_64, i386]'." An unknown error occurred.

SVGKit插件依赖CocoaLumberjack.framework,该框架中包含了x86_64、i386、arm64、armv7 架构,iTunes connect上传ipa时,苹果不允许包含x86_64、i386框架,所以要剔除后,留下仅包含arm64、armv7 架构的CocoaLumberjack.framework,才能正常审核。
(1)查看CocoaLumberjack.framework包含的平台:

如图进入CocoaLumberjack所在的文件夹,终端输入
$ lipo -info CocoaLumberjack
路径正确,终端会输出:
Architectures in the fat file: CocoaLumberjack are: i386 x86_64 armv7 arm64
(2)剔除i386 x86_64架构
注:先保存一份原有的,以免剔除有误,备用
在查看包含平台的文件夹下,终端输入:
$ lipo CocoaLumberjack -thin arm64 -output CocoaLumberjack_arm64
命令的意思是从原有CocoaLumberjack中抽离出来arm64架构生成新文件,但是源文件还是包含x86_64、i386、arm64、armv7 ,只是新文件只包含arm64一个架构
回车之后文件夹下回多出来一个文件如图:

同样,在同目录下,终端输入:
$ lipo CocoaLumberjack -thin armv7 -output CocoaLumberjack_armv7
回车之后文件夹下回多出来一个文件如图:

合并arm64与armv7生成新CocoaLumberjack,并替换掉原来的CocoaLumberjack
还是在之前的目录下,终端输入:
$ lipo -create CocoaLumberjack_armv7 CocoaLumberjack_arm64 -output CocoaLumberjack
此时CocoaLumberjack之前的含有x86_64、i386、arm64、armv7 架构已经被替换成只含有arm64、armv7 两个架构,即已经剔除了x86_64和i386,删除掉CocoaLumberjack_arm64与CocoaLumberjack_armv7
终端输入$ lipo -info CocoaLumberjack验证,
如果终端输出
Architectures in the fat file: CocoaLumberjack are: armv7 arm64 说明剔除成功
重新编译打包,就可以上传到iTunes connect了
----------------- 更新线 -------------------------
用 SVGKit 坑还是蛮多的,记录一下
1,开发版本,最好用没有剔除过的,源CocoaLumberjack.framework 框架,否则模拟器运行不了项目
2,发布版本,用剔除过来的,记得更换framework过程中,target的配置细节,
(1)添加 CocoaLumberjack.framework

(2)删除 CocoaLumberjack 的 dSYM 文件

网友评论