- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在研究 MDM 解决方案,但遇到了 UDID 问题。我们有一个 iOS 应用程序作为 iOS MDM 服务器的支持应用程序。这个支持应用程序可以在 iOS 设备使用我们的 MDM 服务器注册 MDM 后启动。
在设备注册中,我们可以在服务器端获取设备 UDID,我们使用此设备 UDID 作为 iOS MDM 和 iOS 支持应用程序的公共(public) key 。要在支持应用程序的 iOS 中使用我们的 MDM 服务器登录,用户必须提供我们使用 API [[UIDevice currentDevice] uniqueIdentifier]
捕获的用户 ID、密码和 UDID,因此对于身份验证,这 3 个参数是必需的。
但是苹果在iOS 5.0中已经弃用了设备UDID,所以我们不能在iOS应用中使用苹果API来获取设备UDID。
现在我们需要一些通用 key ,它在 iOS MDM 证书中可用,我们可以在 iOS 支持应用程序中生成。因此,哪个用户已将 iOS 设备注册到 MDM 服务器,只有该用户才能登录 iOS 支持应用程序。
最佳答案
您也可以使用 wifi mac 地址作为 UDID 的替代。获取 mac 地址的逻辑如下,您可以在支持的 iOS 应用程序中使用它来获取 mac 地址。您可以使用 MDM 命令在服务器端 wifi mac 地址。
//.h文件
#import <Foundation/Foundation.h>
@interface MacAddress : NSObject
+ (NSString *)getMacAddress;
@end
//实现文件
#import "MacAddress.h"
#import <sys/socket.h>
#import <sys/sysctl.h>
#import <net/if.h>
#import <net/if_dl.h>
@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, &length, NULL, 0) < 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, &length, NULL, 0) < 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(&macAddress, socketStruct->sdl_data + socketStruct->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
关于objective-c - iOS MDM : Common key/id for iOS MDM and supporting MDM iOS application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12204535/
来历及作用 mdm.exe进程程序文件是由微软公司为其发布的Windows操作系统定义的一个系统进程,官方描述为:Machine Debug Manager(计算机调试管理器),计算机调试管理器M
我正在研究 MDM 解决方案,但遇到了 UDID 问题。我们有一个 iOS 应用程序作为 iOS MDM 服务器的支持应用程序。这个支持应用程序可以在 iOS 设备使用我们的 MDM 服务器注册 MD
我正在尝试使用 TIBCO MDM studio 设计器进行 TIBCO MDM 并尝试遵循工作室设计教程(存储库、规则库、流程和 UI 生成器)。 我的问题是,我尝试在 Studio Designe
我正在研究 iOS 中的 MDM,并查找有关 Apple 原生 iOS 移动设备管理的信息。一旦设备注册到 MDM 服务器,服务器就可以通过发送命令来管理设备。我在 MDM 服务器上进行了测试,发现即
我正在尝试安装通过 IPCU 创建的 .mobileconfig 文件。 但是当我单击邮件中附加的 .mobileconfig 文件时。 它发生错误消息为“无效的配置文件”。 什么是问题? 如果证书有
按照上述步骤操作 here和 Softhinker 。如上所述创建证书和配置文件。当配置文件安装在设备中时,将身份验证、Push Magic 和 token 更新发送到 mdm 服务器。到那时就很好了
使用 MDM 集成(移动设备管理解决方案,即 Maas360、Airwatch 等)构建的移动应用程序能否在未注册该 MDM 的其他一些设备上运行?这是否具体取决于哪个 MDM? 最佳答案 是的,该应
我已完成 iOS 设备的 MDM 服务器实现。我想在注册时通过 MDM 服务器使我的设备受到监督。是否可以通过 MDM 服务器来完成?如果是,有人可以告诉我该怎么做吗?如果不是,那么还有其他方法可以做
我已经完成了 iOS 设备的 MDM 实现。我想从 MDM 服务器将设备上的应用程序列入黑名单/白名单、安装/卸载应用程序。 我已经阅读了 MDM 协议(protocol)引用文档中的 Install
我们已完成 iOS MDM 设置。目前,当使用有效的 PushMagic 和 DeviceToken 将推送通知发送到 APN 时。设备响应要执行的命令的设备状态。 场景 1: 假设设备已恢复出厂设置
我对创建 PushCertWebRequest 很感兴趣(这来自苹果文档)我找到了很多文档如何为 Air-watch 等第三方供应商执行此操作,但他们跳过了使用 .p12 证书的最后一步。我的意思是当
我有三台笔记本电脑和一台台式机加入到 Azure 上托管的 Active Directory。我正在尝试使用拥有连接到 Azure 的笔记本电脑的人员的电子邮件地址将新工作站加入 Azure AD。
我有一个 Apple Profile Manager 服务器,其中注册了多个设备(iPad、iPhone)。可以通过 Web 界面访问服务器(例如:https://macserver.local/pr
我们希望为各种不同的客户开发应用程序,以便在他们的 iPad/iPhone 上使用。现在,我们拥有开发人员许可证,并手动配置 UUID,并通过 Web 服务器 OTA 分发应用程序。 这限制了我们每个
我需要限制出于MDM(移动设备管理)目的删除iOS应用程序。有什么办法可以通过编程或其他方式来实现? 最佳答案 这不是。 您不能限制删除iOS应用程序。 但是,如果特定用户希望限制删除第三方应用程序,
我能够开发一个 mdm 解决方案。 当我将代理从开发人员帐户的配置文件移动到企业帐户的内部分发配置文件时,我开始遇到问题。 现在我完全混淆了哪个证书在哪里使用? 请指导我他是在以下地方使用的证书: 注
我们将把我们的应用程序部署到多个设备上。我们有一些问题要解决。1. 将配置描述文件安装到 iPad。 (禁用主页按钮)2. 自动更新我们的应用 到目前为止,我们找到了一些解决方案,但并不完美,它们是1
我正在创建一个内部 MDM 解决方案,并已成功创建了 MDM 服务器、SCEP 服务器等所需的一切,以便收集有关我们设备的信息。 但是,我在推送我们创建的企业应用程序时遇到问题。我可以将应用程序推送到
我正在尝试制作 IOS MDM 服务器的原型(prototype),以向我的客户展示一些工作中的功能。我刚刚开始,在大量搜索和阅读有关 MDM 的内容后,我试图创建配置文件,但我遇到了困难(可能导致一
您好,我的团队正在实现 IOS MDM。我们有企业许可证。我们能够向 iOS 设备发送有效负载和命令。我们从 IOS 设备接收结果。但是在发送推送通知时它没有执行任何操作。即使在 IPCU 日志中也没
我是一名优秀的程序员,十分优秀!