我们几年前开发的应用程序自iOS 10推出以来就开始崩溃.该应用程序重复呈现UIImagePickerControllers,以允许用户捕获主题的多张照片.这样做了40多次后,应用程序崩溃了.这在我们测试过的所有设备上都是可重现的,但在引入iOS 10之前没有发生.我们在Info.plist文件中有NSCameraUsageDescription和NSPhotoLibraryUsageDescription键.
我创建了一个演示问题的最小示例应用程序.这是最终导致崩溃的代码:
- (IBAction) cameraPressed:(id) sender {
self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.delegate = self;
self.picker.allowsEditing = NO;
[self presentViewController:self.picker animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
当用户反复使用连接到此IBAction的相机按钮时,它最终开始变慢(拾取器的呈现开始花费更长时间),并最终崩溃(通常在相机使用50次以后).没有生成崩溃日志,但是当连接到Xcode时,这样的输出会出现在导致崩溃的控制台中:
2016-11-04 20:30:11.884984 WLPBeta[2747:275474] [MC] Invalidating cache
2016-11-04 20:30:11.890776 WLPBeta[2747:273019] [MC] Reading from public effective user settings.
2016-11-04 20:30:13.017608 WLPBeta[2747:275091] [MC] Invalidating cache
2016-11-04 20:30:13.018312 WLPBeta[2747:273019] [MC] Reading from public effective user settings.
2016-11-04 20:30:19.271720 WLPBeta[2747:276311] [MC] Invalidating cache
2016-11-04 20:30:19.279462 WLPBeta[2747:273019] [MC] Reading from public effective user settings.
2016-11-04 20:32:08.229294 WLPBeta[2747:278515] …Run Code Online (Sandbox Code Playgroud) 当我从命令提示符运行mvn测试时,它不会显示在构建结束时哪些测试失败.不应该在测试中列出失败的测试错误吗?我正在使用windows xp :(我已经在命令提示符和console2中尝试过了.
结果:
Tests in error:
Tests run: 402, Failures: 0, Errors: 1, Skipped: 2
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
Please refer to C:\code\btlims\java\chippingmanager\chipping-manager-client\target\surefire-reports for the individual test results.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 27 seconds
[INFO] Finished at: Tue Mar 29 09:19:58 CDT 2011
[INFO] Final Memory: 24M/43M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud) 我正在尝试在游戏中使用SKShapeNodes,并发现抗锯齿的SKShapeNodes非常模糊.
没有抗锯齿:

使用抗锯齿:

有没有办法在SpriteKit中使用SKShapeNodes的抗锯齿来减少线条上的阶梯踩踏,但不会像上面的第二张图片那样使线条模糊?
我memcached在Ubuntu上安装了.如何将其作为守护程序运行,以便它在后台运行,我可以在我的rails应用程序中使用它?
谢谢,伊姆兰
我一直在调试一些现有的代码,我的系统上的单元测试失败了,但同事的系统却没有.根本原因是SimpleDateFormat在解析应该可解析的日期时抛出ParseExceptions.我创建了一个单元测试,演示了我的系统失败的代码:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import junit.framework.TestCase;
public class FormatsTest extends TestCase {
public void testParse() throws ParseException {
DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS Z");
formatter.setTimeZone(TimeZone.getDefault());
formatter.setLenient(false);
formatter.parse(formatter.format(new Date()));
}
}
Run Code Online (Sandbox Code Playgroud)
此测试在我的系统上抛出ParseException,但在其他系统上成功运行.
java.text.ParseException: Unparseable date: "20100603100243.118 -0600"
at java.text.DateFormat.parse(DateFormat.java:352)
at FormatsTest.testParse(FormatsTest.java:16)
Run Code Online (Sandbox Code Playgroud)
我发现我可以setLenient(true),测试会成功.该setLenient(false)是什么样的生产代码,本次测试模拟使用,所以我不想去改变它.
我正在使用Xcode 4.3.2和lldb作为我的调试器.
我继承了一个项目,其中包含从辅助线程调用UIKit的代码,如这些日志消息所示:
2012-05-02 21:48:14.603 Appname Dev [77594:16e0f] void _WebThreadLockFromAnyThread(bool),0x8d5f810:从主线程或Web线程以外的线程获取Web锁定.不应该从辅助线程调用UIKit.
我已经清理了从辅助线程进行UIKit调用的大部分代码,但我偶尔会在日志中看到这条消息.该应用程序没有崩溃,因此很难确定问题所在.
我想设置断点_WebThreadLockFromAnyThread,但是当我尝试使用以下方法设置符号断点时:
b _WebThreadLockFromAnyThread
Run Code Online (Sandbox Code Playgroud)
调试器告诉我:
断点集--name'_WebThreadLockFromAnyThread'创建断点:12:name ='_ WebThreadLockFromAnyThread',locations = 0(pending)警告:无法解析任何实际位置的断点.
我也尝试使用断点导航器中的UI创建符号断点,但我不确定要为模块输入什么.当我将模块留空时,会创建断点,但在调试控制台中显示日志消息时它仍然没有中断.
任何人都可以告诉我如何添加断点_WebThreadLockFromAnyThread,以及如何确定此符号的定义模块是什么?
我正在开发一款为Mountain Lion开发的Mac OS X应用程序.该应用程序在第一次运行时执行一些设置任务.然后它设置一个标志[NSUserDefaults standardUserDefaults]; 在后续运行中,应用程序检查是否设置了该标志,如果已设置,则不执行这些首次设置任务.
在Mountain Lion上,我能够删除〜/ Library/Preferences/bundleid.plist文件,以消除应用程序存储在NSUserDefaults中的所有内容.但是,在最新版本的Mac OS X上,当应用程序运行时,它甚至都没有创建该文件.我通过检查[[NSUserDefaults standardUserDefaults] objectForKey:@"foo"]调试器中返回的值来验证它是否成功地将数据保存到NSUserDefaults .
有人能指出我关于如何删除存储在NSUserDefaults中的应用程序设置的正确方向吗?
我可能用20种不同的语法搜索了这个问题,我找不到答案.请帮忙!!!如何在xcode 4中安装Cocos2d项目模板?我尝试了不同的方法,但是当我在Xcode 4中构建一个新项目时,它们仍然没有显示出来!救命!
当使用gdb(通过调试控制台)在Xcode 4中调试iPad程序时,我正在尝试打印出运行类方法的结果:
(gdb) po [MyClass foo:@"bar"]
Run Code Online (Sandbox Code Playgroud)
gdb输出以下内容:
当前上下文中没有符号"MyClass".
有没有办法+(NSString *)foo:(NSString *)string在Xcode 4中打印使用gdb 的结果?
iphone ×4
ios ×3
objective-c ×3
xcode ×3
cocoa ×1
cocoa-touch ×1
daemon ×1
gdb ×1
ios4 ×1
ios7 ×1
java ×1
macos ×1
maven ×1
memcached ×1
sprite-kit ×1
testing ×1
ubuntu ×1
uikit ×1
windows-xp ×1
xcode4 ×1