热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOSKeychain访问和配置文件-iOSKeychainaccessandProvisioningProfiles

JustcameacrossthisonappleKeychainServicesConcepts刚刚在AppleKeychainServicesConcepts上遇到过这个问

Just came across this on apple Keychain Services Concepts

刚刚在Apple Keychain Services Concepts上遇到过这个问题

Note: On iPhone, Keychain rights depend on the provisioning profile used to sign your application. Be sure to consistently use the same provisioning profile across different versions of your application.

注意:在iPhone上,Keychain权限取决于用于签署应用程序的配置文件。确保在不同版本的应用程序中始终使用相同的配置文件。

I also know that provisioning profiles can change for many reasons, including adding a new functionality like push notification, adding watch support, or even adding a new team member.

我还知道配置配置文件可能会因多种原因而发生变化,包括添加推送通知,添加手表支持,甚至添加新的团队成员等新功能。

Now am I correct to assume that whenever above changes occur, new versions of my app will no longer be able to access keychain items that were created with previous versions?

现在,我是否正确地假设每当发生上述变化时,我的应用程序的新版本将无法再访问使用以前版本创建的钥匙串项目?

Thanks!

谢谢!

2 个解决方案

#1


1  

You are completely WRONG. The Keychain Acces only depends on the bundle identifier of your application and the profile which was first used to create the app. If it would depend of your code-provisioning profiles changes, indeed what you said would be correct, but if so, the bussinesses and the enterprises would be totally unable to develop updates for their applications, which would have also included the old info stored in the Keychain. That's because in a bussiness, people come and leave often!

你完全错了。 Keychain Acces仅取决于应用程序的包标识符以及最初用于创建应用程序的配置文件。如果它取决于您的代码配置配置文件更改,实际上您所说的是正确的,但如果是这样,企业和企业将完全无法为其应用程序开发更新,这也包括存储在其中的旧信息钥匙扣。那是因为在商业中,人们经常来这里离开!

Note: On iPhone, Keychain rights depend on the provisioning profile used to sign your application. Be sure to consistently use the same provisioning profile across different versions of your application.

注意:在iPhone上,Keychain权限取决于用于签署应用程序的配置文件。确保在不同版本的应用程序中始终使用相同的配置文件。

Apple said, but you didn't understand that just right. You can add a team member, add push notification services and so on, as long as the provisioning profile stays the same!

Apple说,但你不明白这是正确的。只要配置文件保持不变,您就可以添加团队成员,添加推送通知服务等等!

NOTE:

If you change the provisioning profile just to add a team member, yes, your assumption is right, but it just isn't the best way of doing this!

如果您更改配置文件只是为了添加团队成员,是的,您的假设是正确的,但这不是最好的方法!

TUTORIAL (on how to add a team member to a provisioning profile)

[https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ManagingYourTeam/ManagingYourTeam.html

[https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ManagingYourTeam/ManagingYourTeam.html

#2


1  

keychain directly depepds on Bundle id , if bundle id remain same then your app can acess keychain , so provisioning profile should map the same bundle id if app needs to acccess keychain.

keychain直接取决于Bundle id,如果bundle id保持不变,那么你的app可以访问keychain,因此如果app需要访问keychain,配置文件应映射相同的bundle id。


推荐阅读
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文提供了 Xcode 12.0 和 12.1(版本号 16B91)开发工具包的下载链接及安装步骤。通过 Finder 和快捷键,您可以轻松访问和配置 DeviceSupport 文件夹,确保 Xcode 正常运行。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
author-avatar
幸运的anan本人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有