【问题标题】:Is iOS provisioning profile similar to Android Manifest FileiOS 配置文件是否类似于 Android 清单文件
【发布时间】:2019-03-06 23:37:37
【问题描述】:

我是一位经验丰富的 Android 开发人员,试图了解 iOS 生态系统。我一直在研究“配置文件”,但并不真正了解它的用途。我已阅读以下 SO 帖子,它让我认为配置文件基本上是清单文件?还是类似于签名密钥库?

我的假设是因为 android manifest 告诉设备我的应用程序将如何运行,它需要什么服务或权限,是否可以由其他应用程序导出,等等......似乎配置文件可能具有类似的作用?

参考这里的问题: What is a provisioning profile used for when developing iPhone applications?

【问题讨论】:

    标签: android ios profile provisioning


    【解决方案1】:

    Provisioning Profile 是 iOS 安全性的一部分。当用户启动应用程序时,ios 会验证该应用程序中嵌入的配置文件以确定是否允许该应用程序运行。

    在开发过程中,应用程序包含一个配置文件,其中列出了应用程序可以在其上运行的设备 ID(开发人员在 Apple 开发人员门户中注册这些设备 ID)以及验证开发人员是否拥有由 Apple 签署的有效证书的签名。

    当应用程序发布到 App Store 时,此配置文件将被 Apple 剥离并替换为他们签署的允许应用程序在任何设备上运行的配置文件。

    应用所需的能力(例如访问相机)包含在info.plist 文件和应用代码中;该文件指定了向用户显示的原因,但代码负责请求访问。简单地在info.plist 中声明一个使用字符串不会提示用户授予权限。这样,可以在用户清楚上下文时提出权限请求。例如。当他们点击应用程序中的“相机”按钮时。

    【讨论】:

    • 啊,感谢您澄清这一点。因此,要在本地进行测试,我必须上网,在配置文件中添加我的测试设备 ID,下载此配置文件并将其放入我的应用程序中。当我需要发布我的应用程序时,不再需要此配置文件或不再有用,因为我没有每个 Apple 设备的设备 ID(但苹果确实为我创建了一个配置文件)
    • 是的,但是 Xcode 可以为您管理所有这些。当您尝试在连接到 Mac 的新设备上运行您的应用程序时,它可以创建配置文件并注册新设备。如果您要将应用程序远程发送给某人进行测试,则只需手动添加设备(TestFlight 可能是一种更好的方法)。
    • 澄清一下,并不是 Apple 知道每台设备的 id,而是 iOS 信任模型知道 Apple 签名的应用程序可以在任何设备上运行,因此它不会检查配置文件中的设备 ID。
    猜你喜欢
    • 2023-01-28
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多