相关疑难解决方法(0)

正确使用beginBackgroundTaskWithExpirationHandler

我对如何以及何时使用感到困惑beginBackgroundTaskWithExpirationHandler.

Apple在他们的示例中显示在applicationDidEnterBackground委托中使用它,以便有更多时间来完成一些重要任务,通常是网络事务.

在查看我的应用程序时,似乎我的大多数网络内容都很重要,当一个人启动时,如果用户按下主页按钮,我想完成它.

因此,beginBackgroundTaskWithExpirationHandler为了安全起见,包装每个网络事务(并且我不是在谈论下载大量数据,大多数是短xml)是接受/良好做法 吗?

network-programming objective-c multitasking ios background-thread

99
推荐指数
4
解决办法
5万
查看次数

NSOperation和NSOperationQueue工作线程vs主线程

我必须在我的应用程序中执行一系列下载和数据库写入操作.我正在使用NSOperationNSOperationQueue相同的.

这是应用场景:

  • 从一个地方获取所有邮政编码.
  • 对于每个邮政编码取得所有房屋.
  • 为每个房子取回居民的详细信息

如上所述,我NSOperation为每项任务定义了一个.在第一种情况下(Task1),我向服务器发送请求以获取所有邮政编码.将在该会议中的代表NSOperation接收数据.然后将该数据写入数据库.数据库操作在不同的类中定义.从NSOperation类I开始调用数据库类中定义的write函数.

我的问题是数据库写操作是在主线程还是后台线程中发生的?正如我在其中调用它一样, NSOperation我期望它在不同的线程(Not MainThread)中运行NSOperation.有人可以在处理NSOperation和解释这个场景时解释NSOperationQueue.

multithreading objective-c nsoperation nsoperationqueue ios

80
推荐指数
4
解决办法
9万
查看次数

iPhone应用程序"在允许的时间之外有活跃的断言"

我试图弄清楚我收到的iPhone应用程序的崩溃日志.我能看到的主要内容是:

Application Specific Information:
MyMoodTrack[144] has active assertions beyond permitted time: 
{(
    <SBProcessAssertion: 0x73c6480> identifier: Suspending process: MyMoodTrack[144] permittedBackgroundDuration: 10.000000 reason: suspend owner pid:26 preventSuspend  preventThrottleDownCPU  preventThrottleDownUI 
)}
Run Code Online (Sandbox Code Playgroud)

这告诉我,好像这个过程已被杀死,因为启动时间太长.这听起来不错吗?它只发生在用户没有互联网连接的情况下,尽管我还没有能够在我的最后重复这一点.下面附有完整的崩溃日志,但我无法正确地进行符号化.

Incident Identifier: 368C9C91-43FF-4FB5-AD50-B75D944AFB1B
CrashReporter Key:   18c5260f4e6af9802ba3eb0d838ed5b6dc7b932a
Hardware Model:      iPod3,1
Process:         MyMoodTrack [144]
Path:            /var/mobile/Applications/E39675AA-1E1C-4D39-98DB-A81A1F944DE6/MyMoodTrack.app/MyMoodTrack
Identifier:      MyMoodTrack
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-09-05 22:53:42.306 +0100
OS Version:      iPhone OS 4.0.2 (8A400)
Report Version:  104

Exception Type:  00000020
Exception Codes: 0x8badf00d
Highlighted Thread:  0

Application Specific …
Run Code Online (Sandbox Code Playgroud)

iphone crash-reports

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