iOS 和 iPadOS 27.3 测试版新增 PIR 和 StoreKit 更新

Apple 的 iOS 和 iPadOS 27.3 测试版发行说明记录了适用于在 iPhone 和 iPad 上运行的应用的 SDK 更新。该 SDK 随 Xcode 27.3 一同提供,包含对 Live Caller ID Lookup、NEURLFilter 和 StoreKit 的更改。

Apple 随 Xcode 27.3 提供 iOS 和 iPadOS 27.3 SDK

iOS 和 iPadOS 27.3 SDK 支持为运行 iOS 和 iPadOS 27.3 测试版的 iPhone 和 iPad 开发应用。该 SDK 随 Xcode 27.3 一同提供;说明建议开发者参阅 Xcode 27.3 发行说明,了解兼容性要求。

Live Caller ID Lookup 更改评估密钥处理方式

系统现在会保留一组已上传到 Live Caller ID Lookup 服务但尚未使用的评估密钥。当预先上传的密钥用完时,系统会自动改为在查询中内联发送新的评估密钥。如果查询中包含评估密钥,服务必须直接使用该密钥,而不是根据用户标识符查找密钥。

Live Caller ID Lookup 现在要求其 PIR 配置中的服务分片数必须是 2 的幂,例如 256、512、1024 或 2048。系统会拒绝分片数不是 2 的幂的配置。已使用 2 的幂分片数的配置可在早期版本中正常工作,无需更改。

NEURLFilter 更新 PIR 和 Privacy Pass 配置

系统现在会保留已上传到 NEURLFilter PIR 服务但尚未使用的评估密钥。当预先上传的密钥用完时,系统会自动在查询中内联发送新的评估密钥。收到包含评估密钥的查询时,服务必须直接使用该密钥,而不是根据用户标识符查找密钥。

NEURLFilter 不再支持用户等级。系统不再调用服务的 /token-key-for-user-token 端点,而是改用 Privacy Pass 令牌发行方目录中的第一个有效公钥。

NEURLFilter 服务的 PIR 配置最多可包含 65,536 个分片,且分片数必须是 2 的幂,例如 256、512、1024 或 2048。系统会拒绝超出上限或分片数不是 2 的幂的配置。已满足这两项限制的配置可在早期版本中正常工作,无需更改。

现在必须在应用的 Info.plist 中静态声明 NEURLFilter 服务 URL 和 Privacy Pass 发行方 URL;仅在运行时提供这些 URL 的做法已弃用。开发者必须在应用的 Info.plist(而不是 URL 过滤器扩展的 Info.plist)中添加 NSPIRConfiguration 字典,并包含 PIRServerURL 和 PrivacyPassIssuerURL 键。PIRServerURL 对应 pirServerURL;PrivacyPassIssuerURL 对应 pirPrivacyPassIssuerURL,如果未设置,则默认为 PIRServerURL。每个值都只能包含服务器的主机名。如果这些值也在运行时设置,则必须与 Info.plist 中的值完全一致,否则系统会因配置无效而无法启动过滤器。

StoreKit 新增多席位订阅

多席位订阅允许客户为自动续订订阅购买多个席位,并邀请其他人加入。开发者可以通过 Product 和 AdvancedCommerceProduct 上新增的 supportsMultiSeatPurchase 属性,检查订阅是否支持购买多个席位。该属性反映在 App Store Connect 中配置的设置。

说明还指出,苹果修复了一个问题:开发者在沙盒环境中测试“购买前询问”(Ask to Buy)时,如果登录的 iCloud 账户属于“家人共享”群组,可能无法查看或批准沙盒中的“购买前询问”请求。

Xcode 中的 StoreKit 测试记录修复内容和已知问题

苹果修复了 Xcode 中 StoreKit 测试的一个问题:对属于某个订阅套餐的订阅进行 App 内购买时,系统错误地允许用户从套餐中解除捆绑,而不是抛出错误。

一项已知问题指出,使用 SKTestSession 的应用首次启动时,某些 StoreKit Test API 调用可能会挂起。文档建议的解决方法是在方案的运行选项中设置 StoreKit 配置文件,然后重新运行测试。

iOS 和 iPadOS 27.3 测试版发行说明详述开发者相关更改

  • iOS 和 iPadOS 27.3 SDK 支持为运行 iOS 和 iPadOS 27.3 测试版的 iPhone 和 iPad 开发应用,并随 Xcode 27.3 一同提供。
  • Live Caller ID Lookup 要求 PIR 配置中的分片数必须是 2 的幂,例如 256、512、1024 或 2048。
  • NEURLFilter 将 PIR 配置的分片数限制为最多 65,536 个,并要求分片数为 2 的幂。
  • NEURLFilter 要求在应用的 Info.plist 中的 NSPIRConfiguration 字典内设置 PIRServerURL 和 PrivacyPassIssuerURL。
  • 多席位订阅支持通过 Product 和 AdvancedCommerceProduct 上的 supportsMultiSeatPurchase 属性提供。
  • 对于首次启动 SKTestSession 时出现的问题,Xcode 中 StoreKit 测试的解决方法是在方案的运行选项中设置 StoreKit 配置文件,然后重新运行测试。

常见问题

iOS 和 iPadOS 27.3 对 Live Caller ID Lookup 做了哪些更改?

系统会保留已上传到服务但尚未使用的评估密钥,并在这些密钥用完时于查询中内联发送新的密钥。服务必须直接使用查询中包含的评估密钥。PIR 配置中的分片数必须是 2 的幂,例如 256、512、1024 或 2048。

NEURLFilter 的 PIR 配置有哪些要求?

NEURLFilter 最多允许 65,536 个分片,并要求分片数为 2 的幂。服务 URL 和 Privacy Pass 发行方 URL 必须在应用的 Info.plist 中的 NSPIRConfiguration 字典内声明,并使用 PIRServerURL 和 PrivacyPassIssuerURL 键。

StoreKit 如何支持多席位订阅?

多席位订阅允许客户为自动续订订阅购买多个席位,并邀请其他人加入。开发者可以通过 Product 和 AdvancedCommerceProduct 上的 supportsMultiSeatPurchase 属性检查是否支持此功能。

免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。

本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复

赞 (0)
上一篇 2026年11月3日 下午5:43
下一篇 2026年11月4日 下午8:07

相关推荐

风险提示:理性看待区块链,提高风险意识!