近日小编在集成环信的打包时候遇到的问题:(环信SDK版本 3.6.2)
用cocopods 集成IM SDK 手动集成easeUI.
1. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
解决方法,重装xcode command line:
终端运行命令:
xcode-select --install
如果没有解决问题,执行以下命令
sudo xcode-select -switch /
2./clang:-1: linker command failed with exit code 1 (use -v to see invocation)
或者:
ld: could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: '902.0.39.2_0' Reader: '900.0.39.2_0')', using libLTO version 'LLVM version 9.0.0, (clang-900.0.39.2)' for architecture arm64
解决方法:targets ---> build setting 搜索:Enable bitcode 并设置为NO.
3. Failed to verify bitcode in Hyphenate.framework/Hyphenate:
error: Platform iOS is not supported
或者:Failed to verify bitcode in Hyphenate.framework/Hyphenate:
error: Linker option verification failed for bundle /var/folders/41/ykrgxwx53bv1c0zw_5c2yt440000gq/T/HyphenateretLEu/Hyphenate.armv7.xar (unrecognized arguments: -platform_version iOS 9.0.0 13.2.0)
1.先把Hyphenate.framework放到桌面上;
2.终端位置cd到桌面【cd desktop -->这个命令也有不知道的吗!?】;
3.运行:lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
4.运行后没有输出提示,直接运行下一个命令:lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
5.运行后一样没有输出提示,直接运行下一个命令:lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
6.运行后一样没有输出提示,直接运行最后一个命令:mv Hyphenate Hyphenate.framework/
7.运行完毕后得到
得到的Hyphenate.framework就是最后的结果,拖进工程,编译打包上架。(
//查看剥离后的二进制文件支持的CPU架构,如果显示armv7 arm64,就完成剥离,可上传AppStore
lipo -info Hyphenate.framework/Hyphenate
)
注意最后得到的包必须真机编译运行,并且工程要设置编译二进制文件General->Embedded Bunaries.
(注意:小编在使用IM SDK 3.6.2 时发现用cocopods 集成Hyphenate.framework 实时音视频的SDK,打ipa包release 版本上线可以, 但是打HOC 内测 IPA 包无法编译通过,不知为何,如果有哪个大牛知道请告知,万分感谢,最后只能手动添加SDK删除 cocpods)
小编删除cocopods 中的环信 IM SDK,手动集成出现的问题:
1.必须设置上述:Enable bitcode 并设置为NO.
2.重复上述3操作,
3.出现:
-1: Multiple commands produce '/Users/fls/Library/Developer/Xcode/DerivedData/FLSFrameWork-bwbpyydbwmzioqcztfqpynxeqcuk/Build/Products/Debug-iphoneos/FLSFrameWork.app/Frameworks/Hyphenate.framework':
1) Target 'FLSFrameWork' has copy command from '/Users/fls/Desktop/hui/FLSFrameWork/FLSFrameWork/Hyphenate.framework' to '/Users/fls/Library/Developer/Xcode/DerivedData/FLSFrameWork-bwbpyydbwmzioqcztfqpynxeqcuk/Build/Products/Debug-iphoneos/FLSFrameWork.app/Frameworks/Hyphenate.framework'
2) That command depends on command in Target 'FLSFrameWork': script phase “[CP] Embed Pods Frameworks”
原因:Xcode 10 默认使用的build system是New build system,
网上有很多解决办法我的解决方法是:
修改build system :
在Xcode菜单栏 -> File -> Workspace Setting,将build system修改为legacy build system,然后clean后编译。