如何在我的iOS应用程序中以编程方式获取MAC地址

时间:2016-04-04 07:45:59

标签: ios objective-c

我是Objective-C的新手,实际上我想在我的设备连接到WiFi时显示mac地址,我已经看到很多关于此的答案,但我无法得到我想要的东西。所以任何人都可以以教程的形式指导我。先感谢您。

1 个答案:

答案 0 :(得分:6)

ios 7及更高版本无法使用Mac地址。

Apple Said

  

在iOS 7及更高版本中,如果您要求提供iOS设备的MAC地址,   系统返回值02:00:00:00:00:00。如果你需要   识别设备,使用UIDevice的identifierForVendor属性   代替。 (需要自己广告标识符的应用   目的应该考虑使用的advertisingIdentifier属性   而是ASIdentifierManager。)

Check bottom of the page into Apple Document.

更好的解决方案。 以下代码返回唯一地址。

#import "UIDevice+Identifier.h"

- (NSString *) identifierForVendor1
{
     if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
          return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
     }
     return @"";
}

通话方法

NSString *like_UDID=[NSString stringWithFormat:@"%@",
                [[UIDevice currentDevice] identifierForVendor1]];

NSLog(@"%@",like_UDID);

Also another solution visit HERE

<强>被修改

的UIDevice + Identifier.h

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface UIDevice (IdentifierAddition)
- (NSString *) identifierForVendor1;
@end

的UIDevice + Identifier.m

#import "UIDevice+Identifier.h"

@implementation UIDevice (IdentifierAddition)
- (NSString *) identifierForVendor1
{
    if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
        return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    }
    return @"";
}

@end

调用上面的函数。

ViewController.m

#import "ViewController.h"
#import "UIDevice+Identifier.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSString *like_UDID=[NSString stringWithFormat:@"%@",
                         [[UIDevice currentDevice] identifierForVendor1]];


    NSLog(@"%@",like_UDID);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end