Hi Experts,
I created a simple application with the following code to retrieve the proxy info based on PAC file or PAC URL such as Xcode:
NSString *strURL = @"http://example.com";
NSString *pacFileData = @"function FindProxyForURL(url, host) {if (dnsDomainIs(host, \"example.com\") || dnsDomainIs(host, \"www.example.com\")) {return \"PROXY 192.168.1.2:8888;DIRECT\";}return \"DIRECT\";}";
CFStringRef tempPacdata = CFStringCreateCopy(kCFAllocatorDefault, (__bridge CFStringRef)pacFileData);
CFURLRef tempURLref = CFURLCreateWithString(kCFAllocatorDefault, (__bridge CFStringRef)strURL, nil);
CFArrayRef proxies = CFNetworkCopyProxiesForAutoConfigurationScript(tempPacdata, tempURLref, &err);
strURL = nil;
if (proxies != NULL)
{
CFRelease(proxies);
proxies = NULL;
}
if (tempPacdata != NULL)
{
CFRelease(tempPacdata);
tempPacdata = NULL;
}
if (tempURLref != NULL)
{
CFRelease(tempURLref);
tempURLref = NULL;
}
The output of leaks:
Report Version: 7
Analysis Tool: /usr/bin/leaks
Physical footprint: 2700K
Physical footprint (peak): 2700K
----
leaks Report Version: 4.0
Process 43271: 783 nodes malloced for 85 KB
Process 43271: 17 leaks for 1232 total leaked bytes.
17 (1.20K) ROOT CYCLE: <CFRunLoopSource 0x6000002f8000> [192]
16 (1.02K) ROOT CYCLE: 0x600000ef80e0 [224]
CYCLE BACK TO <CFRunLoopSource 0x6000002f8000> [192]
5 (352 bytes) ROOT CYCLE: 0x6000019f4400 [128]
2 (80 bytes) ROOT CYCLE: 0x6000037e8220 [32]
1 (48 bytes) ROOT CYCLE: <__NSMallocBlock__ 0x6000039e8030> [48] CFNetwork <unknown-symbol> 0x7ff819c39000 + 1605859 0x7ff819dc10e3
1 (32 bytes) ROOT CYCLE: 0x6000037e8240 [32]
1 (112 bytes) <NSURL 0x600001cf4000> [112] "http://example.com/"
9 (432 bytes) <CFArray 0x6000022f87c0> [64] item count: 2
5 (240 bytes) <NSDictionary 0x6000022f8780> [64] item count: 3
1 (48 bytes) <CFString 0x6000039f8c60> [48] length: 16 "kCFProxyTypeHTTP"
1 (48 bytes) <CFString 0x6000039f8d50> [48] length: 21 "kCFProxyPortNumberKey"
1 (48 bytes) _list --> <CFString 0x6000039f8cf0> [48] length: 19 "kCFProxyHostNameKey"
1 (32 bytes) <CFString 0x6000037fab00> [32] length: 11 "192.168.1.2"
3 (128 bytes) <NSDictionary 0x6000037fab20> [32]
1 (48 bytes) _key --> <CFString 0x6000039f8c00> [48] length: 15 "kCFProxyTypeKey"
1 (48 bytes) _obj --> <CFString 0x6000039f8cc0> [48] length: 16 "kCFProxyTypeNone"
1 (32 bytes) 0x6000037fab40 [32]
Does that mean some bugs in those APIs?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi Expert,
When I launched my App, just saw the following crash once:
crash log
Looks like there is something dead loop in the system libraries? related to NSNotificationCenter? any clue on this? Thanks a lot.
Hi Experts,
My app contains a system extension(VPN network extension), but it somehow can not be launched after multiple activations(via OSSystemExtensionRequest activationRequestForExtension) without deactivation.
I just found my extension can be restarted automatically if I kill nesessionmanager in such case, so 2 questions:
it's a system bug or misuse API that my system extension can not restart after several activations by activationRequestForExtension without deactivation first?
is there any official way to restart nesessionmanger instead of killing it?