百度地图.a和.framwork冲突(二)

此文章是在百度地图.a和.framwork冲突(一)的基础上针对性解决在Xcode上的编译问题

一、用Xcode在模拟器上运行,会报以下错误
这个问题如同之前在VsCode上的错误

解决思路
  1. 在前一篇文章中的思路,可以猜想是也是因为库没有找到而导致的问题,所以就前往Xcode的编译文件中查看,发现也存在类似Debug-iphonesimulator的文件夹
    可以发现此处并没有下载对应的库
  2. 思前想后,还是把百度地图相关的配置先去掉,然后看看编译通过的情况是如何的
    可以看到编译成功里面也会生成一个flutter_inappwebview.framework
  3. 这样情况就很明确了,解决方式仍然是先把flutter_inappwebview的库下载下来,然后再添加百度地图的插件下载百度地图的相关库。但是直接使用之前的方法是有问题的,因为当你重新修改pubspec.yaml和Podfile,然后去执行pod install,那样在Xcode上编译的话,相关的编译文件就会被删掉重新创建,这样就直接导致编译仍然失败
    image.png
  4. 这样就导致无法在下载完flutter_inappwebview.framework之后再下载百度地图的库,后面发现clean一次项目之后,相关的编译文件就不会消失了,那样要怎样把库放进去呢,后来想到一个方法,既然不能用指令去添加,那我就直接放到文件夹里面会不会就可以了呢,结果发现真的可以。此处我是把VsCode编译成功后的build文件夹内的flutter_inappwebview.framework拷贝到Xcode的编译文件夹内
    image.png
    可以发现文件夹内已经创建出正常编译的相关文件
    编译成功没有报错

二、用Xcode在模拟器上运行上面已经解决了,但是Archive真机打包呢,问题又来了,问题如同第一点
Release的包文件就藏得比较深了,而且文件也有所不一样

解决思路
  1. 尝试类似模拟器的方式把生成好的flutter_inappwebview.framework直接拷贝到对应文件夹内,再次Archive,你会发现之前在模拟器上使用的方法,已经无法解决Archive真机打包的问题了,因为每次Archive,这些库的文件都会删掉再重新添加。
    这两个文件夹每次Achive都会先删掉再创建
  2. 尝试多种方式之后,发现Archive过程是很长的,所以就想着在Archive的过程中把库拷贝进去,结果居然成功了!!!!!
    看到这些东西,已经看到成功的希望

注意:

添加进去的framework最好对应着编译的环境,Debug就添加Debug模式下的库,Release就添加Release模式下的库,以防引发其他问题

你可能感兴趣的:(百度地图.a和.framwork冲突(二))