小编joh*_*ieb的帖子

如何从辅助线程中找到对UIKit实例的调用?

我的应用程序在iOS 5中崩溃,因为我有一些代码从辅助线程调用UIKit实例.当您看到以下错误时,您知道有这个问题:

bool _WebTryThreadLock(bool),0x811bf20:不允许在网络线程上进行多次锁定!请提交一个错误.现在崩溃......

所以我的问题是,我可以通过哪些方法找到从辅助线程调用UIKit实例的代码?

以下是我已经尝试过的一些事情:

  1. 注释掉可能违反规则的块
  2. assert([NSThread isMainThread])在可能在辅助线程中处理的位置添加
  3. 添加了符号断点 _WebTryThreadLock

这些东西帮助我找到了问题所在.但是,在我的最终崩溃中,_WebTryThreadLock断点在任何其他线程中都没有堆栈跟踪.那么,如何在没有堆栈跟踪的情况下找到导致问题的代码?

谢谢你的时间!

cocoa-touch objective-c ios xcode4 ios5

7
推荐指数
1
解决办法
1953
查看次数

如何让Jsvc找到DaemonLoader?

我有commons-daemon-x.jarclasspath.该JSVC成功启动Java VM.但是jsvc报告它找不到守护进程加载器类,即使它在classpath.

有谁知道如何解决这个问题?我正在运行Mac OS X 10.8.3.谢谢.

这是jsvc调试输出的摘录:

...    
+-- DUMPING JAVA VM CREATION ARGUMENTS -----------------
| Version:                       0x010004
| Ignore Unrecognized Arguments: False
| Extra options:                 1
|   "-Djava.class.path=commons-daemon-1.0.15.jar:./api-monitor.jar" (0x00000000)
+———————————————————————————
...
Java VM created successfully
Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
java_init failed
Service exit with a return value of 1
...
Run Code Online (Sandbox Code Playgroud)

如果有帮助,这是完整的调试输出:

sudo jsvc -jvm server -debug -cp commons-daemon-1.0.15.jar:./api-monitor.jar ApiMonitorDaemon

+-- DUMPING PARSED COMMAND LINE ARGUMENTS -------------- …
Run Code Online (Sandbox Code Playgroud)

java service daemon apache-commons jsvc

5
推荐指数
2
解决办法
1万
查看次数

ActiveMQ REST API URI?

我无法在ActiveMQ 5.4.0中使用REST API运行示例。我看过几个不同的GET URI。

所述文档是指这个URI:HTTP://本地主机:8161 /演示/消息/ <队列名称>类型=队列

其他来源引用这些URI:

  1. http:// localhost:8161 / queue / <队列名称>
  2. http:// localhost:8161 / demo / message / <队列名称>

哪个URI正确?有没有我错过的配置?

谢谢!

rest activemq-classic servlets jms

4
推荐指数
1
解决办法
7006
查看次数

如何将时区偏移缩写转换为官方时区标识符?

当我调用NSTimeZone的缩写方法时,它返回GMT-07:00.然后,当我使用此值查找时区名称或(时区标识符)时,它将返回nil.

我需要检索官方时区标识符,例如America/Los_Angeles.因此,如何将时区偏移缩写(例如GMT-07:00)转换为官方时区标识符?

这是我的代码:

NSTimeZone* localTimeZone = [NSTimeZone localTimeZone];
NSString* localAbbreviation = [localTimeZone abbreviation];
NSDictionary* abbreviationDictionary = [NSTimeZone abbreviationDictionary];
NSString* timeZoneID = 
[abbreviationDictionary objectForKey:localAbbreviation]; //should return 'America/Los_Angeles' if the abbreviation is ‘PDT’
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c ios

4
推荐指数
1
解决办法
5883
查看次数