Tag: 仪器

Rational Test Workbench iPhone – 无法合并原始二进制文件,无法合并检测到的二进制文件

下面给出的是我的系统的环境规范 System: MacBook Pro OS X version: 10.8.5 Worklight: 6.1 Emulator: 6.1 Build for iOS: 6.1 I have installed Mobile Test Workbench 8.5.1.2 in eclipse-kepler 我遵循url上的指示: https://pic.dhe.ibm.com/infocenter/rtwhelp/v8r5m0/index.jsp?topic=%2Fcom.ibm.rational.test.lt.moeb.doc%2Ftopics%2Frvar_select_device.html 但是当我尝试仪器和安装iPhone应用程序的模拟器每次都会发生一些错误。 在这里,我从terminal复制错误日志说: Could not merge original binaries Could not merge instrumented binaries —— Start Localization Folder Creation —– Found Localization files in: /Users/sarfaraz/Documents/workspace/SumApp/apps/SumApp/iphone/package/SumApp-1.0-iphone/Resources/Localizations.bundle/ Print: Entry, ":CFBundleDevelopmentRegion", Does Not […]

“运行时间”,“CPU使用率”是文书下的一个有用指标,可以得出任何结论?

已经使用“ 时间分析器 ”和“ CPU监视器 ”在iPhone 4上对应用程序进行了描述,并试图理解它。 如果执行时间是8分钟,CPU“运行时间”大约是2分钟。 大约67%是在主线上,其中52%来自“自己的代码”。 现在,我可以看到大部分时间都在枚举数组(及相关工作),UIKit操作等方面进行了枚举。 问题是,如何从这些数据中得出任何有意义的结论? 即在这里有什么问题需要修复。 在这个运行时间内,我可以看到很多的CPU负载(中位数为70%),由于应用程序的性质,这是不合理的。 话虽如此,有些事情确实很突出。 在主线程上parsingHTTP响应,急切地创build对象(也由内存分析备份)。 但是,我在这里寻找的只是基于CPU运行时间而得出的有用结论。 即在这里花费“太多”的时间。 更新 让我试着细化一下,以便更好地展示。 根据这个应用程序的function要求,我不明白为什么它不应该能够在iPhone 3G上运行。 CPU平均使用率约为70%,高峰期为97%,仅在iPhone 4上看起来像一面红旗。 对此最明显的反应是调查代码并从中得出结论。 我所希望的是以下forms的绝对答案 如果您在CA上花费了25%到50%的时间,那么您的animation有问题 如果你在与UIKit相关的任何事情上花费1000毫秒,最好检查你的处理 再说一次,也许在运行时间和CPU使用率方面,没有任何答案只是指示事情正在closures。

仪器:泄漏和分配(tvOS)

我目前正在制作一个tvOS应用程序。 这是我的第一个本地(Swift)应用程序。 该应用程序将是一个数字标牌应用程序,用于事件或公司的办公室。 与iOS / tvOS上的典型应用程序相比,一个很大的区别是它需要全天候运行,所以内存是这个应用程序的一个重要主题。 最小的泄漏最终会导致应用程序崩溃。 该应用程序不断循环遍历一组全屏幻灯片。 在屏幕的底部有一个10篇文章(每10秒更新一次) – 现在正在开发中)。 下面是天气幻灯片的截图,以获得一个想法。  目前该应用程序在一段时间后崩溃,我敢肯定,我已经缩小到股票行情(当禁用它,应用程序生活了几天)。 如果我使用仪器中的“泄漏”预设,我会得到以下结果: 它看起来像是泄漏条款实例。 我正在每10秒重新创build一次实例实例,并将它们提供给股票代码组件。 我认为这就是为什么新的实例泄漏每10秒。 在我开始使用乐器中的“泄漏”预设之前,我使用了“分配”预设,而对我来说这一切似乎都很好。 但是我可能误读了结果 使用分配: 我读到的方式是,目前有10个文章实例存在于内存中,31个已经存在但现在被清理 – 所以我是安全的。 但该应用程序仍然崩溃。 我已经读了很多关于保留周期的内容,在我认为我应该做的事情上实现了弱/无主。 所以我的问题不是关于代码,而是关于如何读取这些数据的更多信息,在这种情况下泄漏是什么意思,以及为什么我在“ 分配”窗口中看到这些“泄漏”不是持久对象? (testing在多个设备+模拟器上完成)

在iOS中,如何从正在运行的应用程序中获取当前的CPU利用率?

