草庐IT

out_queue

全部标签

ios - dispatch_sync(dispatch_get_global_queue(xxx), task) 是同步还是异步

苹果的文档说,dispatch_get_global_queue()是并发队列,dispatch_sync是串行的意思,那么任务是异步处理还是同步处理? 最佳答案 您对什么是队列以及异步与同步的含义感到困惑。队列是可以在其上运行block的实体。这些可以是串行的或并发的。串行意味着如果你按照A、B、C、D的顺序放置block,那么它们将被执行A,然后是B,然后是C,然后是D。并发意味着这些相同的block可能以不同的顺序执行,并且可能甚至不止一个同时运行(显然,假设您有多个要运行的内核)。然后是异步与同步。async的意思是当你调用

objective-c - 奇怪的崩溃问题为 :- Dispatch queue: com. apple.root.default-overcommit-priority

我正在开发一个应用程序,其中在ASINetworkQueue中添加了很多操作。这些操作基本上用于从服务器获取图像,然后成功完成后在表格View单元格中设置图像。一切都很好。我有一个按钮,一个TableView单元格,在该按钮上打开另一个ViewController。在另一个View上有一个十字按钮,我可以在该按钮上弹出该ViewController。现在,当点击十字按钮时,应用程序有时会在那里崩溃,有时当返回到上一个View并滚动我的表格View时会崩溃。当我看到崩溃日志时,我发现以下代码出现在任何崩溃的线程中。有时它是崩溃的线程2,有时它是崩溃的线程12,有时它是崩溃的线程6但该线程

ios - dispatch_get_current_queue() 已弃用,是否有安全 CoreData 的替代方案?

许多人问过一个标题相似但目的却截然不同的问题:CoreData要求您跟踪当前队列、当前线程和当前NSOperationQueue(如果您是NSOperation),如果您允许方法调用来自其他类(这,默认情况下,每个类都允许)。没有关于此的“可能”:这是一个硬性要求。这很好,而且通常很容易确保:NSAssert([NSThreadcurrentThread].isMainThread||myPrivateQueue==dispatch_get_current_queue(),@"Youtriedtocallthismethodfromanexternalthread,oraqueueot

iOS 低功耗蓝牙 : Code=6 "The connection has timed out unexpectedly."

我有一个BLE外围设备(我控制它的固件)和两个充当中心的移动应用程序,一个在Android上,另一个在iOS8.1上。Android应用运行良好。iOS没有。连接一段时间后,它会自动断开连接。错误是:Code=6"Theconnectionhastimedoutunexpectedly."连接和断开之间的时间是随机的。我测量了40秒到4分30秒。所有使用BLE连接的外围设备都是将一些固件日志消息写入移动应用程序UI。每隔几分钟,只有少数人快速连续地写入一个特征。外围设备固件没有错误。如何找到断开连接的原因? 最佳答案 在外围设备BL

ios - 触摸 ID : Biometry is locked out. 代码=-8

我在我的应用程序中使用Touchid来识别iPhone用户,什么时候使用canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics来评估用户是否有资格使用Touchid,但是在多次尝试失败之后,即使用户是有资格使用touchid,它返回FALSE。这将导致应用跳过此步骤并认为此设备不支持触摸ID。这是我得到的错误:ErrorDomain=com.apple.LocalAuthenticationCode=-8"Biometryislockedout."UserInfo={NSLocalizedDescription

ios - Touch ID 锁定多长时间? "Biometry is locked out."

我正在尝试实现TouchID登录,但当用户失败次数超过最大尝试次数时,我收到此错误"ErrorDomain=com.apple.LocalAuthenticationCode=-8"Biometryislockedout."UserInfo={NSLocalizedDescription=生物识别被锁定。}"我想知道:多长时间,在哪里可以检查它是否已锁定touchid?是否可以在不显示密码的情况下强制解锁?如果用户使用密码的所有尝试均失败,touchid会被锁定多长时间,或者我如何强制解锁它?谢谢! 最佳答案 TouchID一旦因尝

ios - 只能使用-performBlock : on an NSManagedObjectContext that was created with a queue

我想在CoreData中使用多线程。我在NSManageObject中解析xml文件。我使用下面的代码,但出现运行时错误Canonlyuse-performBlock:onanNSManagedObjectContextthatwascreatedwithaqueue。怎么了?//xmlParser-(void)main{dispatch_queue_tqueueB=dispatch_queue_create("CreateBooks",NULL);dispatch_async(queueB,^{//Openingxml//...NSManagedObjectContext*conte

iOS 应用程序因 cfrunloop_is_calling_out_to_an_observer_callback_function 而崩溃

在运行我的应用程序时,我偶尔会遇到这种崩溃,这似乎与我的代码无关。它是什么以及我如何避免它?Thread0name:Dispatchqueue:com.apple.main-threadThread0Crashed:0libsystem_kernel.dylib0x000000018fc4c16cmach_msg_trap+81libsystem_kernel.dylib0x000000018fc4bfdcmach_msg+722AudioToolbox0x0000000193c8bcdcASClient_AudioSessionSetActiveWithFlags+1323Audio

ios - "[NSBigMutableString substringWithRange:]: Range {0, 10} out of bounds; string length 9"撤消错误

当我尝试在UISearchBar上执行撤消操作时,我的应用程序崩溃了。在我的应用程序中,我有代码来防止在搜索栏上输入“%”符号,为此它在textDidChange方法中将%替换为@"",如下所示:-(void)searchBar:(UISearchBar*)searchBartextDidChange:(NSString*)searchText{self.searchBar.text=[searchTextstringByReplacingOccurrencesOfString:@"%"withString:@""];}因此,如果我输入文本“abc%xyz”,搜索栏上显示的最终文本将是

ios - Xcode 7.0.1、机器人和服务器 5.0.4 : Test target "xx" encountered an error - Timed out waiting 120 seconds for simulator to boot

预期结果:您在创建机器人时选中“测试”复选框,Xcode服务器会像在WWDC中一样完美地执行mt测试。结果:Xcode吐出一堆模拟器超时错误,集成失败。测试目标“xxx”遇到错误(模拟器启动超时等待120秒,当前状态为1。如果您认为此错误代表错误,请在/Library/Developer/XcodeServer/Integrations附上日志文件/Integration-0e5a387ef456a57b7a2d5a90d004256d/xxxx.log)环境:Xcode7.0.1服务器5.0.4操作系统10.11在两台不同的机器上复制了两个不同的项目。此外,在OSX10.10和Xco