ANDROID和IOS 编译交接坑爹的报错,_OBJC_CLASS_$_xxxxx,Gralde 报错

一个客户的项目,啥都没有,没有文档,只有两份孤零零的文档,谈崩了,我们要混饭接手了,会不会坑爹呢?

习惯就好。

Android项目:

1)Android的项目用老一点的AS 3.0。

    1)开始打开报错,坑爹开始。调整gradle的下载路径。

         最后,点击是否更新gradle.结果噩梦开始。

2)最后,重新导入,老的框架,不升级任何。

     编译通过。

结论:没事不要升级gradle,否则坑死你,一个接着一个的错误。无法玩。

 

IOS项目:

1)只能安装到XCODE11:

   第一关: 结果客户是一体机IOS,不能拷贝代码,不能上网查资料,最后再mac os 10.10升级到MAC OS 10.13结果重启蓝屏。

   升级需要验证码,老版本的OS 10.10需要提示输入验证码,结果没有输入,结果需要再密码框后面直接输入,坑爹!!!

   第二关:更加坑爹的是,不提示能否升级,结果升级后蓝屏,坑爹。最后客户换了一台N万的苹果一体机,最新的可以升级到10.15,终于完事。最后结论,一体机不要乱升级,    拿到项目,里面有路径警告,都是知道xcode的路径有点坑爹,配置一下,结果出现了老的噩梦。

2)编译之后,当时打算用虚拟机编译试试看,结果噩梦开始了。

ld: warning: ignoring file xxxxxx.a, missing required architecture x86_64 in file xxxxx.a (2 slices)

Undefined symbols for architecture x86_64:

  "_OBJC_CLASS_$_xxxxx", referenced from:

      objc-class-ref in xxxxx.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

老生常谈,解决配置路径Header路径,framework路径,配置啊,配置啊,最后找来高手,还是都是正确。结果发现,连接的是虚拟机,虚拟机是X86架构的。结果architecture x86_64:,直接连接真机或者选择Genirec Ios Device,所有的

_OBJC_CLASS_$_xxxxx", referenced from:全部消失了。

结论:开发IOS就算调试也要用真机。不要用虚拟机,如果没有也加以用Gencirec IOS Device,因为第三方库没有X86的虚拟机的库。这是好习惯。

 

你可能感兴趣的:(ANDROID和IOS 编译交接坑爹的报错,_OBJC_CLASS_$_xxxxx,Gralde 报错)