由于需要测试我们的云加密的加固工具,所以大量测试各种开源项目,其中就包括蘑菇街。但是从github上下载的源代码都有问题,不能直接使用,需要做一些修复处理,整理一下供大家参考.
github地址: https://github.com/meili/TeamTalk
编译环境Xcode 8.2, iOS 10.2
1. 下载
直接git clone或者download也行
git clone https://github.com/mogujie/TeamTalk.git
进入iOS目录,我们看到包含Podfile文件,所以需要先执行"pod install"来安装依赖的三方库
3. 修改签名
把签名修改为能使用的
4. 'Fabric/Fabric.h' file not found
然后打开workspace文件,Build出现错误:'Fabric/Fabric.h' file not found
查看工程配置,没有Fabric.framework和Crashlytics.framework这两个库
Podfile文件里也没有他们的配置
所以解决办法就是导入这两个framework,一种是手动导入,下载framework后直接导入工程;另一种是使用Cocoapods来自动导入
这里我们采用第二种方法
然后执行"pod install"
5. 'objc_unretainedPointer'错误
经过上面的步骤,Build工程,还是出现一些'objc_unretainedPointer'的错误:
'objc_unretainedPointer' is unavailable:use a __bridge cast instead
解决办法:将objc_unretainedPointer用(__bridge void *)或者(const void *)替换
6. sh问题
/doc/开源项目/TeamTalk-master/ios/Build/Intermediates/TeamTalk.build/Debug-iphoneos/TeamTalk.build/Script-817CB3AD1B3BC68D0004AFEA.sh: line 2: ./Fabric.framework/run: No such file or directory
解决办法: remove the fabric script from run script
至此,终于可以跑起来了,哈哈