今天想用Facebook的FBRetainCycleDetector定位一个内存不释放的问题。但是出师不利。App link、luanch都没有问题,但就是载入镜像阶段直接挂掉。问题是:
FBRetainCycleDetector的framework载入时报错:image not found。
查看了一下build phases,link binary with library 中没有添加framework(注:我的framework的物理路径在工程中,并通过add files to project进行了添加)。理所当然的添加了,但是问题还是没有解决。
问度娘,结果为:
1、https://www.cnblogs.com/sandyzhang/p/6734037.html
2、https://blog.csdn.net/gghu1986/article/details/9234669
以上方案都说把framework选为optional即可。亲测有效。App正常启动。但是使用FBRetainCycleDetector构建一个实例时,构建的实例为nil。这就尴尬了。
最后又试了一下https://blog.csdn.net/u013255127/article/details/51675018的方法(build phases 中Embed frameworks中国添加)。
完美解决。
在此Mark一下。
不过具体的原因为何?如果是该库选为optional的结果是没有真正载入它,那为何不是运行时直接挂掉(度娘中有人说他的场景挂掉了),而是在new一个对象时返回了nil
希望路过的大神可以解释一下。