FileProviderExtension 不会在 macOS 12.2 中加载
FileProviderExtension won't be loaded in macOS 12.2
我是 macOS 开发新手。
我正在尝试开发 macOS FileProvider 扩展,一切都很好,直到我将 macOS 从 11 更新到 12.2。
更新 OS 后,FileProvider 扩展不会被 NSFileProviderManager.add(域)及其完成处理程序加载 returns 错误 - NSFileProviderDomain.Error.providerNotFound
@IBAction func tapAddDomainButton(_ sender: Any) {
NSFileProviderManager.add(domain) { error in
print("Error: \(error)") // <- Error: Optional(Error Domain=NSFileProviderErrorDomain Code=-2001 "The application cannot be used right now." UserInfo={NSLocalizedDescription=The application cannot be used right now.})
}
}
我在 Xcode 中使用默认 macOS > App + 'File Provider Extension' 创建了一个新样板项目,但仍然出现相同的错误。
相同的代码适用于 macOS 11.6.1.
奇怪的是 apple 示例代码不会 return 错误并且在 macOS 12.2 中仍然有效。
我找不到我的代码和 Apple Sample Code.
之间的任何区别
我上传了我的测试项目here。
请帮助
提前致谢。
附加信息:我的同事在 macOS 12.0.1/12.1 上进行了测试,我的测试项目工作正常。
我想我已经解决了这个问题。
重点是AppGroup。 FileProvider 需要 AppGroup 功能。
我认为重现问题的步骤如下所示。
- 第一次在没有AppGroup的情况下启动provider,会遇到FileProvider错误。
- 添加 AppGroup 功能并重新启动。
- 仍然出现错误。
在首次启动时添加 AppGroup 功能的新项目不会失败。
我遇到了同样的问题,甚至打开了苹果反馈。
正如您所写,我发现(在我拔头发太久之后)是,应用程序组是必不可少的。
但不仅如此,Extension Info.plist 键“NSExtensionFileProviderDocumentGroup”必须与您的应用程序组相对应。
我通过更改应用和扩展组 (com.apple.security.application-groups
) 设法修复了它:
- 来自
$(APP_TEAM_ID).MyGroup
- 到
group.MyGroup
我是 macOS 开发新手。
我正在尝试开发 macOS FileProvider 扩展,一切都很好,直到我将 macOS 从 11 更新到 12.2。
更新 OS 后,FileProvider 扩展不会被 NSFileProviderManager.add(域)及其完成处理程序加载 returns 错误 - NSFileProviderDomain.Error.providerNotFound
@IBAction func tapAddDomainButton(_ sender: Any) {
NSFileProviderManager.add(domain) { error in
print("Error: \(error)") // <- Error: Optional(Error Domain=NSFileProviderErrorDomain Code=-2001 "The application cannot be used right now." UserInfo={NSLocalizedDescription=The application cannot be used right now.})
}
}
我在 Xcode 中使用默认 macOS > App + 'File Provider Extension' 创建了一个新样板项目,但仍然出现相同的错误。 相同的代码适用于 macOS 11.6.1.
奇怪的是 apple 示例代码不会 return 错误并且在 macOS 12.2 中仍然有效。 我找不到我的代码和 Apple Sample Code.
之间的任何区别我上传了我的测试项目here。 请帮助
提前致谢。
附加信息:我的同事在 macOS 12.0.1/12.1 上进行了测试,我的测试项目工作正常。
我想我已经解决了这个问题。
重点是AppGroup。 FileProvider 需要 AppGroup 功能。
我认为重现问题的步骤如下所示。
- 第一次在没有AppGroup的情况下启动provider,会遇到FileProvider错误。
- 添加 AppGroup 功能并重新启动。
- 仍然出现错误。
在首次启动时添加 AppGroup 功能的新项目不会失败。
我遇到了同样的问题,甚至打开了苹果反馈。 正如您所写,我发现(在我拔头发太久之后)是,应用程序组是必不可少的。 但不仅如此,Extension Info.plist 键“NSExtensionFileProviderDocumentGroup”必须与您的应用程序组相对应。
我通过更改应用和扩展组 (com.apple.security.application-groups
) 设法修复了它:
- 来自
$(APP_TEAM_ID).MyGroup
- 到
group.MyGroup