Sur*_*gch 7 app-store apple-push-notifications ios flutter
将Flutter应用上传到App Store Connect之后,我收到以下电子邮件警告:
亲爱的开发人员,
我们发现您的应用“ [[APP NAME]””最近交付时出现了一个或多个问题。您的交付成功,但是您可能希望在下一次交付中更正以下问题:
缺少推送通知权利 -您的应用似乎已在Apple推送通知服务中注册,但应用签名的权利不包括“ aps-environment”权利。如果您的应用程序使用Apple Push Notification服务,请确保在Provisioning Portal中为您的Push ID启用了您的App ID,并在使用包含“ aps-environment”权利的Distribution Provisioning配置文件对您的应用程序进行签名后重新提交。Xcode不会在构建时自动从供应配置文件复制aps环境权利。此行为是故意的。要使用此权利,请在项目编辑器的“功能”窗格中启用“推送通知”,或将权利手动添加到您的权利文件中。有关更多信息,请参见 https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1。
解决问题之后,可以使用Xcode或Application Loader将新的二进制文件上传到App Store Connect。
最好的祝福,
App Store团队
我没有在应用程序中使用推送通知吗?为什么会收到此警告?我如何删除“ aps-environment”权利,无论其在何处以及什么地方?
注意:这个App Store问题在SO上已经出现过多次,有时是因为人们需要添加推送通知(请参阅this和this),有时是因为他们没有这样做(请参阅this和this)。不过,在我看来,这与Flutter有关,所以我添加了一个新问题。
Par*_*iya 14
我的修复似乎只修复了日志。即使委托方法是动态实现的,Apple 仍会发送电子邮件。
在我们修复它之前,您现在可以做的一件事是为您的 iOS 应用程序启用推送通知功能。
Xcode 有一个简单的方法来做到这一点。为此,您必须在签名和功能下添加“推送通知” 。Xcode 将为您生成“ ”文件。你可以关注这里Runner.entitlements
用 Xcode 打开你的 ios 文件夹
所述 转轮 仍然选择的目标中,单击 签名与能力 标签,然后单击 +能力按钮。在过滤器字段中键入“push”,然后按 Enter。
添加推送通知权利后,您的项目应如下所示并且该Runner.entitlements文件将已在您的项目中创建
chr*_*itz 12
我的应用程序确实使用推送通知,所以我想确保它正常工作。我发现这篇文章非常有帮助:Flutter/App Store Connect warning: ITMS-90078 Missing Push notification Entitlement
\n在 XCode 中打开 Flutter 项目 (Runner)。\n在“签名和功能”下,按“+Capability”并向下滚动以找到“推送通知”。\nXCode 将生成 \xe2\x80\x9cios/Runner/Runner.entitlements\xe2 \x80\x9d 文件。\n完成。我的构建出现在下一次尝试中。
\nSur*_*gch 11
俗话说,只要您真的不使用推送通知,就不会导致您的应用被拒绝。因此,您可以放心(?)忽略此警告,然后继续提交您的应用程序。
在GitHub上说明这个问题在这里和解决方案正在讨论在这里。显然,它与使用UIApplicationDelegate回调的Flutter相关:
- (void)application:(UIApplication*)application
didReceiveRemoteNotification:(NSDictionary*)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
Run Code Online (Sandbox Code Playgroud)
我会让别人更清楚地解释确切原因。密切关注GitHub问题。
现在,我只是忽略警告。
更新:我提交了我的应用程序,该应用程序已被接受,从那时起它就没有任何问题。因此,请忽略警告。
直到今天,这个问题在 Flutter 中仍未解决。请参阅问题 9984。
虽然这不应该导致 App Store 中的任何拒绝,但它仍然需要修复并且似乎有一个解决方法(也在上面的问题中描述):
在 ios/Runner/ Runner.entitlements下添加一个文件Runner.entitlements,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
我们的应用程序不使用推送通知功能,但 Flutter 使用 UIApplicationDelegate 回调(源)。App Store Connect 不会拒绝我们的应用程序分发(只要我们实际上没有使用推送通知)。这是一条警告消息。有些人可能会忽略这个警告。
\n解决方案:
\n如果您想(某种程度上)解决此警告,可以使用以下解决方法:
\n参考
\n<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n<plist version="1.0">\n<dict>\n <key>aps-environment</key>\n <string>development</string>\n</dict>\n</plist>Run Code Online (Sandbox Code Playgroud)\r\n| 归档时间: |
|
| 查看次数: |
2027 次 |
| 最近记录: |