我正在寻找一种方法来获取CPU利用率数字,如仪器和活动监视器与C / C ++ / Obj-C,所以我可以做一些自动化testing。 我正在寻找大约1秒的粒度,虽然100毫秒会是理想的。 另一种看待这个问题的方法是“活动监视器如何获取它获取的信息?”。 这是我迄今发现的: 许多* nix等价物似乎不适用于iOS sysctl没有KERN_CPTIME iOS没有proc文件系统,所以我不能使用/ proc / stat。 这消除了很多像vmstat和iostat这样的程序 iOS中不存在MacOSX的示例 。

iOS uiautomator应用程序名称

我正试图用Xcode仪器启动和testingiOS应用程序。 但我没有每个应用程序名称的testing。 例如,我知道: 设置== Preferences.app SAFARI == MobileSafari.app 日历 , 邮件 , 照片 , 信息 , 相机 ,…的名称是什么?

内存泄漏在Swift中使用UIAlertController

我提出了一个简单的UIViewController使用这个简单的代码 @IBAction func addNewFeed(sender: UIBarButtonItem) { var alertView: UIAlertController? = UIAlertController(title: NSLocalizedString("New Feed", comment: "Titolo popup creazione feed"), message: NSLocalizedString("Insert the Title and the Link for the new Feed.", comment: "Messaggio creazione nuovo feed"), preferredStyle: UIAlertControllerStyle.Alert) alertView!.addAction(UIAlertAction(title: NSLocalizedString("Cancel", comment: "Annulla popup creazione nuovo feed"), style: UIAlertActionStyle.Cancel, handler: nil)) presentViewController(alertView!, animated: true, completion: nil) } 当我按下我的界面上的button,我把这个IBAction和UIAlertController出现。 […]

内存分析不适用于Xcode 9

我正在使用最新版本的Xcode 9和macOS 10.13。 当我尝试从我的应用程序的当前状态制作一个内存图时,它显示一个空白屏幕,显示“ 没有select” 。 我也尝试过使用乐器的configuration文件,但是由于权限错误,它不允许我运行。 目标无法运行。 debugging[应用程序名称]的权限被拒绝。 我知道这些线程,并尝试在其中提供的build议,但他们似乎并没有工作 : Reddit – 由于权限被拒绝,Xcode 9中的乐器停止工作吗? 有没有解决方法? 苹果开发者论坛 – Xcode 9 – 仪器权限被拒绝 堆栈溢出 – 为什么我会得到仪器 – “目标无法运行”? 堆栈溢出 – 无法在乐器中启动我的应用程序:至less有一个目标无法启动 我试过的东西: 重新启动Xcode 清空Derived Data文件夹 清理项目 清理生成文件夹 将该scheme的应用程序环境修改为Debug而不是Release 手动pipe理调配configuration文件并select“debugging和发布”的“开发configuration文件” 试用不同操作系统版本的模拟器(iOS 11,iOS 10) 看起来这是Xcode 9的特定问题。 有没有解决这个问题的方法?

iOS屏幕上显示FPS(无仪器)

在WWDC 2012 Session 506中,他们在应用程序中的UILabel上显示每秒帧数,而无需使用附加到乐器的Core Animation分析器。 我想这样做是为了方便,也让我的团队的其他成员监视FPS,因为他们在真实世界的场景中使用应用程序。 不幸的是,会议506不包含在WWDC '12示例代码中。 有谁知道如何做到这一点? 我知道Cocos2D在CCDirector有这个function,但是他们的方法似乎是专门针对Cocos2D渲染的。 它没有必要是公开的API,因为我不会把这个代码发送给客户。

UIAutomation:Alert视图上的取消button被轻敲而不实际执行

我在UIAutomation面临这个奇怪的问题。 我正在检查一个警报。 在那里,我正在尝试logging警报标题和警报消息。 我的代码是这样的: UIATarget.onAlert = function onAlert(alert) { UIALogger.logMessage("alert Shown"); UIALogger.logMessage(frontApp.alert().name()); UIALogger.logMessage(frontApp.alert().staticTexts()[1].value()); } var target = UIATarget.localTarget().frontMostApp().mainWindow(); target.scrollViews()[0].buttons()["saveB"].tap(); UIATarget.localTarget().delay(2); 我不在点击取消button在警报解雇它。 但是,它正在自动挖掘。 我不知道为什么。 即使在logMessages中,我也看到了 target.frontMostApp().alert().cancelButton().tap() 这一行自动执行。 我的脚本文件中没有这行。 这是在iOS的错误?

通过Instruments命令行在多个iOS设备上运行UIAutomation脚本

有没有办法在多个连接的iOS设备上运行UIAutomation脚本? 目前我使用仪器与-W切换每个设备的UDID? 我很欣赏你的想法。