- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
所以,since Apple is now rejecting apps that access UDID , 在我们公司当前的项目中,我们需要消除所有调用此属性的 API:
[[UIDevice currentDevice] uniqueIdentifier]
我们已经消除了我们自己代码中的所有调用,但需要确保我们使用的许多外部库没有调用此属性。
确定库是否正在调用此属性的最可靠方法是什么?
提前致谢!
最佳答案
除了使用 otx
(它似乎变得不稳定)之外,一种选择是在该方法上设置一个符号断点,然后运行该应用程序一段时间,看看是否命中它。
为该方法配置符号断点如下所示:
如果您碰到那个断点,您可以通过打开调试器控制台并键入 bt
来找出调用它的人。在这种情况下,调用来 self 的 application:didFinishLaunchingWithOptions:
但无论调用者是谁,它都有效:
(lldb) bt
* thread #1: tid = 0x1c03, 0x001f4690 UIKit`-[UIDevice uniqueIdentifier], stop reason = breakpoint 1.1
frame #0: 0x001f4690 UIKit`-[UIDevice uniqueIdentifier]
frame #1: 0x0000212e MyApp`-[AppDelegate application:didFinishLaunchingWithOptions:](self=0x0747fcb0, _cmd=0x005aec21, application=0x08366300, launchOptions=0x00000000) + 702 at AppDelegate.m:37
frame #2: 0x00015157 UIKit`-[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 266
frame #3: 0x00015747 UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1248
frame #4: 0x0001694b UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 805
frame #5: 0x00027cb5 UIKit`-[UIApplication handleEvent:withNewEvent:] + 1022
frame #6: 0x00028beb UIKit`-[UIApplication sendEvent:] + 85
frame #7: 0x0001a698 UIKit`_UIApplicationHandleEvent + 9874
frame #8: 0x01f01df9 GraphicsServices`_PurpleEventCallback + 339
frame #9: 0x01f01ad0 GraphicsServices`PurpleEventCallback + 46
frame #10: 0x01f1bbf5 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
frame #11: 0x01f1b962 CoreFoundation`__CFRunLoopDoSource1 + 146
frame #12: 0x01f4cbb6 CoreFoundation`__CFRunLoopRun + 2118
frame #13: 0x01f4bf44 CoreFoundation`CFRunLoopRunSpecific + 276
frame #14: 0x01f4be1b CoreFoundation`CFRunLoopRunInMode + 123
frame #15: 0x0001617a UIKit`-[UIApplication _run] + 774
frame #16: 0x00017ffc UIKit`UIApplicationMain + 1211
frame #17: 0x00001d42 MyApp`main(argc=1, argv=0xbffff3f8) + 130 at main.m:16
关于ios - 如何检测是否有任何外部库正在调用 [UIDevice currentDevice] uniqueIdentifier]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15623660/
我正在做一个项目,我想看看接近检测器是否正常工作以及电池状态是什么。这是我的代码- import Foundation import UIKit class DeviceMonitor { i
我需要在我的 iPhone 项目中测试网络可达性。使用哪个项目更好? Reachability与 UIDevice-Reachability 最佳答案 可达性(如果您唯一的问题是测试网络可达性)。这是
我一直在尝试使用 UIAutomator 获取屏幕布局(逻辑内容,包括屏幕中 View 的 resource_id)但没有运气(所以如果有人在不使用 dumpWindowHierarchy 的情况下得
这个问题在这里已经有了答案: UIDevice uniqueIdentifier deprecated - What to do now? (32 个回答) 已关闭10 年前。
[UIDevice currentDevice]可以带什么,比如uniqueIdentifier?谢谢! 最佳答案 因为这有点过时了,所以我只是给出一个最新的答案。 因为 Apple 认为从 iOS
我对 [[UIDevice currentDevice] systemVersion] 方法有疑问。我们有一份关于使用该应用程序的设备的报告,有时我们会收到类似“iPhone OS 6.1.3”的字符
这是一个示例代码,如果设备在首次启动时是“纵向”或“横向”,以及当它检测到方向变化时,将打印该代码。 import UIKit class ViewController: UIViewControll
我想在 UI 中使用 iOS 设备的型号名称。 由于我的应用已本地化,我认为我应该使用 UIDevice 的 localizedModel 属性。 到目前为止,我已经尝试了几种语言(日语、俄语、简体中
在 swift 中使用 UIDevice 类时出现以下构建错误。 命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefaul
[[UIDevice currentDevice] model]; 返回的所有可能值是什么?它不是 documented . 最佳答案 可能的值是iPod touch、iPhone、iPhone Si
有人有一种简单的方法来消除未记录的 UIDevice setOrientation 警告吗? 我找到了这个piece of code这会消除未记录的 UIPickerView setSoundsEna
我的应用程序使用UIDevice currentDevice identifierForVendor来帮助我识别设备。最近,我遇到了一种我无法理解的情况。我的一位客户的iPad的UIDevice cu
刚刚曝光the UIDevice uniqueIdentifier property is deprecated在 iOS 5 在 iOS 7 及更高版本中不可用。似乎没有替代方法或属性(proper
我目前在 UIDevice 类别中使用此方法来轻松检测具有电话功能的设备。然而,在 iOS8 上,这不再起作用 =( +(BOOL)hasPhoneCapability; { return [
我正在尝试使用属性 UIDevice.currentDevice().orientation,所以我有如下内容 UIDevice.currentDevice().beginGeneratingDevi
我正在使用 UI Automator 在 Junit 测试中使用以下命令截取低分辨率屏幕截图。所有四个屏幕截图的大小相同。我希望它被压缩。让我知道是否有其他人能够成功实现它。我只想获得屏幕的缩略图,而
我检查了this wiki从第 3 代 iOS 设备(我猜是 iPod touch 3 和 iPhone 3GS)开始,我了解到支持多任务处理。 这意味着现在所有的 iOS 设备都支持多任务处理,因为
我想要实现的是,当用户按下按钮时,以编程方式模拟设备旋转到横向。我的代码适用于 iPhone 设备,但不适用于 iPad let value = NSNumber(integerLiteral: UI
我不小心编辑了 UIDevice.h 并继续构建我的项目,但收到以下错误: fatal error: file '/Applications/Developer/Xcode5-DP4.app/Cont
当我为设备方向更改添加通知时,如下所示: NSNotificationCenter.defaultCenter().addObserver(self, selector: Select
我是一名优秀的程序员,十分优秀!