我想测试我的应用程序的低网络连接情况.除了站在电梯里,最好的办法是什么?我试过用铝箔包裹我的手机,但它没有多大帮助.
我需要在真实设备上测试它,而不是在模拟器中测试它.
我正在尝试使用运行OS X Mavericks的机器上运行Network Link Conditioner.我正在运行Developer Preview 8(截至本文撰写时的最新版本).我下载了"Xcode 5 Developer Preview - 2013年6月的硬件IO工具"以获取Network Link Conditioner pref窗格.我还尝试了以前的硬件IO工具包中的网络链接调节器版本,该版本无法打开"无法加载网络链接调节器首选项窗格".尝试加载时出错.
使用Xcode 5的版本,我得到两个失败状态之一.
首先,当我打开NLC并单击锁定图标以"进行更改"时,我看到管理员解锁窗口显示:
com.apple.Network-Link-Conditioner.remoteservice.xcp wants to make changes. Type your password to allow this.
当这出现时我无法输入密码.在取消密码提示之前,密码字段或任何其他应用程序中未注册任何键盘字符.我在任何其他首选项窗格中使用等效对话框都没有问题.
其次,我可以通过卸载最新的NLC pref窗格,安装以前的版本,卸载以前的版本,然后重新安装最新的NLC首选项窗格来解决密码问题.但是,我注意到密码对话框在这种情况下是不同的.我得到更通用的:
System Preferences wants to make changes. Type your password to allow this.
在第二个失败的状态下,一旦我输入我的密码,NLC pref窗格就可以完全访问,但对我的网络链接没有任何影响.
有没有人能够在OS X Mavericks上成功使用网络链接调节器?
更新:
10月22日发布的硬件IO工具版本以及Mavericks的最终版本似乎运行良好.
我的iOS应用程序中有一个随机崩溃.在慢速互联网连接时会发生这种情况 我的办公室网速太快了.
为了在模拟器上进行测试,我安装了网络链路调节器,如下所述:安装Apple的网络链路调节器工具
现在的问题是,我选择了一个较慢的连接配置文件,但我仍然在模拟器中具有正常(快速)的互联网速度.
我还创建了自己的配置文件,并将下载带宽设置为5kbps,但仍无用.
我有:Mackbook视网膜,OSX 10.7.5,XCode:4.4.1
重新启动Xcode和Simulator也无法正常工作.
Network Link Conditioner是否还需要其他设置?或者我应该做些什么来重建崩溃?有帮助吗?
我们遇到了一个奇怪的崩溃,其中UIImagePNGRepresentation()有时会导致png_error调用.我们无法在内部任何设备上重现此错误.
以下是我们的HockeyApp崩溃日志中的堆栈跟踪示例:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x3167132c __pthread_kill + 8
1 libsystem_c.dylib 0x33d6729f abort + 94
2 ImageIO 0x346c38bf png_error + 114
3 ImageIO 0x346c2fe3 png_write_end + 46
4 ImageIO 0x346bf069 writeOnePng + 2260
5 ImageIO 0x346be78b _CGImagePluginWritePNG + 82
6 ImageIO 0x346be6fd CGImageDestinationFinalize + 132
7 UIKit 0x31346e23 UIImagePNGRepresentation + 274
Run Code Online (Sandbox Code Playgroud)
我们只在运行iOS 5.1及更高版本的设备上看到此崩溃日志.我们实际上已经从iOS 6崩溃了,所以这个bug还没有修复.
我编写了一个测试应用程序,可下载超过16,000个可能的图像,我们的应用程序可以显示这些图像,所有这些图像都可以下载并保存到磁盘而没有任何问题.对这个要点的一些回应暗示这个问题可能是由于图像损坏引起的,但看到我如何下载超过16,000张图片而且从未出现过问题,我认为不会出现这种情况.
我正在研究的最新假设是,以某种方式下载的数据已损坏,因此正在创建损坏的UIImage.但是,所有创建损坏的UIImage的尝试都失败了.Apple似乎为UIImage创建了一个健壮的构造函数,这样我传入的任何无效内容都会导致从构造函数返回nil.
UIImagePNGRepresentation有没有其他人经历过这样的事情?
我想在可能的所有网络条件下测试我的iOS应用程序,包括连接质量(离线,差,好)和运营商(WiFi,3G).对于前者,其他人已经建议使用网络链接调节器,例如:
这对带宽和数据包丢失来说很好,但不幸的是它无法改变报告给模拟器的载波类型.所以我正在寻找一种模拟载体类型变化的不那么黑客的方法.我说不是那么hacky,因为我已经提出了一个hacky解决方案,此外,它不完整,因为它只能欺骗明确依赖于Apple着名Reachability模块的代码.(虽然如果有人有兴趣,我可以在这里发布.)
有没有办法劫持/篡改SystemConfigurationAPI报告的内容?
我写基于Web的应用程序.性能显然是一个关键因素.虽然数据库负载和页面呈现时间是我可以控制的,但用户的互联网连接却不是.
我正在寻找的是一种指示用户具有何种连接的方式.网站角落的红绿灯线条,向用户显示他们对网站的连接类型,从而表明他们应该期望的那种感知性能.例如,也许应用程序似乎很慢,因为贵公司的其他人都在午餐时间浏览Facebook.
我最初的想法是,这可以通过在每个页面加载上运行的一些javascript来实现.
理想情况下,代码非常"可丢弃",并且不需要实现主要代码或基础结构更改.
connectivity ×2
ios ×2
xcode ×2
android ×1
bandwidth ×1
image ×1
ios5.1 ×1
iphone ×1
latency ×1
macos ×1
networking ×1
performance ×1
png ×1