MobileGestalt
使用公开 API 获取 iOS 设备 UDID
它是如何工作的?
库使用 *.mobileconfig 文件来获取设备信息。您可以阅读 Apple 的 文档 了解更多。
我们可以获取什么?
- UDID
- IMEI
- ICCID (我无法获取,但它在 Apple 的文档里提到)
- 产品 (例如:iPhone8,3)
- 版本 (例如:14G60)
可以在 App Store 中使用吗?
对不起,我不知道。
使用 - 快速入门
1. 安装
- 使用CocoaPods
pod 'MobileGestalt'
- 使用Source,将 MobileGestalt 拖动到项目中
导入
#import <MobileGestalt/MobileGestalt.h>
2. 添加URL Scheme
在项目的 Info.plist 文件中添加一个唯一的URL Scheme。
例如: mobilegestalt
3. 创建一个会话
MGSessionConfiguration *configuration = [MGSessionConfiguration defaultConfiguration];
configuration.port = 10418;
configuration.portOffset = 3; // Use port 10418~10421
configuration.port = 0; // Use random port
self.session = [MGSession sessionWithConfiguration:configuration];
4. 创建一个请求
// Create a custom request
MGRequest *request = [MGRequest request];
request.attributes = @[MGAttributeUDID, MGAttributeIMEI, MGAttributeICCID, MGAttributeVersion, MGAttributeProduct];
request.displayName = @"Title for Profile";
request.organization = @"Subtitle for Profile";
request.explain = @"Description for Profile";
request.identifier = @"com.unique.mobilegestalt";
// Create a signed request in remote
MGRequest *request = [MGRequest requestWithMobileConfigURL:aRemoteURL];
// Create a signed request in local
MGRequest *request = [MGRequest requestWithMobileConfigData:aNSData];
5. 发送请求
[self.session request:request completed:^(MGRequest *request, MGResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSLog(@"%@", response.data);
}
}];