【问题标题】:Enable Passcode Lock in xcode IOS Simulator在 xcode IOS 模拟器中启用密码锁定
【发布时间】:2013-04-15 16:28:45
【问题描述】:

我正在使用 IOS 模拟器 v6.0。 设备是 iPhone(关于我的问题,所有 iPhone 设备的行为都相同) IOS版本为6.1

我正在尝试使用内置 Safari 浏览器通过网络应用程序下载 p12。

下载完成后,用户会自动转到设置应用程序(据我所知,这是完成 p12 安装所必需的) - 但没有完成安装的选项。我读过启用证书导入需要密码锁。但是,我不知道如何在 iPhone IOS 模拟器中启用密码锁定。

我读过的文档说该选项应该在:设置 -> 常规 -> 密码锁定

除了不是。这是模拟器特定的限制吗?我能克服吗?

【问题讨论】:

    标签: certificate ios-simulator


    【解决方案1】:

    尼尔,

    是的,正如您所指出的,iOS 模拟器并非 100% 准确复制实际 iOS 设备中的操作环境——某些类型的交互依赖于专门的硬件(相机、陀螺仪、磁力计) 、基于硬件的加密技术等)在模拟环境中自然是不支持的。其他看似“纯软件”类型的交互在模拟器上也被禁止(推送通知、iCloud 等)——这可归因于以下几件事:

    1. 与物理设备不同,您无需配置 iOS 模拟器。由于配置文件包含这些 Apple 服务的权利,因此模拟器无法(当前)了解如何连接到这些服务的特定应用部分。
    2. 模拟器没有唯一的硬件标识符,因此来自您的模拟器的连接与任何其他开发者模拟器上的连接无法区分。

    最后,有一类交互不符合上述任何一个排除项,只能归因于 Apple 做出的设计决策。例如,密码锁可以由具有安全意识的 iOS 设备用户简单地启用......或者它可以由 IT 部门通过移动设备配置策略(通过 ActiveSync、MDM 服务器等)强制执行。非 IT 强制版本的密码锁定会导致模拟器内功能奇偶校验,因为仅支持最通用的密码锁定行为,从而使 MDM 用户处于冷战状态。为了避免这种情况,Apple 必须赋予 Simulator 支持 .mobile 配置文件的知识,连接并定期检查 MDM 服务器(因此需要唯一的硬件标识符),并最终在 Simulator 中包含 Mail.app 以允许 Exchange 连接到设置为强制执行 ActiveSync 托管配置。

    如您所见,这个相对简单的功能会迅速扩展到许多其他也需要模拟的 iOS 元素。考虑到最不可能、最极端的情况,Simulator 将成为一款功能完备的纯软件 iPhone,您可以在其中直接从 OS X 上的 iPhone 形界面接听电话和短信、查看电子邮件等……不是 Apple 的体验即使这些用户是他们的第 3 方开发人员,也希望用户拥有。

    虽然有一些交互我们可以很容易地推断出它们从模拟器中省略的原因,但只有 Apple真正知道他们为什么选择从模拟器中排除其他交互。

    那么,回到你的问题:

    这是模拟器特有的限制吗?

    是的,iOS 模拟器目前不支持 Xcode 4.6.2。

    我能克服它吗?

    据我所知,没有。

    但是,我确实认为您关于在模拟器中安装证书的潜伏问题是您可以做的事情——事实上,我在我的模拟器中安装了一个自签名证书颁发机构来做一些关于 2 的安全测试几个月前,很大程度上是基于Charles web proxy 的开发人员提出的一些工作。

    如果您下载他们的 shell 脚本,您可以看到他们是如何将自签名证书注入模拟器密钥库的——假设您的最终目标是安装证书,您可以对自己的证书应用类似的过程。

    请务必备份默认密钥库;很容易意外破坏该文件中的二进制数据并使您的模拟器无法用于所有 SSL 连接。

    很可能默认情况下,这不是 iOS 模拟器中受支持的操作 - 调整模拟器的风险由您自己承担。

    祝你好运,如果一切都失败了,请将您的应用推送到您绝对可以安装证书的设备。

    【讨论】:

    • 直到今天我都没有在 iOS 模拟器中看到密码的设置过程:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2013-11-01
    • 2014-11-22
    • 1970-01-01
    • 2018-03-07
    • 2018-03-20
    • 2014-12-31
    相关资源
    最近更新 更多