Tag: 工具

将iOS应用程序从分发标识中分配给开发者标识

我使用持续集成工具,使用分发标识和Ad Hoc移动设备构build应用程序。 这个应用程序发送到一个网站进行临时部署,一切正常。 但是现在我想在构build工作stream中添加一个步骤来执行UI自动化testing。 仪器需要一个以开发人员身份签名的应用程序,因此,我希望/需要(QA团队实际需要)使用开发人员证书来退出之前创build的.ipa,而不是使用开发人员证书构build新版本的应用程序。 我使用以下命令来退出应用程序: unzip "App.ipa" rm -rf "Payload/App.app/_CodeSignature" "Payload/App.app/CodeResources" cp "Dev.mobileprovision" "Payload/App.app/embedded.mobileprovision" /usr/bin/codesign -f -s "iPhone Developer: john doe" –resource-rules "Payload/App.app/ResourceRules.plist" "Payload/App.app" 然后,我使用fruitstrap安装“Payload / App.app”(我试图用组织者安装它不会改变任何东西),我终于执行这样的仪器: instruments -w 5f9…3fd -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate "App" -e UIASCRIPT /Users/../automation-tests-scripts/test-instruments.js -e UIARESULTSPATH /Users/../test-reports/ 仪器失败,出现以下错误: 2013-11-28 14:32:56.679 instruments[68408:1007] Permission to debug com.company.App was denied. The app must be signed […]

Xcode仪器公司的分配工具相当多

我的应用程序崩溃了很多,原因是我很难理解。 没有那么多,它正在崩溃 – 它被一个外部的“未知”过程所杀: Processes Name <UUID> rpages recent_max [reason] (state) test-app <….> 167111 167111 [per-process-limit] (frontmost) (resume) 我可以理解,如果我分配了一大块内存,或者几亿个小块,但是我没有做出任何令人发指的事情。 仪器分析告诉我,应用程序只使用大约8 MB,偶尔加载一些大的内容时,高达13 MB左右。 没有任何exception的泄漏,应用程序通常很快就会死亡。 一个同事开始使用Activity Monitory在模拟器中运行时检查应用程序的内存使用情况,并注意到当我们开始使用某个库时,从大约70 MB(模拟器中的情况看起来有点不同)的内存猛增到800 MB 。 所以,我开始在模拟器而不是在设备上进行分析。 分配工具继续报告,该应用程序使用8兆MB,但VM跟踪器讲述了另一个故事: 所以…看起来VM Tracker能够看到Allocations没有的一些重要的内存使用。 为什么Allocations工具缺less这个应用程序正在使用的内存的99%? 更新:为了回应nielsbot的问题,我仔细研究了VM Tracker的信息,发现我在configuration中看不到的最大部分内存归功于Core Animation:

分配跟踪库没有及时加载,无法看到堆栈跟踪

对于打开仪器,我们必须首先configuration文件,然后select哪个模板,我们必须分析内存泄漏,分配,僵尸。 但是,我仍然得到错误分配库没有加载,也看不到堆栈跟踪。 而在应用程序中找不到泄漏的原因 正如其他链接中提到的解决scheme,我使用模拟器(iOS7)和活动scheme(iOS7) Xcode版本:版本5.0.2(5A3005)模拟器:iOS 7.0.3(111B508)Mac:OS X版本10.8.5 请原谅以上任何信息是不正确的。 请给答案..提前感谢

Swift中的分配工具工具没有提供足够详细的信息

我正在尝试使用分配工具来剖析Swift 2 iOS应用程序。 我这样做是这样的: 使用“分配”工具运行应用程序。 一旦应用程序启动,我等待10秒钟,打“马克世代” 我打开屏幕我怀疑有内存泄漏,等待10秒钟,closures它,等一下,然后打“Mark世代” 在这一点上,我看着第二代看到从未被释放的物体。 我的麻烦是,最大的罪犯总是只是“主”,这并不指向任何特定的类别或方法 如上所示,“main”几乎占了80%的内存泄漏,但是stacktrace没有指向任何特定的地方,而不像指向特定方法的泄漏。 我不知道这是否相关,但是当我去文件 – >符号,我显示一个失踪的象征,像这样。 但是,我无法在我的机器上find这个符号: 我的问题是:这个“主”是否正常持有这么多的内存,或者是我的端configuration错了,我无法看到真正的堆栈跟踪?

如何读取Xcode 6.1仪器.trace文件?

我一直在尝试使用仪器来读取使用自定义乐器模板(乐器: Automator , Allocations , Leaks )生成的.trace文件。 我在这个stackoverflow答案中find最好的帮助。 基本上, 作者创build了一个自定义的Objective-C程序( 追踪 )来读取特定types的.trace文件(仪器: OpenGL ES驱动程序 )。 他的回答是面向XCode 4.6 。 该代码仍然适用于XCode 6.1 ,但跟踪文件似乎有所改变。 您必须在.trace包中find*.run.zip文件并将其解压缩。 在提取的文件夹中,您现在必须find*.run文件。 .trace包中有几个*.run.zip文件; 每个使用的仪器一个。 简单地运行跟踪程序给了我一个uncaught exception 'NSArchiverArchiveInconsistency', reason: '*** class error for 'XRObjectAllocRun'错误uncaught exception 'NSArchiverArchiveInconsistency', reason: '*** class error for 'XRObjectAllocRun'错误。 这个错误最初很容易弄清楚。 我所要做的只是实现缺失的类XRObjectAllocRun ; 与XRRun的示例XRRun或XRVideoCardRun类相似 。 这是我得到了多less,我卡在哪里: #import "XRObjectAllocRun.h" @implementation XRObjectAllocRun – (id)initWithCoder:(NSCoder *)decoder […]

UILabel(CALayer)正在使用大量的虚拟内存

在Xcode and Instruments我使用大量的虚拟内存(匿名VM)来看UILabel (CALayer) )。 我发现每个UILabel大约有235 KB的虚拟内存。 我认为这可能是iOS 7.1或7.1.1的一个新问题。 这是预期的吗? 我创build了一个简单的程序,创build500 UILabels和Instruments显示使用115MB的内存。 在大约1500个标签上,应用程序被操作系统终止。 for (int i = 0; i < 500; i++) { index = (int)[self.items count]; index++; frame = CGRectMake(10.0, 20, 300.0, 50.0); UILabel *newLabel = [[UILabel alloc] initWithFrame:frame]; newLabel.text = [NSString stringWithFormat:@"This is text for label: %d", index]; newLabel.backgroundColor = [UIColor whiteColor]; [self.view […]

如何find一个iPhone应用程序100%的CPU使用率的原因

我在一个应用程序中诊断出一个奇怪的行为:10分钟左右后,CPU使用率达到100%。 应用程序没有泄漏,而应用程序什么也不做。 我可以使用“时间分析器”对仪器进行分析,但有什么方法可以find实际的原因?

仪器显示内存泄漏 – Xcode 5 / iOS7

我有以下一段代码: NSString *bgImageName = [[Useful instance] getRootviewBackgroundImageName]; UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:bgImageName]]; imageView.clipsToBounds = YES; CGRect rc = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); [imageView setFrame:rc]; [self.view insertSubview:imageView atIndex:0]; [imageView release]; 在上面的代码中,仪器在第二行显示100%的内存泄漏,在xcode 4.6中情况并非如此。 我正在使用osx 10.8.5上的xCode 5 看来,我正确地释放分配的UIImageView (第7行),它被插入我的观点在第6行,所以我不明白为什么intruments提出了内存泄漏警告。 有人知道为什么仪器会提出(在我看来)错误的信息? 编辑:这是仪器 – 截图与我的泄漏对象的分配总结: UIKit和QuartzCore保留我的对象,这是我泄漏UIImageView的原因(或者我错了这个假设?)。 UIImageView被插入到在我的xib文件中引用的视图(一个UIViewController )。 在添加到'self.view'后,如何控制添加的UIImageView会发生什么?

亚行相当于iOS设备

我正在寻找一些像Android ADB这样的工具来debuggingiOS设备。 我find了iOS仪器 ,这是一款能够在移动iOS设备上debugging应用程序的XCode工具。 如果您必须testing您的应用程序或其他开源应用程序,则此工具很有用。 我需要testingiOS设备,比我的应用程序,所以我正在寻找像Android设备的Android ADB的东西。 有没有像这样的东西?

什么是CG栅格数据?

我试图在代码中发现另一个内存泄漏,我似乎无法弄清楚CG栅格数据是什么。 在启用自动快照的情况下浏览VM跟踪器时,CG栅格数据似乎是唯一增加的部分。 没有拨款的增加,这些也在稳步增加。 我不完全确定CG栅格数据是什么,也不知道如何修复它,但在这一点上越来越多的脚印最终导致内存错误和崩溃,所以它不好! 我做我自己的文字渲染(使用CoreText),所以我想这与它有关。 我也在加载图片? 以下是足迹的图像: 更新:这个问题仍然存在,但有趣的是,我可以将它与Uifoundations中的一个泄漏相关联,称为“NSConcreteGlyphGenerator”。 它似乎只发生在实际绘制的CoreText方法中的属性string上的“boundingRectWithSize:”方法。 具体而言,该行是: [displayString boundingRectWithSize:CGSizeMake( self.frame.size.width, self.frame.size.height ) options:0 context:nil]; 慢慢地跟踪它…