问题描述
我在iOS上启动了Flutter应用程序,该应用程序成功发布并实施了Apple Sign-In。 1个月后,我尝试发布具有更新的新版本(具体来说,我添加了推送通知功能-下面提供了更多详细信息),但由于Apple登录存在问题,我被拒绝了。它给出了这些错误。
ERROR in src/app/heroes/heroes.component.ts:52:30 - error TS2352: Conversion of type '{ name: never; }' to type 'Hero' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional,convert the expression to 'unkNown' first.
Property 'id' is missing in type '{ name: never; }' but required in type 'Hero'.
所以,我相信我已经尝试了在网上找到的所有内容,但仍然无法解决问题。我试图通过调试来获取有关错误的更多信息,但是我只能得到上面显示的内容。
重要:我通过Firebase Cloud Messaging在应用程序上添加了推送通知后,错误开始。具体来说,我添加了这些功能,以便在我的应用上设置“推送通知”;
重要提示2:当我尝试通过从App Store下载的应用程序的第一个版本登录时,它会登录,但只会获取电子邮件地址。它不会获取名称和姓氏为空的名称。像2个星期前一样,这个功能可以成功运行。
我用于实施Apple登录的软件包-https://pub.dev/packages/apple_sign_in
我正在积极尝试解决此问题。所以,我会尽快答复。我正在寻求帮助!预先感谢...
解决方法
重要事项2:当我尝试通过从App Store下载的应用程序的第一个版本登录时,它会登录,但只会获取电子邮件地址。它不会获取名称和姓氏为空的名称。像2周前一样,该功能已成功运行。
只有在您的应用程序提示用户使用Apple登录时(即,在获得首次授权时以及之后的任何时候,您希望他们重新进行身份验证),您才获得全名和电子邮件地址。
如果您的代码每次都需要一个全名和电子邮件,那可能就是您的问题。
例如,您是否完全使用后端来验证用户的id_token
或发送authorization_code
?
注意:我对Flutter一无所知,所以我的帮助只能扩展到Apple的那一边;)