如何将DTFoundation准确地集成到另一个iOS项目中?

用户名

我正在尝试调试一个项目,怀疑在后台线程中正在调用UI操作。此链接:UIViewController动画停止工作描述了如何使用DTFoundation代码来检测是否在后台线程中调用了UI操作,但是我不知道如何进行集成。我不使用Pods-它是XCode另一个应用程序项目。我尝试拖动DTFoundation.xcodeproj,将其添加到目标,但我无法使其正常工作。该应用程序会生成,但库不会。有任何明智的建议吗?

用户名

好的,对于任何希望使用DTFoundation在主线程之外捕获UIKit调用的人,这是这样做的(注意:这仅用于捕获UIKit调用-不能利用所有其他DTFoundation实用程序)。

1)从这里https://github.com/Cocoanetics/DTFoundation下载DTFoundation代码并将其解压缩到某个地方

2)在XCode中,打开要调试的现有项目,然后将以下.h和.m文件从解压缩的DTFoundation代码复制到您的项目中:UIView + DTDebug,DTLog,DTObjectBlockExecutor,NSObject + DTRunTime(这是8个文件-上面的每个名称都有对应的.h和.m)

3)现在转到项目中的AppDelegate.mm文件,然后在didFinishLaunchingWithOptions函数中添加

  [UIView toggleViewMainThreadChecking];

4)接下来,在以下位置的UIView + DTDebug.m中设置一个断点-

(void)methodCalledNotFromMainThread:(NSString *)methodName

现在,您将全部准备好运行主代码,并且每次在主线程之外调用UI操作时,您的代码都将在此时中断。现在,您需要做的只是查看堆栈跟踪-您自己的项目代码(通常在跟踪中多行)中的第一个功能就是令人讨厌的代码。包在里面

 dispatch_async(dispatch_get_main_queue(), ^{ <Offending UI code goes here> }); 

或其他任何合适的方式

享受!这个框架节省了很多时间

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将原始mp3从recyclerview项目传递到另一个活动

Xcode 4.2如何将一个项目包含到另一个项目中?

如何将一个独立项目添加到另一个Maven项目中

如何将构建输出从一个git repo集成到另一个

如何将价值从recyclerview项目传递到另一个活动

如何将包含Pod的框架添加到另一个项目中

如何将现有Firebase项目数据克隆到另一个新项目?

如何将插件的结果复制到另一个项目?

如何将匹配的数组中的项目分组到另一个数组中?

如何将unity ios项目集成到本机ios swift项目中?

如何将一个存储库项目jar包含到另一个存储库项目中

如何将一个列表的项目一个接一个地添加到另一个列表?

如何将一个Web api控制器方法调用到另一个Web api项目中?

如何将数组从视图传递到另一个并相应地更新视图

如何将团队中的工作项目移动或复制到Azure Devops中同一项目中的另一个团队?

如何将一个列表的2个项目分组到另一个列表中

如何将项目添加到选定的Listbox1项目中的另一个Listbox2项目中?

我如何将一个新项目推送到一个新的github而不将其复制到另一个项目中

如何将文件从一个Eclipse项目导入到另一个

如何将链接的库从code :: blocks项目复制到另一个项目?

iOS如何将数组隔离到另一个视图控制器

在Wpf GridView中,如何将控件绑定到一个项目中的另一个控件

如何将文件从一个 Xcode 项目迁移或导入到另一个项目?

如何将现有的 angularjs 项目包含/引用到另一个项目中?

如何将变量从一个函数访问到同一项目中不同控制器中的另一个函数

如何将包含类的文件夹复制到另一个项目 - swift

如何将另一个android项目的.so文件用于另一个项目

我如何将项目 angular4 集成到另一个项目 angular4

如何使用另一个项目中的枚举将单选按钮组绑定到枚举属性?