バックグラウンドでバックグラウンドで動作するバックグラウンドcocoaasyncsocketソケットがあります。数分後にバックグラウンドソケットでリッスンするSIGSTOP
//DELEGATE
- (void) socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
self.i += 1;
NSLog(@"didReadData %d %@", self.i, [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]);
[self.asyncSocket readDataWithTimeout:-1 tag:0];
}
- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
NSLog(@"socket:%p didConnectToHost:%@ port:%hu", sock, host, port);
[self.asyncSocket performBlock:^{
[self.asyncSocket enableBackgroundingOnSocket];
}];
[self.asyncSocket readDataWithTimeout:-1 tag:0];
}
//.plist
<key>UIBackgroundModes</key>
<array>
<string>voip</string>
</array>
それは私がSIGSTOPやアプリ "クラッシュ" を取得あとがき最初の3分間正常に動作します。なぜなのかご存知ですか?
本当にクラッシュするのですか、何もしないだけですか? – mringwal
問題が見つかりましたか?私はxCode 4.3.2にアップグレードする前に正常に動作したアプリケーションで同様の問題があります。 – alinoz