Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can use wifi mac address also as replacement of UDID.The logic to get mac address is as below,which you can use in your supporting iOS application to get mac address. You can wifi mac address in server side using MDM command.</p> <p>//.h file</p> <pre><code>#import &lt;Foundation/Foundation.h&gt; @interface MacAddress : NSObject + (NSString *)getMacAddress; @end </code></pre> <p>//implentation file</p> <pre><code>#import "MacAddress.h" #import &lt;sys/socket.h&gt; #import &lt;sys/sysctl.h&gt; #import &lt;net/if.h&gt; #import &lt;net/if_dl.h&gt; @implementation MacAddress + (NSString *)getMacAddress {   int                 mgmtInfoBase[6];   char                *msgBuffer = NULL;   size_t              length;   unsigned char       macAddress[6];   struct if_msghdr    *interfaceMsgStruct;   struct sockaddr_dl  *socketStruct;   NSString            *errorFlag = NULL;   // Setup the management Information Base (mib)   mgmtInfoBase[0] = CTL_NET;        // Request network subsystem   mgmtInfoBase[1] = AF_ROUTE;       // Routing table info   mgmtInfoBase[2] = 0;                 mgmtInfoBase[3] = AF_LINK;        // Request link layer information   mgmtInfoBase[4] = NET_RT_IFLIST;  // Request all configured interfaces   // With all configured interfaces requested, get handle index   if ((mgmtInfoBase[5] = if_nametoindex("en0")) == 0)     errorFlag = @"if_nametoindex failure";   else   {     // Get the size of the data available (store in len)     if (sysctl(mgmtInfoBase, 6, NULL, &amp;length, NULL, 0) &lt; 0)       errorFlag = @"sysctl mgmtInfoBase failure";     else     {       // Alloc memory based on above call       if ((msgBuffer = malloc(length)) == NULL)         errorFlag = @"buffer allocation failure";       else       {         // Get system information, store in buffer         if (sysctl(mgmtInfoBase, 6, msgBuffer, &amp;length, NULL, 0) &lt; 0)           errorFlag = @"sysctl msgBuffer failure";       }     }   }   // Befor going any further...   if (errorFlag != NULL)   {     NSLog(@"Error: %@", errorFlag);     return errorFlag;   }   // Map msgbuffer to interface message structure   interfaceMsgStruct = (struct if_msghdr *) msgBuffer;   // Map to link-level socket structure   socketStruct = (struct sockaddr_dl *) (interfaceMsgStruct + 1);     // Copy link layer address data in socket structure to an array   memcpy(&amp;macAddress, socketStruct-&gt;sdl_data + socketStruct-&gt;sdl_nlen, 6);     // Read from char array into a string object, into traditional Mac address format   NSString *macAddressString = [NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",                                 macAddress[0], macAddress[1], macAddress[2],                                 macAddress[3], macAddress[4], macAddress[5]];   //NSLog(@"Mac Address: %@", macAddressString);     // Release the buffer memory   free(msgBuffer);   return macAddressString; } @end </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload