CFSocket

本文详细介绍了在iOS平台上使用socket进行通信的方法,包括客户端和服务器端的实现步骤、回调函数的使用以及数据的接收和发送。

IOS上的socket通信

转自 http://www.cnblogs.com/jqyp/archive/2012/01/02/2310012.html

客户端:
导入头文件:
#import <sys/socket.h>
#import <netinet/in.h>
#import <arpa/inet.h>
#import <unistd.h>
1. 创建连接

CFSocketContext sockContext = {0, // 结构体的版本,必须为0
self, 

 // 一个任意指针的数据,可以用在创建时CFSocket对象相关联。这个指针被传递给所有的上下文中定义的回调。
 NULL, // 一个定义在上面指针中的retain的回调, 可以为NULL
 NULL, NULL};
CFSocketRef _socket = (kCFAllocatorDefault, // 为新对象分配内存,可以为nil
 PF_INET, // 协议族,如果为0或者负数,则默认为PF_INET
 SOCK_STREAM, // 套接字类型,如果协议族为PF_INET,则它会默认为SOCK_STREAM
 IPPROTO_TCP, // 套接字协议,如果协议族是PF_INET且协议是0或者负数,它会默认为IPPROTO_TCP
 kCFSocketConnectCallBack, // 触发回调函数的socket消息类型,具体见Callback Types
 TCPServerConnectCallBack, // 上面情况下触发的回调函数
 &sockContext // 一个持有CFSocket结构信息的对象,可以为nil
 );

  

if (_socket != nil) {
    struct sockaddr_in addr4;   // IPV4
    memset(&addr4, 0, sizeof(addr4));
    addr4.sin_len = sizeof(addr4);
    addr4.sin_family = AF_INET;
    addr4.sin_port = htons(8888);
    addr4.sin_addr.s_addr = inet_addr([strAddress UTF8String]);  // 把字符串的地址转换为机器可识别的网络地址
       
    // 把sockaddr_in结构体中的地址转换为Data
    CFDataRef address = CFDataCreate(kCFAllocatorDefault, (UInt8 *)&addr4, sizeof(addr4));
    CFSocketConnectToAddress(_socket, // 连接的socket
 address, // CFDataRef类型的包含上面socket的远程地址的对象
 -1  // 连接超时时间,如果为负,则不尝试连接,而是把连接放在后台进行,如果_socket消息类型为kCFSocketConnectCallBack,将会在连接成功或失败的时候在后台触发回调函数
 );
    CFRunLoopRef cRunRef = CFRunLoopGetCurrent();    // 获取当前线程的循环
    // 创建一个循环,但并没有真正加如到循环中,需要调用CFRunLoopAddSource
    CFRunLoopSourceRef sourceRef = CFSocketCreateRunLoopSource(kCFAllocatorDefault, _socket, 0);
    CFRunLoopAddSource(cRunRef, // 运行循环
    sourceRef,  // 增加的运行循环源, 它会被retain一次
    kCFRunLoopCommonModes  // 增加的运行循环源的模式
    );
    CFRelease(courceRef);
}

  

2. 设置回调函数

