相关疑难解决方法(0)

如何使用performSelector:withObject:afterDelay:在Cocoa中使用原始类型?

NSObject方法performSelector:withObject:afterDelay:允许我在一定时间后用对象参数调用对象上的方法.它不能用于具有非对象参数的方法(例如,整数,浮点数,结构,非对象指针等).

使用非对象参数的方法实现同样的事情的最简单方法是什么?我知道,对于常规performSelector:withObject:,解决方案是使用NSInvocation(顺便说一句,这真的很复杂).但我不知道如何处理"延迟"部分.

谢谢,

cocoa objective-c

96
推荐指数
7
解决办法
14万
查看次数

如何记录iOS应用程序中使用的所有方法

我正在为客户开发一款iPad应用程序.有大量的工作已经完成,我正在努力拼凑整个设计的运行方式.

我想做的其中一件事是记录应用程序运行时调用哪些方法.我见过一个自定义DTrace脚本,它意味着记录启动时的所有方法,但是当我在Instruments中运行它时,我没有得到任何结果.

记录方法的最佳方法是什么?

iphone instruments ipad ios

44
推荐指数
4
解决办法
1万
查看次数

如何检测是否有任何外部库正在调用[UIDevice currentDevice] uniqueIdentifier]?

因此,由于Apple现在拒绝访问UDID的应用程序,在我们公司的当前项目中,我们需要删除所有调用此属性的API:

[[UIDevice currentDevice] uniqueIdentifier]
Run Code Online (Sandbox Code Playgroud)

我们已经消除了我们自己的代码中的所有调用,但需要确保我们使用的许多外部库不会调用此属性.

确定库是否正在调用此属性的最可靠方法是什么?

先感谢您!

uniqueidentifier udid uidevice ios

9
推荐指数
1
解决办法
1708
查看次数

如何打印 iOS 二进制文件中所有 Objective-C 类的名称?

我想使用"otool""objdump"打印在 iOS 二进制文件中找到的所有 Objective-C 类的名称。我在 macOS 上的未加密的 iOS 二进制文件上执行此操作。

我尝试过的:

  1. 这里建议的解决方案如何静态转储 Cocoa 应用程序中调用的所有 ObjC 方法?
otool -oV /path to executable/ | grep name | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)

但我不知道如何只解析 Objective-C 类名。

  1. 使用“nm”的解决方案,但我不太喜欢它:
nm /path to executable/ | grep _OBJC_CLASS_
Run Code Online (Sandbox Code Playgroud)

你们能帮我用 cmd/脚本来打印 iOS 二进制文件中所有 Objective-C 类的名称吗?

mach-o objective-c otool objdump

1
推荐指数
1
解决办法
1454
查看次数