此文章是在百度地图.a和.framwork冲突(一)的基础上针对性解决在Xcode上的编译问题
一、用Xcode在模拟器上运行,会报以下错误
解决思路
-
在前一篇文章中的思路,可以猜想是也是因为库没有找到而导致的问题,所以就前往Xcode的编译文件中查看,发现也存在类似Debug-iphonesimulator的文件夹
-
思前想后,还是把百度地图相关的配置先去掉,然后看看编译通过的情况是如何的
-
这样情况就很明确了,解决方式仍然是先把flutter_inappwebview的库下载下来,然后再添加百度地图的插件下载百度地图的相关库。但是直接使用之前的方法是有问题的,因为当你重新修改pubspec.yaml和Podfile,然后去执行pod install,那样在Xcode上编译的话,相关的编译文件就会被删掉重新创建,这样就直接导致编译仍然失败
-
这样就导致无法在下载完flutter_inappwebview.framework之后再下载百度地图的库,后面发现clean一次项目之后,相关的编译文件就不会消失了,那样要怎样把库放进去呢,后来想到一个方法,既然不能用指令去添加,那我就直接放到文件夹里面会不会就可以了呢,结果发现真的可以。此处我是把VsCode编译成功后的build文件夹内的flutter_inappwebview.framework拷贝到Xcode的编译文件夹内
二、用Xcode在模拟器上运行上面已经解决了,但是Archive真机打包呢,问题又来了,问题如同第一点
解决思路
-
尝试类似模拟器的方式把生成好的flutter_inappwebview.framework直接拷贝到对应文件夹内,再次Archive,你会发现之前在模拟器上使用的方法,已经无法解决Archive真机打包的问题了,因为每次Archive,这些库的文件都会删掉再重新添加。
-
尝试多种方式之后,发现Archive过程是很长的,所以就想着在Archive的过程中把库拷贝进去,结果居然成功了!!!!!
注意:
添加进去的framework最好对应着编译的环境,Debug就添加Debug模式下的库,Release就添加Release模式下的库,以防引发其他问题