复制代码
  1 // socket回调函数的格式:
  2 static void TCPServerConnectCallBack(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) {
  3     if (data != NULL) {
  4         // 当socket为kCFSocketConnectCallBack时,失败时回调失败会返回一个错误代码指针,其他情况返回NULL
  5         NSLog(@"连接失败");
  6         return;
  7     }
  8     TCPClient *client = (TCPClient *)info;
  9     // 读取接收的数据
 10     [info performSlectorInBackground:@selector(readStream) withObject:nil];
 11 12 3. 接收发送数据
 13 // 读取接收的数据
 14 - (void)readStream {
 15     char buffer[1024];
 16     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 17     while (recv(CFSocketGetNative(_socket), //与本机关联的Socket 如果已经失效返回-1:INVALID_SOCKET
 18            buffer, sizeof(buffer), 0)) {
 19         NSLog(@"%@", [NSString stringWithUTF8String:buffer]);
 20     }
 21 }
 22 // 发送数据
 23 - (void)sendMessage {
 24     NSString *stringTosend = @"你好";
 25     char *data = [stringTosend UTF8String];
 26     send(SFSocketGetNative(_socket), data, strlen(data) + 1, 0);
 27 }
 28 服务器端:
 29 CFSockteRef _socket;
 30 CFWriteStreamRef outputStream = NULL;
 31 int setupSocket() {
 32     _socket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, kCFSocketAcceptCallBack, TCPServerAcceptCallBack, NULL);
 33     if (NULL == _socket) {
 34         NSLog(@"Cannot create socket!");
 35         return 0;
 36     }
 37    
 38     int optval = 1;
 39     setsockopt(CFSocketGetNative(_socket), SOL_SOCKET, SO_REUSEADDR, // 允许重用本地地址和端口
 40 (void *)&optval, sizeof(optval));
 41    
 42     struct sockaddr_in addr4;
 43     memset(&addr4, 0, sizeof(addr4));
 44     addr4.sin_len = sizeof(addr4);
 45     addr4.sin_family = AF_INET;
 46     addr4.sin_port = htons(port);
 47     addr4.sin_addr.s_addr = htonl(INADDR_ANY);
 48     CFDataRef address = CFDataCreate(kCFAllocatorDefault, (UInt8 *)&addr4, sizeof(addr4));
 49    
 50     if (kCFSocketSuccess != CFSocketSetAddress(_socket, address)) {
 51         NSLog(@"Bind to address failed!");
 52         if (_socket)
 53              CFRelease(_socket);
 54         _socket = NULL;
 55         return 0;
 56     }
 57        
 58     CFRunLoopRef cfRunLoop = CFRunLoopGetCurrent();
 59     CFRunLoopSourceRef source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, _socket, 0);
 60     CFRunLoopAddSource(cfRunLoop, source, kCFRunLoopCommonModes);
 61     CFRelease(source);
 62    
 63     return 1;
 64 }
 65 // socket回调函数,同客户端
 66 void TCPServerAcceptCallBack(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) {
 67     if (kCFSocketAcceptCallBack == type) {
 68         // 本地套接字句柄
 69         CFSocketNativeHandle nativeSocketHandle = *(CFSocketNativeHandle *)data;
 70         uint8_t name[SOCK_MAXADDRLEN];      
 71         socklen_t nameLen = sizeof(name);
 72         if (0 != getpeername(nativeSocketHandle, (struct sockaddr *)name, &nameLen)) {
 73             NSLog(@"error");
 74             exit(1);
 75         }
 76         NSLog(@"%@ connected.", inet_ntoa( ((struct sockaddr_in *)name)->sin_addr )):
 77         CFReadStreamRef iStream;
 78         CFWriteStreamRef oStream;
 79         // 创建一个可读写的socket连接
 80         CFStreamCreatePairWithSocket(kCFAllocatorDefault, nativeSocketHandle, &iStream, &oStream); 
 81         if (iStream && oStream) {
 82             CFStreamClientContext streamContext = {0, NULL, NULL, NULL};
 83             if (!CFReadStreamSetClient(iStream, kCFStreamEventHasBytesAvaiable,
 84                                        readStream, // 回调函数,当有可读的数据时调用
 85                                        &streamContext)){
 86                 exit(1);
 87             }
 88             if (!CFReadStreamSetClient(iStream, kCFStreamEventCanAcceptBytes, writeStream, &streamContext)){
 89                 exit(1);
 90             }
 91             CFReadStreamScheduleWithRunLoop(iStream, CFRunLoopGetCurrent(), kCFRunLoopCommomModes);
 92             CFWriteStreamScheduleWithRunLoop(wStream, CFRunLoopGetCurrent(), kCFRunLoopCommomModes);
 93             CFReadStreamOpen(iStream);
 94             CFWriteStreamOpen(wStream);
 95         } else {
 96              close(nativeSocketHandle); 
 97         }
 98     }
 99 }
