Ben Copsey

Start using a custom runloopmode to stop the iphone trying to draw from secondary threads

Who knows - this might even be more efficient!
... ... @@ -123,6 +123,7 @@
NSTimeInterval timeOutSeconds;
NSAutoreleasePool *pool;
}
#pragma mark init / dealloc
... ...
... ... @@ -13,6 +13,8 @@
#import "ASIHTTPRequest.h"
#import "NSHTTPCookieAdditions.h"
static CFStringRef ASIHTTPRequestRunMode = CFSTR("ASIHTTPRequest");
static NSString *NetworkRequestErrorDomain = @"com.Your-Company.Your-Product.NetworkError.";
static const CFOptionFlags kNetworkEvents = kCFStreamEventOpenCompleted |
... ... @@ -136,6 +138,10 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
// Create the request
- (void)main
{
[pool release];
pool = [[NSAutoreleasePool alloc] init];
complete = NO;
// Create a new HTTP request.
... ... @@ -199,6 +205,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
// Start the request
- (void)loadRequest
{
CFRunLoopAddCommonMode(CFRunLoopGetCurrent(),ASIHTTPRequestRunMode);
[authenticationLock release];
authenticationLock = [[NSConditionLock alloc] initWithCondition:1];
... ... @@ -234,12 +241,12 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
}
// Schedule the stream
CFReadStreamScheduleWithRunLoop(readStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
CFReadStreamScheduleWithRunLoop(readStream, CFRunLoopGetCurrent(), ASIHTTPRequestRunMode);
// Start the HTTP connection
if (!CFReadStreamOpen(readStream)) {
CFReadStreamSetClient(readStream, 0, NULL, NULL);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), ASIHTTPRequestRunMode);
CFRelease(readStream);
readStream = NULL;
[self failWithProblem:@"Unable to start http connection"];
... ... @@ -276,8 +283,12 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
break;
}
[self updateProgressIndicators];
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:endDate];
CFRunLoopRunInMode(ASIHTTPRequestRunMode,0.5,YES);
//[[NSRunLoop currentRunLoop] runMode:NSRunLoopCommonModes beforeDate:endDate];
}
[pool release];
pool = nil;
}
// Cancel loading and clean up
... ... @@ -286,7 +297,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
if (readStream) {
CFReadStreamClose(readStream);
CFReadStreamSetClient(readStream, kCFStreamEventNone, NULL, NULL);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), ASIHTTPRequestRunMode);
CFRelease(readStream);
readStream = NULL;
}
... ... @@ -811,7 +822,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy
if (readStream) {
CFReadStreamClose(readStream);
CFReadStreamSetClient(readStream, kCFStreamEventNone, NULL, NULL);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
CFReadStreamUnscheduleFromRunLoop(readStream, CFRunLoopGetCurrent(), ASIHTTPRequestRunMode);
CFRelease(readStream);
readStream = NULL;
}
... ...
... ... @@ -231,6 +231,8 @@
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
... ... @@ -281,8 +283,8 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>30</integer>
<integer>22</integer>
<integer>11</integer>
<integer>6</integer>
<integer>0</integer>
</array>
</array>
... ... @@ -306,7 +308,7 @@
<real>312</real>
</array>
<key>RubberWindowFrame</key>
<string>179 143 1432 976 0 0 1920 1178 </string>
<string>411 202 1432 976 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
... ... @@ -317,14 +319,12 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>ASIHTTPRequest.m</string>
<string>SynchronousViewController.m</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
... ... @@ -332,11 +332,11 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>ASIHTTPRequest.m</string>
<string>SynchronousViewController.m</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>B5B0431D0EC621160089D01F</string>
<string>B56D95070EC6300600B3649A</string>
<key>history</key>
<array>
<string>B5731B8B0E4310180008024F</string>
... ... @@ -363,18 +363,18 @@
<string>B5B042410EC612E10089D01F</string>
<string>B5B042640EC613850089D01F</string>
<string>B5B0428B0EC614680089D01F</string>
<string>B5B042AB0EC6159B0089D01F</string>
<string>B5B042AC0EC6159B0089D01F</string>
<string>B5B042AD0EC6159B0089D01F</string>
<string>B5B042B00EC6159B0089D01F</string>
<string>B5B042D00EC618CC0089D01F</string>
<string>B5B042EC0EC61B270089D01F</string>
<string>B5B042ED0EC61B270089D01F</string>
<string>B5B042EE0EC61B270089D01F</string>
<string>B5B042EF0EC61B270089D01F</string>
<string>B5B042F70EC61B4C0089D01F</string>
<string>B5B0431A0EC621160089D01F</string>
<string>B5B0431B0EC621160089D01F</string>
<string>B5B043210EC621890089D01F</string>
<string>B56D94E40EC62EAF00B3649A</string>
<string>B56D94E50EC62EAF00B3649A</string>
<string>B56D94E60EC62EAF00B3649A</string>
<string>B56D94E70EC62EAF00B3649A</string>
<string>B56D94E80EC62EAF00B3649A</string>
</array>
<key>prevStack</key>
<array>
... ... @@ -408,435 +408,20 @@
<string>B5F4C4120EC4882400D4F31C</string>
<string>B5F4C45E0EC4AD6900D4F31C</string>
<string>B5F4C4600EC4AD6900D4F31C</string>
<string>B5B03CB70EC4DA0E0089D01F</string>
<string>B5B03CB80EC4DA0E0089D01F</string>
<string>B5B03CB90EC4DA0E0089D01F</string>
<string>B5B03CCF0EC4E8510089D01F</string>
<string>B5B03CD00EC4E8510089D01F</string>
<string>B5B03CD10EC4E8510089D01F</string>
<string>B5B03CD20EC4E8510089D01F</string>
<string>B5B03D060EC4E9DF0089D01F</string>
<string>B5B03D070EC4E9DF0089D01F</string>
<string>B5B03D080EC4E9DF0089D01F</string>
<string>B5B03D1D0EC5BE420089D01F</string>
<string>B5B03D1E0EC5BE420089D01F</string>
<string>B5B03D1F0EC5BE420089D01F</string>
<string>B5B03D200EC5BE420089D01F</string>
<string>B5B03D210EC5BE420089D01F</string>
<string>B5B03D220EC5BE420089D01F</string>
<string>B5B03D230EC5BE420089D01F</string>
<string>B5B03D240EC5BE420089D01F</string>
<string>B5B03D250EC5BE420089D01F</string>
<string>B5B03D260EC5BE420089D01F</string>
<string>B5B03D270EC5BE420089D01F</string>
<string>B5B03D280EC5BE420089D01F</string>
<string>B5B03D290EC5BE420089D01F</string>
<string>B5B03D2A0EC5BE420089D01F</string>
<string>B5B03D2B0EC5BE420089D01F</string>
<string>B5B03D2C0EC5BE420089D01F</string>
<string>B5B03D2D0EC5BE420089D01F</string>
<string>B5B03D2E0EC5BE420089D01F</string>
<string>B5B03D2F0EC5BE420089D01F</string>
<string>B5B03D420EC5BED20089D01F</string>
<string>B5B03D430EC5BED20089D01F</string>
<string>B5B03D590EC5C0850089D01F</string>
<string>B5B03D5A0EC5C0850089D01F</string>
<string>B5B03D5B0EC5C0850089D01F</string>
<string>B5B03D5C0EC5C0850089D01F</string>
<string>B5B03D670EC5C14F0089D01F</string>
<string>B5B03D680EC5C14F0089D01F</string>
<string>B5B03D690EC5C14F0089D01F</string>
<string>B5B03D6A0EC5C14F0089D01F</string>
<string>B5B03D6B0EC5C14F0089D01F</string>
<string>B5B03D6C0EC5C14F0089D01F</string>
<string>B5B03D6D0EC5C14F0089D01F</string>
<string>B5B03DC00EC5D21B0089D01F</string>
<string>B5B03DC10EC5D21B0089D01F</string>
<string>B5B03DC20EC5D21B0089D01F</string>
<string>B5B03DC30EC5D21B0089D01F</string>
<string>B5B03DC40EC5D21B0089D01F</string>
<string>B5B03DC50EC5D21B0089D01F</string>
<string>B5B03DC60EC5D21B0089D01F</string>
<string>B5B03DC70EC5D21B0089D01F</string>
<string>B5B03DC80EC5D21B0089D01F</string>
<string>B5B03DC90EC5D21B0089D01F</string>
<string>B5B03DCA0EC5D21B0089D01F</string>
<string>B5B03DCB0EC5D21B0089D01F</string>
<string>B5B03DCC0EC5D21B0089D01F</string>
<string>B5B03DCD0EC5D21B0089D01F</string>
<string>B5B03DCE0EC5D21B0089D01F</string>
<string>B5B03DCF0EC5D21B0089D01F</string>
<string>B5B03DD00EC5D21B0089D01F</string>
<string>B5B03DD10EC5D21B0089D01F</string>
<string>B5B03DD20EC5D21B0089D01F</string>
<string>B5B03DD30EC5D21B0089D01F</string>
<string>B5B03DD40EC5D21B0089D01F</string>
<string>B5B03DD50EC5D21B0089D01F</string>
<string>B5B03DD60EC5D21B0089D01F</string>
<string>B5B03DD70EC5D21B0089D01F</string>
<string>B5B03DD80EC5D21B0089D01F</string>
<string>B5B03DD90EC5D21B0089D01F</string>
<string>B5B03DDA0EC5D21B0089D01F</string>
<string>B5B03DDB0EC5D21B0089D01F</string>
<string>B5B03DDC0EC5D21B0089D01F</string>
<string>B5B03DDD0EC5D21B0089D01F</string>
<string>B5B03DDE0EC5D21B0089D01F</string>
<string>B5B03DDF0EC5D21B0089D01F</string>
<string>B5B03DE00EC5D21B0089D01F</string>
<string>B5B03DE10EC5D21B0089D01F</string>
<string>B5B03DE20EC5D21B0089D01F</string>
<string>B5B03DE30EC5D21B0089D01F</string>
<string>B5B03DE40EC5D21B0089D01F</string>
<string>B5B03DE50EC5D21B0089D01F</string>
<string>B5B03DE60EC5D21B0089D01F</string>
<string>B5B03DE70EC5D21B0089D01F</string>
<string>B5B03DE80EC5D21B0089D01F</string>
<string>B5B03DE90EC5D21B0089D01F</string>
<string>B5B03DEA0EC5D21B0089D01F</string>
<string>B5B03DEB0EC5D21B0089D01F</string>
<string>B5B03DEC0EC5D21B0089D01F</string>
<string>B5B03DED0EC5D21B0089D01F</string>
<string>B5B03DEE0EC5D21B0089D01F</string>
<string>B5B03DEF0EC5D21B0089D01F</string>
<string>B5B03DF00EC5D21B0089D01F</string>
<string>B5B03DF10EC5D21B0089D01F</string>
<string>B5B03DF20EC5D21B0089D01F</string>
<string>B5B03DF30EC5D21B0089D01F</string>
<string>B5B03DF40EC5D21B0089D01F</string>
<string>B5B03DF50EC5D21B0089D01F</string>
<string>B5B03DF60EC5D21B0089D01F</string>
<string>B5B03DF70EC5D21B0089D01F</string>
<string>B5B03DF80EC5D21B0089D01F</string>
<string>B5B03DF90EC5D21B0089D01F</string>
<string>B5B03DFA0EC5D21B0089D01F</string>
<string>B5B03DFB0EC5D21B0089D01F</string>
<string>B5B03DFC0EC5D21B0089D01F</string>
<string>B5B03DFD0EC5D21B0089D01F</string>
<string>B5B03DFE0EC5D21B0089D01F</string>
<string>B5B03DFF0EC5D21B0089D01F</string>
<string>B5B03E000EC5D21B0089D01F</string>
<string>B5B03E010EC5D21B0089D01F</string>
<string>B5B03E020EC5D21B0089D01F</string>
<string>B5B03E030EC5D21B0089D01F</string>
<string>B5B03E040EC5D21B0089D01F</string>
<string>B5B03E050EC5D21B0089D01F</string>
<string>B5B03E060EC5D21B0089D01F</string>
<string>B5B03E070EC5D21B0089D01F</string>
<string>B5B03E080EC5D21B0089D01F</string>
<string>B5B03E090EC5D21B0089D01F</string>
<string>B5B03E0A0EC5D21B0089D01F</string>
<string>B5B03E0B0EC5D21B0089D01F</string>
<string>B5B03E0C0EC5D21B0089D01F</string>
<string>B5B03E0D0EC5D21B0089D01F</string>
<string>B5B03E0E0EC5D21B0089D01F</string>
<string>B5B03E0F0EC5D21B0089D01F</string>
<string>B5B03E100EC5D21B0089D01F</string>
<string>B5B03E110EC5D21B0089D01F</string>
<string>B5B03E1E0EC5D29E0089D01F</string>
<string>B5B03E1F0EC5D29E0089D01F</string>
<string>B5B03E200EC5D29E0089D01F</string>
<string>B5B03E210EC5D29E0089D01F</string>
<string>B5B03E220EC5D29E0089D01F</string>
<string>B5B03E310EC5D2D30089D01F</string>
<string>B5B03E3B0EC5D3050089D01F</string>
<string>B5B03E3C0EC5D3050089D01F</string>
<string>B5B03E430EC5D3410089D01F</string>
<string>B5B03E440EC5D3410089D01F</string>
<string>B5B03E450EC5D3410089D01F</string>
<string>B5B03E4E0EC5D3A10089D01F</string>
<string>B5B03E4F0EC5D3A10089D01F</string>
<string>B5B03E500EC5D3A10089D01F</string>
<string>B5B03E510EC5D3A10089D01F</string>
<string>B5B03E520EC5D3A10089D01F</string>
<string>B5B03E530EC5D3A10089D01F</string>
<string>B5B03E540EC5D3A10089D01F</string>
<string>B5B03E5B0EC5D3B70089D01F</string>
<string>B5B03E5C0EC5D3B70089D01F</string>
<string>B5B03E650EC5D49D0089D01F</string>
<string>B5B03E660EC5D49D0089D01F</string>
<string>B5B03E670EC5D49D0089D01F</string>
<string>B5B03E7B0EC5D5730089D01F</string>
<string>B5B03E7C0EC5D5730089D01F</string>
<string>B5B03E880EC5D5B40089D01F</string>
<string>B5B03E890EC5D5B40089D01F</string>
<string>B5B03E8A0EC5D5B40089D01F</string>
<string>B5B03E8B0EC5D5B40089D01F</string>
<string>B5B03E8C0EC5D5B40089D01F</string>
<string>B5B03E9F0EC5D6580089D01F</string>
<string>B5B03EA00EC5D6580089D01F</string>
<string>B5B03EA10EC5D6580089D01F</string>
<string>B5B03EA20EC5D6580089D01F</string>
<string>B5B03EA30EC5D6580089D01F</string>
<string>B5B03EA40EC5D6580089D01F</string>
<string>B5B03EB30EC5D6920089D01F</string>
<string>B5B03EB40EC5D6920089D01F</string>
<string>B5B03EBA0EC5D6B10089D01F</string>
<string>B5B03EBB0EC5D6B10089D01F</string>
<string>B5B03EBC0EC5D6B10089D01F</string>
<string>B5B03EBD0EC5D6B10089D01F</string>
<string>B5B03EC30EC5D6D30089D01F</string>
<string>B5B03EC40EC5D6D30089D01F</string>
<string>B5B03EC90EC5D6F50089D01F</string>
<string>B5B03ED20EC5D7230089D01F</string>
<string>B5B03ED30EC5D7230089D01F</string>
<string>B5B03ED40EC5D7230089D01F</string>
<string>B5B03ED50EC5D7230089D01F</string>
<string>B5B03EE70EC5D7F20089D01F</string>
<string>B5B03EE80EC5D7F20089D01F</string>
<string>B5B03EE90EC5D7F20089D01F</string>
<string>B5B03EEA0EC5D7F20089D01F</string>
<string>B5B03EEB0EC5D7F20089D01F</string>
<string>B5B03EF10EC5D8350089D01F</string>
<string>B5B03EF20EC5D8350089D01F</string>
<string>B5B03EF90EC5D8450089D01F</string>
<string>B5B03F1F0EC5DB680089D01F</string>
<string>B5B03F200EC5DB680089D01F</string>
<string>B5B03F210EC5DB680089D01F</string>
<string>B5B03F220EC5DB680089D01F</string>
<string>B5B03F230EC5DB680089D01F</string>
<string>B5B03F240EC5DB680089D01F</string>
<string>B5B03F250EC5DB680089D01F</string>
<string>B5B03F260EC5DB680089D01F</string>
<string>B5B03F270EC5DB680089D01F</string>
<string>B5B03F280EC5DB680089D01F</string>
<string>B5B03F290EC5DB680089D01F</string>
<string>B5B03F2A0EC5DB680089D01F</string>
<string>B5B03F2B0EC5DB680089D01F</string>
<string>B5B03F2C0EC5DB680089D01F</string>
<string>B5B03F2D0EC5DB680089D01F</string>
<string>B5B03F2E0EC5DB680089D01F</string>
<string>B5B03F2F0EC5DB680089D01F</string>
<string>B5B03F300EC5DB680089D01F</string>
<string>B5B03F310EC5DB680089D01F</string>
<string>B5B03F320EC5DB680089D01F</string>
<string>B5B03F330EC5DB680089D01F</string>
<string>B5B03F340EC5DB680089D01F</string>
<string>B5B03F350EC5DB680089D01F</string>
<string>B5B03F360EC5DB680089D01F</string>
<string>B5B03F370EC5DB680089D01F</string>
<string>B5B03F380EC5DB680089D01F</string>
<string>B5B03F460EC5DC3C0089D01F</string>
<string>B5B03F470EC5DC3C0089D01F</string>
<string>B5B03F480EC5DC3C0089D01F</string>
<string>B5B03F490EC5DC3C0089D01F</string>
<string>B5B03F4A0EC5DC3C0089D01F</string>
<string>B5B03F4B0EC5DC3C0089D01F</string>
<string>B5B03F530EC5DC4C0089D01F</string>
<string>B5B03F5D0EC5DCD60089D01F</string>
<string>B5B03F5E0EC5DCD60089D01F</string>
<string>B5B03F5F0EC5DCD60089D01F</string>
<string>B5B03F600EC5DCD60089D01F</string>
<string>B5B03F610EC5DCD60089D01F</string>
<string>B5B03F740EC5DD380089D01F</string>
<string>B5B03F7F0EC5DD990089D01F</string>
<string>B5B03F830EC5DDC30089D01F</string>
<string>B5B03F840EC5DDC30089D01F</string>
<string>B5B03F890EC5DE3C0089D01F</string>
<string>B5B03F8A0EC5DE3C0089D01F</string>
<string>B5B03F8B0EC5DE3C0089D01F</string>
<string>B5B03F920EC5DE820089D01F</string>
<string>B5B03F930EC5DE820089D01F</string>
<string>B5B03F940EC5DE820089D01F</string>
<string>B5B03F950EC5DE820089D01F</string>
<string>B5B03FA40EC5E1380089D01F</string>
<string>B5B03FA50EC5E1380089D01F</string>
<string>B5B03FA60EC5E1380089D01F</string>
<string>B5B03FA70EC5E1380089D01F</string>
<string>B5B03FA80EC5E1380089D01F</string>
<string>B5B03FA90EC5E1380089D01F</string>
<string>B5B03FAA0EC5E1380089D01F</string>
<string>B5B03FAB0EC5E1380089D01F</string>
<string>B5B03FAC0EC5E1380089D01F</string>
<string>B5B03FAD0EC5E1380089D01F</string>
<string>B5B03FAE0EC5E1380089D01F</string>
<string>B5B03FAF0EC5E1380089D01F</string>
<string>B5B03FB00EC5E1380089D01F</string>
<string>B5B03FB10EC5E1380089D01F</string>
<string>B5B03FB20EC5E1380089D01F</string>
<string>B5B03FB30EC5E1380089D01F</string>
<string>B5B03FB40EC5E1380089D01F</string>
<string>B5B03FB50EC5E1380089D01F</string>
<string>B5B03FB60EC5E1380089D01F</string>
<string>B5B03FB70EC5E1380089D01F</string>
<string>B5B03FC30EC5E1990089D01F</string>
<string>B5B03FC40EC5E1990089D01F</string>
<string>B5B03FC50EC5E1990089D01F</string>
<string>B5B03FC60EC5E1990089D01F</string>
<string>B5B03FCC0EC5E1CA0089D01F</string>
<string>B5B03FD20EC5E2010089D01F</string>
<string>B5B03FDE0EC5E25C0089D01F</string>
<string>B5B03FDF0EC5E25C0089D01F</string>
<string>B5B03FE00EC5E25C0089D01F</string>
<string>B5B03FE10EC5E25C0089D01F</string>
<string>B5B03FE20EC5E25C0089D01F</string>
<string>B5B03FE30EC5E25C0089D01F</string>
<string>B5B0400C0EC5E47D0089D01F</string>
<string>B5B0400D0EC5E47D0089D01F</string>
<string>B5B0400E0EC5E47D0089D01F</string>
<string>B5B0400F0EC5E47D0089D01F</string>
<string>B5B040100EC5E47D0089D01F</string>
<string>B5B040170EC5E49E0089D01F</string>
<string>B5B0403C0EC5E6290089D01F</string>
<string>B5B040470EC5E6C60089D01F</string>
<string>B5B0404D0EC5E6ED0089D01F</string>
<string>B5B0406E0EC5E7E80089D01F</string>
<string>B5B0406F0EC5E7E80089D01F</string>
<string>B5B040700EC5E7E80089D01F</string>
<string>B5B040710EC5E7E80089D01F</string>
<string>B5B040720EC5E7E80089D01F</string>
<string>B5B040840EC5E82B0089D01F</string>
<string>B5B0408B0EC5E85A0089D01F</string>
<string>B5B0408C0EC5E85A0089D01F</string>
<string>B5B0408D0EC5E85A0089D01F</string>
<string>B5B040920EC5E8710089D01F</string>
<string>B5B040A00EC5E9BD0089D01F</string>
<string>B5B040A10EC5E9BD0089D01F</string>
<string>B5B040A20EC5E9BD0089D01F</string>
<string>B5B040A30EC5E9BD0089D01F</string>
<string>B5B040A40EC5E9BD0089D01F</string>
<string>B5B040A50EC5E9BD0089D01F</string>
<string>B5B040A60EC5E9BD0089D01F</string>
<string>B5B040A70EC5E9BD0089D01F</string>
<string>B5B040A80EC5E9BD0089D01F</string>
<string>B5B040A90EC5E9BD0089D01F</string>
<string>B5B040AA0EC5E9BD0089D01F</string>
<string>B5B040AB0EC5E9BD0089D01F</string>
<string>B5B040AC0EC5E9BD0089D01F</string>
<string>B5B040B70EC5E9EB0089D01F</string>
<string>B5B040CE0EC5EA970089D01F</string>
<string>B5B040CF0EC5EA970089D01F</string>
<string>B5B040D00EC5EA970089D01F</string>
<string>B5B040D10EC5EA970089D01F</string>
<string>B5B040D20EC5EA970089D01F</string>
<string>B5B040D30EC5EA970089D01F</string>
<string>B5B040D40EC5EA970089D01F</string>
<string>B5B040D50EC5EA970089D01F</string>
<string>B5B040D60EC5EA970089D01F</string>
<string>B5B040D70EC5EA970089D01F</string>
<string>B5B040D80EC5EA970089D01F</string>
<string>B5B040D90EC5EA970089D01F</string>
<string>B5B040DA0EC5EA970089D01F</string>
<string>B5B040DB0EC5EA970089D01F</string>
<string>B5B040DC0EC5EA970089D01F</string>
<string>B5B040DD0EC5EA970089D01F</string>
<string>B5B040DE0EC5EA970089D01F</string>
<string>B5B040DF0EC5EA970089D01F</string>
<string>B5B040E00EC5EA970089D01F</string>
<string>B5B040E10EC5EA970089D01F</string>
<string>B5B040E20EC5EA970089D01F</string>
<string>B5B040E30EC5EA970089D01F</string>
<string>B5B040E40EC5EA970089D01F</string>
<string>B5B040E50EC5EA970089D01F</string>
<string>B5B040E60EC5EA970089D01F</string>
<string>B5B040E70EC5EA970089D01F</string>
<string>B5B040E80EC5EA970089D01F</string>
<string>B5B040F50EC5EB990089D01F</string>
<string>B5B040FD0EC5EBE60089D01F</string>
<string>B5B040FE0EC5EBE60089D01F</string>
<string>B5B040FF0EC5EBE60089D01F</string>
<string>B5B041060EC5ECF70089D01F</string>
<string>B5B041070EC5ECF70089D01F</string>
<string>B5B0410C0EC5ED090089D01F</string>
<string>B5B041120EC5ED2F0089D01F</string>
<string>B5B041130EC5ED2F0089D01F</string>
<string>B5B0411E0EC5EF0A0089D01F</string>
<string>B5B0411F0EC5EF0A0089D01F</string>
<string>B5B041200EC5EF0A0089D01F</string>
<string>B5B041210EC5EF0A0089D01F</string>
<string>B5B041220EC5EF0A0089D01F</string>
<string>B5B041230EC5EF0A0089D01F</string>
<string>B5B041380EC5F01A0089D01F</string>
<string>B5B041390EC5F01A0089D01F</string>
<string>B5B0413A0EC5F01A0089D01F</string>
<string>B5B0413B0EC5F01A0089D01F</string>
<string>B5B0413C0EC5F01A0089D01F</string>
<string>B5B0414C0EC5F0A00089D01F</string>
<string>B5B041560EC5F10F0089D01F</string>
<string>B5B041570EC5F10F0089D01F</string>
<string>B5B041580EC5F10F0089D01F</string>
<string>B5B041950EC5F32D0089D01F</string>
<string>B5B041960EC5F32D0089D01F</string>
<string>B5B041970EC5F32D0089D01F</string>
<string>B5B041980EC5F32D0089D01F</string>
<string>B5B041990EC5F32D0089D01F</string>
<string>B5B0419A0EC5F32D0089D01F</string>
<string>B5B0419B0EC5F32D0089D01F</string>
<string>B5B0419C0EC5F32D0089D01F</string>
<string>B5B0419D0EC5F32D0089D01F</string>
<string>B5B0419E0EC5F32D0089D01F</string>
<string>B5B0419F0EC5F32D0089D01F</string>
<string>B5B041A00EC5F32D0089D01F</string>
<string>B5B041A10EC5F32D0089D01F</string>
<string>B5B041AE0EC5FA800089D01F</string>
<string>B5B041AF0EC5FA800089D01F</string>
<string>B5B041B00EC5FA800089D01F</string>
<string>B5B041B10EC5FA800089D01F</string>
<string>B5B041B20EC5FA800089D01F</string>
<string>B5B041B30EC5FA800089D01F</string>
<string>B5B041B40EC5FA800089D01F</string>
<string>B5B041B50EC5FA800089D01F</string>
<string>B5B041B60EC5FA800089D01F</string>
<string>B5B041B70EC5FA800089D01F</string>
<string>B5B041B80EC5FA800089D01F</string>
<string>B5B041B90EC5FA800089D01F</string>
<string>B5B041BA0EC5FA800089D01F</string>
<string>B5B041C10EC5FAAE0089D01F</string>
<string>B5B041D60EC5FB0F0089D01F</string>
<string>B5B041DF0EC5FB2E0089D01F</string>
<string>B5B041E40EC5FB380089D01F</string>
<string>B5B041EC0EC5FB670089D01F</string>
<string>B5B041ED0EC5FB670089D01F</string>
<string>B5B041EE0EC5FB670089D01F</string>
<string>B5B041EF0EC5FB670089D01F</string>
<string>B5B041F70EC5FBBD0089D01F</string>
<string>B5B042030EC5FC130089D01F</string>
<string>B5B042040EC5FC130089D01F</string>
<string>B5B0420D0EC5FD750089D01F</string>
<string>B5B0420E0EC5FD750089D01F</string>
<string>B5B0420F0EC5FD750089D01F</string>
<string>B5B042100EC5FD750089D01F</string>
<string>B5B042110EC5FD750089D01F</string>
<string>B5B042120EC5FD750089D01F</string>
<string>B5B042130EC5FD750089D01F</string>
<string>B5B042140EC5FD750089D01F</string>
<string>B5B042150EC5FD750089D01F</string>
<string>B5B0421B0EC5FD810089D01F</string>
<string>B5B0421C0EC5FD810089D01F</string>
<string>B5B0422C0EC612390089D01F</string>
<string>B5B042450EC612E10089D01F</string>
<string>B5B042460EC612E10089D01F</string>
<string>B5B042470EC612E10089D01F</string>
<string>B5B042480EC612E10089D01F</string>
<string>B5B042490EC612E10089D01F</string>
<string>B5B042580EC613280089D01F</string>
<string>B5B042660EC613850089D01F</string>
<string>B5B042670EC613850089D01F</string>
<string>B5B042680EC613850089D01F</string>
<string>B5B0427C0EC613FB0089D01F</string>
<string>B5B042840EC6145A0089D01F</string>
<string>B5B042850EC6145A0089D01F</string>
<string>B5B042860EC6145A0089D01F</string>
<string>B5B042870EC6145A0089D01F</string>
<string>B5B042880EC6145A0089D01F</string>
<string>B5B0428E0EC614680089D01F</string>
<string>B5B0428F0EC614680089D01F</string>
<string>B5B042B10EC6159B0089D01F</string>
<string>B5B042B20EC6159B0089D01F</string>
<string>B5B042B30EC6159B0089D01F</string>
<string>B5B042B40EC6159B0089D01F</string>
<string>B5B042B50EC6159B0089D01F</string>
<string>B5B042B60EC6159B0089D01F</string>
<string>B5B042D20EC618CC0089D01F</string>
<string>B5B042F00EC61B270089D01F</string>
<string>B5B042F10EC61B270089D01F</string>
<string>B5B042F20EC61B270089D01F</string>
<string>B5B042F30EC61B270089D01F</string>
<string>B5B042F40EC61B270089D01F</string>
<string>B5B042F90EC61B4C0089D01F</string>
<string>B5B043160EC620D60089D01F</string>
<string>B5B043170EC620D60089D01F</string>
<string>B5B043180EC620D60089D01F</string>
<string>B5B0431C0EC621160089D01F</string>
<string>B56D94B00EC6299500B3649A</string>
<string>B56D94B10EC6299500B3649A</string>
<string>B56D94C50EC62C3200B3649A</string>
<string>B56D94E90EC62EAF00B3649A</string>
<string>B56D94EA0EC62EAF00B3649A</string>
<string>B56D94EB0EC62EAF00B3649A</string>
<string>B56D94EC0EC62EAF00B3649A</string>
<string>B56D94ED0EC62EAF00B3649A</string>
</array>
</dict>
<key>SplitCount</key>
... ... @@ -850,7 +435,7 @@
<key>Frame</key>
<string>{{0, 0}, {1098, 836}}</string>
<key>RubberWindowFrame</key>
<string>179 143 1432 976 0 0 1920 1178 </string>
<string>411 202 1432 976 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
... ... @@ -870,7 +455,7 @@
<key>Frame</key>
<string>{{0, 841}, {1098, 94}}</string>
<key>RubberWindowFrame</key>
<string>179 143 1432 976 0 0 1920 1178 </string>
<string>411 202 1432 976 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
... ... @@ -894,9 +479,9 @@
</array>
<key>TableOfContents</key>
<array>
<string>B5B03CBB0EC4DA0E0089D01F</string>
<string>B56D948C0EC628B300B3649A</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>B5B03CBC0EC4DA0E0089D01F</string>
<string>B56D948D0EC628B300B3649A</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
... ... @@ -1030,17 +615,15 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>B5B03F0D0EC5D91E0089D01F</string>
<string>B5B03CDF0EC4E9030089D01F</string>
<string>B5B03CE00EC4E9030089D01F</string>
<string>B56D94A10EC6290D00B3649A</string>
<string>B56D94970EC628B300B3649A</string>
<string>1CD10A99069EF8BA00B06720</string>
<string>1C530D57069F1CE1000CFCEE</string>
<string>B5ABC8410E24CDE70072F422</string>
<string>1C78EAAD065D492600B07095</string>
<string>/Users/ben/asi-http-request/asi-http-request.xcodeproj</string>
<string>1C78EAAD065D492600B07095</string>
</array>
<key>WindowString</key>
<string>179 143 1432 976 0 0 1920 1178 </string>
<string>411 202 1432 976 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>
... ... @@ -1061,7 +644,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>ASINetworkQueueTests.m</string>
<string></string>
<key>StatusBarVisibility</key>
<true/>
</dict>
... ... @@ -1078,8 +661,6 @@
<string>533pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
... ... @@ -1119,7 +700,7 @@
<key>TableOfContents</key>
<array>
<string>B5ABC8410E24CDE70072F422</string>
<string>B5B03CBD0EC4DA0E0089D01F</string>
<string>B56D948E0EC628B300B3649A</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
... ... @@ -1130,7 +711,7 @@
<key>WindowToolGUID</key>
<string>B5ABC8410E24CDE70072F422</string>
<key>WindowToolIsVisible</key>
<true/>
<false/>
</dict>
<dict>
<key>FirstTimeWindowDisplayed</key>
... ... @@ -1161,8 +742,8 @@
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {798, 417}}</string>
<string>{{798, 0}, {871, 417}}</string>
<string>{{0, 0}, {798, 465}}</string>
<string>{{798, 0}, {871, 465}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
... ... @@ -1177,8 +758,8 @@
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {1669, 417}}</string>
<string>{{0, 417}, {1669, 542}}</string>
<string>{{0, 0}, {1669, 465}}</string>
<string>{{0, 465}, {1669, 494}}</string>
</array>
</dict>
</dict>
... ... @@ -1205,20 +786,18 @@
<array>
<string>Name</string>
<real>276</real>
<string>Type</string>
<real>138</real>
<string>Value</string>
<real>197</real>
<string>Summary</string>
<real>590</real>
</array>
<key>Frame</key>
<string>{{798, 0}, {871, 417}}</string>
<string>{{798, 0}, {871, 465}}</string>
<key>RubberWindowFrame</key>
<string>42 178 1669 1000 0 0 1920 1178 </string>
<string>149 178 1669 1000 0 0 1920 1178 </string>
</dict>
<key>RubberWindowFrame</key>
<string>42 178 1669 1000 0 0 1920 1178 </string>
<string>149 178 1669 1000 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
... ... @@ -1241,18 +820,18 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>B5B03CBE0EC4DA0E0089D01F</string>
<string>B56D948F0EC628B300B3649A</string>
<string>1C162984064C10D400B95A72</string>
<string>B5B03CBF0EC4DA0E0089D01F</string>
<string>B5B03CC00EC4DA0E0089D01F</string>
<string>B5B03CC10EC4DA0E0089D01F</string>
<string>B5B03CC20EC4DA0E0089D01F</string>
<string>B5B03CC30EC4DA0E0089D01F</string>
<string>B56D94900EC628B300B3649A</string>
<string>B56D94910EC628B300B3649A</string>
<string>B56D94920EC628B300B3649A</string>
<string>B56D94930EC628B300B3649A</string>
<string>B56D94940EC628B300B3649A</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>WindowString</key>
<string>42 178 1669 1000 0 0 1920 1178 </string>
<string>149 178 1669 1000 0 0 1920 1178 </string>
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
... ... @@ -1380,7 +959,7 @@
<key>Frame</key>
<string>{{0, 0}, {1211, 827}}</string>
<key>RubberWindowFrame</key>
<string>1131 194 1211 868 0 0 1920 1178 </string>
<string>250 167 1211 868 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
... ... @@ -1403,13 +982,13 @@
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
<string>B5B03CC40EC4DA0E0089D01F</string>
<string>B56D94950EC628B300B3649A</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.consoleV3</string>
<key>WindowString</key>
<string>1131 194 1211 868 0 0 1920 1178 </string>
<string>250 167 1211 868 0 0 1920 1178 </string>
<key>WindowToolGUID</key>
<string>1C78EAAD065D492600B07095</string>
<key>WindowToolIsVisible</key>
... ...
This diff could not be displayed because it is too large.