100 // 读取数据
101 void readStream(CFReadStreamRef stream, CFStreamEventType eventType, void *clientCallBackInfo) {
102     UInt8 buff[255];
103     CFReadStreamRead(stream, buff, 255);
104     printf("received: %s", buff);
105 }
106 void writeStream (CFWriteStreamRef stream, CFStreamEventType eventType, void *clientCallBackInfo) {
107     outputStream = stream;
108 }
109 main {
110     char *str = "nihao";
111    
112     if (outputStream != NULL) {
113         CFWriteStreamWrite(outputStream, str, strlen(line) + 1);
114     } else {
115         NSLog(@"Cannot send data!");
116     }
117 }
118 // 开辟一个线程线程函数中
119 void runLoopInThread() {
120     int res = setupSocket();
121     if (!res) {
122         exit(1);
123     }
124     CFRunLoopRun();    // 运行当前线程的CFRunLoop对象
125 }
{"app_name":"4D FLY","timestamp":"2025-04-14 03:19:52.00 +0800","app_version":"1.1.1","slice_uuid":"8378f44b-3cf0-3205-94fa-83be2fd6bc79","adam_id":"6476606064","build_version":"11","bundleID":"cn.com.ryevi.ywtool2","platform":2,"share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"iPhone OS 18.2 (22C152)","roots_installed":0,"incident_id":"C57F30AD-584E-41BF-A994-19136CCA2E40","name":"4D FLY"} { "uptime" : 1600000, "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "iPhone15,3", "coalitionID" : 23766, "osVersion" : { "isEmbedded" : true, "train" : "iPhone OS 18.2", "releaseType" : "User", "build" : "22C152" }, "captureTime" : "2025-04-14 03:19:51.9452 +0800", "codeSigningMonitor" : 2, "incident" : "C57F30AD-584E-41BF-A994-19136CCA2E40", "pid" : 1553, "translated" : false, "cpuType" : "ARM-64", "roots_installed" : 0, "bug_type" : "309", "procLaunch" : "2025-04-14 03:08:24.7199 +0800", "procStartAbsTime" : 40598906792736, "procExitAbsTime" : 40615401321872, "procName" : "4D FLY", "procPath" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/4D FLY", "bundleInfo" : {"CFBundleShortVersionString":"1.1.1","CFBundleVersion":"11","CFBundleIdentifier":"cn.com.ryevi.ywtool2","DTAppStoreToolsBuild":"15F31e"}, "storeInfo" : {"itemID":"6476606064","storeCohortMetadata":"10|date=1725721200000&sf=143465&pgtp=Search&pgid=17868fdf-4767-47e1-954e-0ae2c8e93091&prpg=SearchLanding_SearchLanding&ctxt=Search&issrch=1&imptyp=card&kind=iosSoftware&lngid=19","distributorID":"com.apple.AppStore","deviceIdentifierForVendor":"AAE65B58-E7A4-453D-9030-BF47129C79FB","softwareVersionExternalIdentifier":"868366173","applicationVariant":"1:iPhone15,3:16","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "cn.com.ryevi.ywtool2", "crashReporterKey" : "449ed59e8895e9bb8514c3ea543947bf26be2670", "appleIntelligenceStatus" : {"state":"unavailable","reasons":["deviceNotCapable","siriAssetIsNotReady","selectedSiriLanguageIneligible","accessNotGranted","countryLocationIneligible","selectedLanguageIneligible","selectedLanguageDoesNotMatchSelectedSiriLanguage","notOptedIn","regionIneligible","assetIsNotReady"]}, "wasUnlockedSinceBoot" : 1, "isLocked" : 0, "codeSigningID" : "cn.com.ryevi.ywtool2", "codeSigningTeamID" : "9QR4Y6HYVF", "codeSigningFlags" : 570450689, "codeSigningValidationCategory" : 4, "codeSigningTrustLevel" : 5, "bootSessionUUID" : "DB4D196F-ED5F-405C-BF72-2352E3263F1F", "basebandVersion" : "3.20.05", "vmRegionInfo" : "0x1f2f76c78 is in 0x1f2f63a08-0x1f2f93598; bytes after start: 78448 bytes before end: 117023\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n __AUTH_CONST 1f2f25fb0-1f2f63a08 [ 247K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/QuartzCore.framework\/QuartzCore\n---> __AUTH_CONST 1f2f63a08-1f2f93598 [ 191K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/CoreText.framework\/CoreText\n __AUTH_CONST 1f2f93598-1f2fb5a60 [ 137K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/CoreGraphics.framework\/CoreGraphics", "exception" : {"codes":"0x0000000000000002, 0x00000001f2f76c78","rawCodes":[2,8371268728],"type":"EXC_BAD_ACCESS","signal":"SIGKILL","subtype":"KERN_PROTECTION_FAILURE at 0x00000001f2f76c78"}, "termination" : {"flags":2,"code":2,"namespace":"CODESIGNING","indicator":"Invalid Page"}, "ktriageinfo" : "VM - (arg = 0x0) CL - ", "vmregioninfo" : "0x1f2f76c78 is in 0x1f2f63a08-0x1f2f93598; bytes after start: 78448 bytes before end: 117023\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n __AUTH_CONST 1f2f25fb0-1f2f63a08 [ 247K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/QuartzCore.framework\/QuartzCore\n---> __AUTH_CONST 1f2f63a08-1f2f93598 [ 191K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/CoreText.framework\/CoreText\n __AUTH_CONST 1f2f93598-1f2fb5a60 [ 137K] r--\/rw- SM=COW \/System\/Library\/Frameworks\/CoreGraphics.framework\/CoreGraphics", "faultingThread" : 10, "threads" : [{"id":19986510,"threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":65983582568448},{"value":0},{"value":65983582568448},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":2},{"value":0},{"value":0},{"value":0},{"value":15363},{"value":64000},{"value":0},{"value":18446744073709551569},{"value":6719897104,"symbolLocation":56,"symbol":"clock_gettime"},{"value":0},{"value":4294967295},{"value":2},{"value":65983582568448},{"value":0},{"value":65983582568448},{"value":6130902968},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7953424024},"cpsr":{"value":4096},"fp":{"value":6130902816},"sp":{"value":6130902736},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953409928},"far":{"value":0}},"queue":"com.apple.main-thread","frames":[{"imageOffset":6024,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":16},{"imageOffset":20120,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":16},{"imageOffset":19888,"symbol":"mach_msg_overwrite","symbolLocation":424,"imageIndex":16},{"imageOffset":19452,"symbol":"mach_msg","symbolLocation":24,"imageIndex":16},{"imageOffset":485364,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":17},{"imageOffset":482976,"symbol":"__CFRunLoopRun","symbolLocation":1212,"imageIndex":17},{"imageOffset":819828,"symbol":"CFRunLoopRunSpecific","symbolLocation":588,"imageIndex":17},{"imageOffset":5312,"symbol":"GSEventRunModal","symbolLocation":164,"imageIndex":18},{"imageOffset":4122492,"symbol":"-[UIApplication _run]","symbolLocation":816,"imageIndex":19},{"imageOffset":85604,"symbol":"UIApplicationMain","symbolLocation":340,"imageIndex":19},{"imageOffset":134108,"imageIndex":0},{"imageOffset":196072,"symbol":"start","symbolLocation":2724,"imageIndex":20}]},{"id":19986516,"threadState":{"x":[{"value":18446744073709551612},{"value":0},{"value":58883},{"value":0},{"value":6720358656,"symbolLocation":0,"symbol":"__vfprintf.xdigs_lower"},{"value":6133180352},{"value":10},{"value":18446744069416203776},{"value":58883},{"value":16908290},{"value":17},{"value":1099511627776},{"value":4294967293},{"value":0},{"value":0},{"value":0},{"value":515},{"value":6133182464},{"value":0},{"value":6145798144},{"value":2},{"value":6145798196},{"value":16908290},{"value":6133182688},{"value":10481909828,"symbolLocation":0,"symbol":"_pthread_list_lock"},{"value":17},{"value":6133182688},{"value":12921947072},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":8916041920},"cpsr":{"value":1073745920},"fp":{"value":6133180336},"sp":{"value":6133180240},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953435600},"far":{"value":0}},"queue":"stop","frames":[{"imageOffset":31696,"symbol":"__ulock_wait","symbolLocation":8,"imageIndex":16},{"imageOffset":32960,"symbol":"_pthread_join","symbolLocation":612,"imageIndex":23},{"imageOffset":260340,"symbol":"udp_close_client","symbolLocation":144,"imageIndex":13},{"imageOffset":168652,"symbol":"-[JLMediaStreamManager destoryPlayerManager]","symbolLocation":104,"imageIndex":13},{"imageOffset":35428,"symbol":"-[JLCamera stop]","symbolLocation":264,"imageIndex":13},{"imageOffset":49264,"imageIndex":0},{"imageOffset":8776,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":24},{"imageOffset":16296,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":24},{"imageOffset":46540,"symbol":"_dispatch_lane_serial_drain","symbolLocation":768,"imageIndex":24},{"imageOffset":49444,"symbol":"_dispatch_lane_invoke","symbolLocation":380,"imageIndex":24},{"imageOffset":95116,"symbol":"_dispatch_root_queue_drain_deferred_wlh","symbolLocation":288,"imageIndex":24},{"imageOffset":93144,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":540,"imageIndex":24},{"imageOffset":13952,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":23},{"imageOffset":5236,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":23}]},{"id":19986519,"name":"com.apple.uikit.eventfetch-thread","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":70381629079552},{"value":0},{"value":70381629079552},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":2},{"value":0},{"value":0},{"value":0},{"value":16387},{"value":0},{"value":0},{"value":18446744073709551569},{"value":6719897104,"symbolLocation":56,"symbol":"clock_gettime"},{"value":0},{"value":4294967295},{"value":2},{"value":70381629079552},{"value":0},{"value":70381629079552},{"value":6134898040},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7953424024},"cpsr":{"value":4096},"fp":{"value":6134897888},"sp":{"value":6134897808},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953409928},"far":{"value":0}},"frames":[{"imageOffset":6024,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":16},{"imageOffset":20120,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":16},{"imageOffset":19888,"symbol":"mach_msg_overwrite","symbolLocation":424,"imageIndex":16},{"imageOffset":19452,"symbol":"mach_msg","symbolLocation":24,"imageIndex":16},{"imageOffset":485364,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":17},{"imageOffset":482976,"symbol":"__CFRunLoopRun","symbolLocation":1212,"imageIndex":17},{"imageOffset":819828,"symbol":"CFRunLoopRunSpecific","symbolLocation":588,"imageIndex":17},{"imageOffset":170824,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":212,"imageIndex":25},{"imageOffset":1599220,"symbol":"-[NSRunLoop(NSRunLoop) runUntilDate:]","symbolLocation":64,"imageIndex":25},{"imageOffset":4725632,"symbol":"-[UIEventFetcher threadMain]","symbolLocation":420,"imageIndex":19},{"imageOffset":1137236,"symbol":"__NSThread__start__","symbolLocation":724,"imageIndex":25},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"id":19986521,"frames":[{"imageOffset":29360,"symbol":"__semwait_signal","symbolLocation":8,"imageIndex":16},{"imageOffset":99788,"symbol":"nanosleep","symbolLocation":220,"imageIndex":22},{"imageOffset":99556,"symbol":"usleep","symbolLocation":68,"imageIndex":22},{"imageOffset":37560,"symbol":"thread_timer","symbolLocation":176,"imageIndex":12},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}],"threadState":{"x":[{"value":4},{"value":0},{"value":1},{"value":1},{"value":0},{"value":1000000},{"value":10},{"value":0},{"value":8339149096,"symbolLocation":0,"symbol":"clock_sem"},{"value":3},{"value":17},{"value":2},{"value":0},{"value":0},{"value":0},{"value":0},{"value":334},{"value":4729061094222743576},{"value":0},{"value":0},{"value":6135475968},{"value":4404019344},{"value":4411360592},{"value":4411360576},{"value":4411360480},{"value":4411360496},{"value":4408214528},{"value":4404019232},{"value":4404019424}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6719956428},"cpsr":{"value":2684358656},"fp":{"value":6135475952},"sp":{"value":6135475904},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953433264},"far":{"value":0}}},{"id":19986522,"frames":[{"imageOffset":29360,"symbol":"__semwait_signal","symbolLocation":8,"imageIndex":16},{"imageOffset":99788,"symbol":"nanosleep","symbolLocation":220,"imageIndex":22},{"imageOffset":99556,"symbol":"usleep","symbolLocation":68,"imageIndex":22},{"imageOffset":38328,"symbol":"thread_ctl","symbolLocation":220,"imageIndex":12},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}],"threadState":{"x":[{"value":4},{"value":0},{"value":1},{"value":1},{"value":0},{"value":100000000},{"value":0},{"value":0},{"value":8339149096,"symbolLocation":0,"symbol":"clock_sem"},{"value":3},{"value":17},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":334},{"value":4729061094222743576},{"value":0},{"value":0},{"value":6136049424},{"value":0},{"value":1431655766},{"value":1048622},{"value":0},{"value":0},{"value":4408214528},{"value":4408214544},{"value":1048624}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6719956428},"cpsr":{"value":2684358656},"fp":{"value":6136049408},"sp":{"value":6136049360},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953433264},"far":{"value":0}}},{"id":19986523,"frames":[{"imageOffset":27004,"symbol":"read","symbolLocation":8,"imageIndex":16},{"imageOffset":38648,"symbol":"thread_recv","symbolLocation":64,"imageIndex":12},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}],"threadState":{"x":[{"value":4},{"value":0},{"value":1500},{"value":1},{"value":0},{"value":100000000},{"value":0},{"value":0},{"value":1},{"value":8339143320,"symbolLocation":0,"symbol":"errno"},{"value":17},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":3},{"value":4729061094222743576},{"value":0},{"value":4404019200},{"value":4339823377},{"value":4339822544,"symbolLocation":34,"symbol":"jpeg_header_640x360_Q100_len"},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4339816184},"cpsr":{"value":1610616832},"fp":{"value":6136623040},"sp":{"value":6136621488},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953430908},"far":{"value":0}}},{"id":19986524,"frames":[{"imageOffset":29360,"symbol":"__semwait_signal","symbolLocation":8,"imageIndex":16},{"imageOffset":99788,"symbol":"nanosleep","symbolLocation":220,"imageIndex":22},{"imageOffset":99556,"symbol":"usleep","symbolLocation":68,"imageIndex":22},{"imageOffset":34484,"symbol":"thread_demo_flyctrl","symbolLocation":60,"imageIndex":12},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}],"threadState":{"x":[{"value":4},{"value":0},{"value":1},{"value":1},{"value":0},{"value":50000000},{"value":4339813544,"symbolLocation":0,"symbol":"test_ctrl_msg_callback"},{"value":0},{"value":8339149096,"symbolLocation":0,"symbol":"clock_sem"},{"value":3},{"value":17},{"value":6},{"value":6},{"value":6137195650},{"value":0},{"value":0},{"value":334},{"value":8489109048},{"value":0},{"value":0},{"value":6137196336},{"value":4339813544,"symbolLocation":0,"symbol":"test_ctrl_msg_callback"},{"value":112941},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6719956428},"cpsr":{"value":2684358656},"fp":{"value":6137196320},"sp":{"value":6137196272},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953433264},"far":{"value":0}}},{"id":19986981,"name":"GCDAsyncSocket-CFStream","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":261696652312576},{"value":0},{"value":261696652312576},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":2},{"value":0},{"value":0},{"value":0},{"value":60931},{"value":0},{"value":0},{"value":18446744073709551569},{"value":6719897104,"symbolLocation":56,"symbol":"clock_gettime"},{"value":0},{"value":4294967295},{"value":2},{"value":261696652312576},{"value":0},{"value":261696652312576},{"value":6144073112},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7953424024},"cpsr":{"value":4096},"fp":{"value":6144072960},"sp":{"value":6144072880},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953409928},"far":{"value":0}},"frames":[{"imageOffset":6024,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":16},{"imageOffset":20120,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":16},{"imageOffset":19888,"symbol":"mach_msg_overwrite","symbolLocation":424,"imageIndex":16},{"imageOffset":19452,"symbol":"mach_msg","symbolLocation":24,"imageIndex":16},{"imageOffset":485364,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":17},{"imageOffset":482976,"symbol":"__CFRunLoopRun","symbolLocation":1212,"imageIndex":17},{"imageOffset":819828,"symbol":"CFRunLoopRunSpecific","symbolLocation":588,"imageIndex":17},{"imageOffset":170824,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":212,"imageIndex":25},{"imageOffset":122480,"symbol":"+[GCDAsyncSocket cfstreamThread]","symbolLocation":360,"imageIndex":13},{"imageOffset":1137236,"symbol":"__NSThread__start__","symbolLocation":724,"imageIndex":25},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"id":19986982,"name":"com.apple.NSURLConnectionLoader","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":259497629057024},{"value":0},{"value":259497629057024},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":2},{"value":0},{"value":0},{"value":0},{"value":60419},{"value":2095104},{"value":2043},{"value":18446744073709551569},{"value":99},{"value":0},{"value":4294967295},{"value":2},{"value":259497629057024},{"value":0},{"value":259497629057024},{"value":6144646456},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7953424024},"cpsr":{"value":4096},"fp":{"value":6144646304},"sp":{"value":6144646224},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953409928},"far":{"value":0}},"frames":[{"imageOffset":6024,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":16},{"imageOffset":20120,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":16},{"imageOffset":19888,"symbol":"mach_msg_overwrite","symbolLocation":424,"imageIndex":16},{"imageOffset":19452,"symbol":"mach_msg","symbolLocation":24,"imageIndex":16},{"imageOffset":485364,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":17},{"imageOffset":482976,"symbol":"__CFRunLoopRun","symbolLocation":1212,"imageIndex":17},{"imageOffset":819828,"symbol":"CFRunLoopRunSpecific","symbolLocation":588,"imageIndex":17},{"imageOffset":991264,"symbol":"+[__CFN_CoreSchedulingSetRunnable _run:]","symbolLocation":416,"imageIndex":26},{"imageOffset":1137236,"symbol":"__NSThread__start__","symbolLocation":724,"imageIndex":25},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"id":19986983,"name":"com.apple.CFSocket.private","threadState":{"x":[{"value":4},{"value":0},{"value":12939429744},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":6145224928},{"value":4},{"value":52113},{"value":1970337747228672},{"value":6},{"value":12910254160},{"value":72057602377139577,"symbolLocation":72057594037927937,"symbol":"OBJC_CLASS_$___NSCFType"},{"value":8339211640,"symbolLocation":0,"symbol":"OBJC_CLASS_$___NSCFType"},{"value":93},{"value":8489094416},{"value":0},{"value":32},{"value":8354631328,"symbolLocation":0,"symbol":"__CFActiveSocketsLock"},{"value":1},{"value":4361548184},{"value":0},{"value":12939429744},{"value":12939427888},{"value":8368780920,"symbolLocation":0,"symbol":"__kCFNull"},{"value":0},{"value":8354627584,"symbolLocation":8,"symbol":"OBJC_METACLASS_$_CFPDCloudSource"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6589121716},"cpsr":{"value":1610616832},"fp":{"value":6145224640},"sp":{"value":6145190864},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953441588},"far":{"value":0}},"frames":[{"imageOffset":37684,"symbol":"__select","symbolLocation":8,"imageIndex":16},{"imageOffset":1344692,"symbol":"__CFSocketManager","symbolLocation":704,"imageIndex":17},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"triggered":true,"id":19986984,"threadState":{"x":[{"value":4656400896},{"value":5},{"value":1000},{"value":6145540281},{"value":18446744073709550108},{"value":12},{"value":0},{"value":0},{"value":8371268728},{"value":6145540372},{"value":155},{"value":3},{"value":0},{"value":0},{"value":32},{"value":31},{"value":230},{"value":8378494768},{"value":0},{"value":6145538848},{"value":4656400896},{"value":4676648960},{"value":4656401384},{"value":11},{"value":6145540345},{"value":6145538848},{"value":2},{"value":1445},{"value":4389}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4341249780},"cpsr":{"value":2684360704},"fp":{"value":6145798080},"sp":{"value":6145538848},"esr":{"value":2181038095,"description":"(Instruction Abort) Permission fault"},"pc":{"value":8371268728,"matchesCrashFrame":1},"far":{"value":8371268728}},"frames":[{"imageOffset":8371268728,"imageIndex":21},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"id":20005426,"frames":[{"imageOffset":5228,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":23}],"threadState":{"x":[{"value":6140063744},{"value":50007},{"value":6139527168},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6140063744},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8916014188},"far":{"value":0}}},{"id":20008019,"frames":[{"imageOffset":5228,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":23}],"threadState":{"x":[{"value":6141210624},{"value":42003},{"value":6140674048},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6141210624},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8916014188},"far":{"value":0}}},{"id":20016277,"name":"com.apple.coremedia.sharedRootQueue.47","threadState":{"x":[{"value":14},{"value":5},{"value":0},{"value":68719460488},{"value":8916394520,"symbolLocation":0,"symbol":"_xpc_connection_mach_event"},{"value":0},{"value":0},{"value":1027},{"value":0},{"value":12297829382473034411},{"value":13835058055282163714},{"value":80000000},{"value":12910130232},{"value":2045},{"value":3399858412},{"value":3397759191},{"value":18446744073709551578},{"value":8489834088},{"value":0},{"value":40615437380587},{"value":4361872704},{"value":1000000000},{"value":6132035808},{"value":0},{"value":0},{"value":18446744071427850239},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6719587776},"cpsr":{"value":2147487744},"fp":{"value":6132035392},"sp":{"value":6132035360},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7953409820},"far":{"value":0}},"frames":[{"imageOffset":5916,"symbol":"semaphore_timedwait_trap","symbolLocation":8,"imageIndex":16},{"imageOffset":17856,"symbol":"_dispatch_sema4_timedwait","symbolLocation":64,"imageIndex":24},{"imageOffset":19392,"symbol":"_dispatch_semaphore_wait_slow","symbolLocation":76,"imageIndex":24},{"imageOffset":89236,"symbol":"_dispatch_worker_thread","symbolLocation":324,"imageIndex":24},{"imageOffset":6096,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":23},{"imageOffset":5248,"symbol":"thread_start","symbolLocation":8,"imageIndex":23}]},{"id":20016510,"frames":[{"imageOffset":5228,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":23}],"threadState":{"x":[{"value":6140637184},{"value":47531},{"value":6140100608},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6140637184},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8916014188},"far":{"value":0}}}], "usedImages" : [ { "source" : "P", "arch" : "arm64", "base" : 4335976448, "size" : 819200, "uuid" : "8378f44b-3cf0-3205-94fa-83be2fd6bc79", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/4D FLY", "name" : "4D FLY" }, { "source" : "P", "arch" : "arm64", "base" : 4337352704, "size" : 163840, "uuid" : "bcb879a7-c939-377c-9165-a17c29ea5e6b", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/CocoaAsyncSocket.framework\/CocoaAsyncSocket", "name" : "CocoaAsyncSocket" }, { "source" : "P", "arch" : "arm64", "base" : 4337713152, "size" : 32768, "uuid" : "31c086ab-0595-3830-9c74-da6ac28569d1", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/DACircularProgress.framework\/DACircularProgress", "name" : "DACircularProgress" }, { "source" : "P", "arch" : "arm64", "base" : 4337811456, "size" : 65536, "uuid" : "50d57df5-c95b-3fd7-9e60-c8fcf05f9dd7", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/FBRetainCycleDetector.framework\/FBRetainCycleDetector", "name" : "FBRetainCycleDetector" }, { "source" : "P", "arch" : "arm64", "base" : 4337991680, "size" : 81920, "uuid" : "a0f6566a-9a57-35e5-8e6e-66d74199a2bf", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/JSONModel.framework\/JSONModel", "name" : "JSONModel" }, { "source" : "P", "arch" : "arm64", "base" : 4338188288, "size" : 65536, "uuid" : "783cf7e4-6091-3d54-bf31-295cafc1f4b5", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/MBProgressHUD.framework\/MBProgressHUD", "name" : "MBProgressHUD" }, { "source" : "P", "arch" : "arm64", "base" : 4338352128, "size" : 32768, "uuid" : "b4032bb1-e347-3f61-a544-0aa377105d98", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/MLeaksFinder.framework\/MLeaksFinder", "name" : "MLeaksFinder" }, { "source" : "P", "arch" : "arm64", "base" : 4338450432, "size" : 114688, "uuid" : "c3678384-e593-308b-8bac-c7b57e8908cb", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/MWPhotoBrowser.framework\/MWPhotoBrowser", "name" : "MWPhotoBrowser" }, { "source" : "P", "arch" : "arm64", "base" : 4338728960, "size" : 65536, "uuid" : "37eb4bfd-4015-3567-8db6-b7ea4a9cb591", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/Masonry.framework\/Masonry", "name" : "Masonry" }, { "source" : "P", "arch" : "arm64", "base" : 4340350976, "size" : 229376, "uuid" : "1721730b-0151-39c4-af07-6f9a6ae0c0f7", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/SDWebImage.framework\/SDWebImage", "name" : "SDWebImage" }, { "source" : "P", "arch" : "arm64", "base" : 4338892800, "size" : 81920, "uuid" : "cccc6b73-ef90-3e2b-b994-e6cdbf44ab54", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/SVProgressHUD.framework\/SVProgressHUD", "name" : "SVProgressHUD" }, { "source" : "P", "arch" : "arm64", "base" : 4339662848, "size" : 49152, "uuid" : "eceb1989-67e2-307f-8e04-4a2755741697", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/Toast.framework\/Toast", "name" : "Toast" }, { "source" : "P", "arch" : "arm64", "base" : 4339777536, "size" : 49152, "uuid" : "1acaa67c-fc56-3822-bbdf-78d055baf448", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/BFL_SDK.framework\/BFL_SDK", "name" : "BFL_SDK" }, { "source" : "P", "arch" : "arm64", "base" : 4340989952, "size" : 327680, "uuid" : "9c641fb0-6ed9-3692-9e1a-6a6eaee0a7cb", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/JLVideo.framework\/JLVideo", "name" : "JLVideo" }, { "source" : "P", "arch" : "arm64", "base" : 4341743616, "size" : 3571712, "uuid" : "ea09e900-568b-3705-a6ff-968bdd3fef38", "path" : "\/private\/var\/containers\/Bundle\/Application\/92B579EE-854D-4B9A-A365-1F15160F4219\/4D FLY.app\/Frameworks\/IJKMediaFramework.framework\/IJKMediaFramework", "name" : "IJKMediaFramework" }, { "source" : "P", "arch" : "arm64e", "base" : 4362715136, "size" : 49152, "uuid" : "be056522-26b1-3a50-8ad1-93ac99fcdc9c", "path" : "\/private\/preboot\/Cryptexes\/OS\/usr\/lib\/libobjc-trampolines.dylib", "name" : "libobjc-trampolines.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 7953403904, "size" : 237540, "uuid" : "e3965df1-a3a3-374a-94ea-f86739c5cc8e", "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 6587777024, "size" : 5521408, "uuid" : "6a60be13-e657-3bec-a9ac-ba239ae29862", "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/CoreFoundation", "name" : "CoreFoundation" }, { "source" : "P", "arch" : "arm64e", "base" : 7881981952, "size" : 36864, "uuid" : "f4e7a885-f491-3721-862d-c57403f4d821", "path" : "\/System\/Library\/PrivateFrameworks\/GraphicsServices.framework\/GraphicsServices", "name" : "GraphicsServices" }, { "source" : "P", "arch" : "arm64e", "base" : 6629851136, "size" : 32595968, "uuid" : "f80c6ee4-50ca-346f-90eb-bb3da9817503", "path" : "\/System\/Library\/PrivateFrameworks\/UIKitCore.framework\/UIKitCore", "name" : "UIKitCore" }, { "source" : "P", "arch" : "arm64e", "base" : 7227854848, "size" : 536896, "uuid" : "4eb7459f-e237-38ce-8240-3f3e2e1ce5ab", "path" : "\/usr\/lib\/dyld", "name" : "dyld" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" }, { "source" : "P", "arch" : "arm64e", "base" : 6719856640, "size" : 524284, "uuid" : "8d425c72-57c9-3e54-a1e1-e243cbdfc446", "path" : "\/usr\/lib\/system\/libsystem_c.dylib", "name" : "libsystem_c.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 8916008960, "size" : 53236, "uuid" : "b2fe0dfa-67de-3d72-8267-6c42073e0e8d", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 6719569920, "size" : 286720, "uuid" : "8ce3afb9-6d84-3446-8fd4-e5f798d98403", "path" : "\/usr\/lib\/system\/libdispatch.dylib", "name" : "libdispatch.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 6566825984, "size" : 13832192, "uuid" : "7274dde3-68d6-34a0-8e67-7726e1265e80", "path" : "\/System\/Library\/Frameworks\/Foundation.framework\/Foundation", "name" : "Foundation" }, { "source" : "P", "arch" : "arm64e", "base" : 6609752064, "size" : 3952640, "uuid" : "99878792-4064-3260-b5b2-779a99b9f64e", "path" : "\/System\/Library\/Frameworks\/CFNetwork.framework\/CFNetwork", "name" : "CFNetwork" }, { "source" : "P", "arch" : "arm64e", "base" : 8916316160, "size" : 294912, "uuid" : "d7329e6b-e59d-39d9-aae1-eed096a3ec21", "path" : "\/usr\/lib\/system\/libxpc.dylib", "name" : "libxpc.dylib" } ], "sharedCache" : { "base" : 6542098432, "size" : 4393877504, "uuid" : "b8b93fb3-c309-3893-b486-688596746019" }, "vmSummary" : "ReadOnly portion of Libraries: Total=1.4G resident=0K(0%) swapped_out_or_unallocated=1.4G(100%)\nWritable regions: Total=577.7M written=433K(0%) resident=433K(0%) swapped_out=0K(0%) unallocated=577.2M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nAudio 64K 1 \nCG image 6544K 1 \nColorSync 160K 5 \nCoreAnimation 1328K 25 \nFoundation 16K 1 \nImage IO 928K 2 \nKernel Alloc Once 32K 1 \nMALLOC 556.2M 19 \nMALLOC guard page 32K 2 \nSTACK GUARD 240K 15 \nStack 8624K 15 \nVM_ALLOCATE 288K 4 \n__AUTH 4376K 477 \n__AUTH_CONST 80.0M 979 \n__CTF 824 1 \n__DATA 35.5M 950 \n__DATA_CONST 26.0M 985 \n__DATA_DIRTY 7939K 886 \n__FONT_DATA 2352 1 \n__GLSLBUILTINS 1904K 1 \n__INFO_FILTER 8 1 \n__LINKEDIT 203.8M 17 \n__LLVM_COV 10K 1 \n__OBJC_RW 2964K 1 \n__TEXT 1.2G 1014 \n__TPRO_CONST 272K 2 \nmapped file 247.0M 21 \nowned unmapped memory 1168K 1 \npage table in kernel 433K 1 \nshared memory 80K 4 \n=========== ======= ======= \nTOTAL 2.4G 5435 \n", "legacyInfo" : { "threadTriggered" : { } }, "logWritingSignature" : "6491ce8a384b037e88adac030fa7d37b188cfae7", "trialInfo" : { "rollouts" : [ { "rolloutId" : "64c025b28b7f0e739e4fbe58", "factorPackIds" : { "SIRI_UNDERSTANDING_CLASSIC_DEPRECATION" : "657ba0a39ec5da283662e9d2" }, "deploymentId" : 240000040 }, { "rolloutId" : "648cada15dbc71671bb3aa1b", "factorPackIds" : { "SIRI_EXPERIENCE_CAM" : "65a81173096f6a1f1ba46525" }, "deploymentId" : 240000116 } ], "experiments" : [ { "treatmentId" : "4bcb7f91-ab7a-47b4-8e7b-7ad8aeecc0ae", "experimentId" : "66313d942a3d926e3b50f15a", "deploymentId" : 400000027 }
最新发布
04-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值