uniapp——蘋果登錄


使用蘋果登錄首先需要在蘋果開發者后台開啟 App 的 Sign In with Apple 服務

1.登錄到蘋果開發者后台 編輯對應的 Identifier 勾選 Sign In with Apple 服務並保存

 

 

2.勾選或取消服務,會導致之前的 profile 描述文件失效,不需要新建,只要點擊 Edit 重新編輯對應的 profile文件,然后保存下載使用新的profile文件即可

 

 

 

在 HBuilderX 編輯項目的 manifest.json ,在 App SDK配置中找到蘋果登錄,並勾選。

 

 

 

登錄按鈕樣式

蘋果對登錄按鈕樣式有要求,請按照蘋果要求統一設置登錄按鈕的樣式,否則審核可能會被拒絕

需要注意的是:

  • 按鈕必須在顯著的位置(避免滑動屏幕才能看到)
  • 登錄按鈕有三種外觀:白色,帶有黑色輪廓線的白色和黑色,其他設計可能會影響審核;
  • 按鈕圓角范圍及按鈕最小尺寸也有要求;
  • 具體規則請參考蘋果 官方文檔

注:因為是 iOS13+ 系統才支持蘋果登錄,所以建議在App的界面入口判斷下,只有 iOS13 才顯示Apple登錄的選項

        onLoad() {
            uni.getSystemInfo({
                success:(res) => {
                    // console.log(res)
                    this.system = res.system  // ios
                    this.platform = res.platform  // 14.3
                }
            })
        },
<!-- 蘋果登錄 -->
<view class="item-1-2" v-if="platform == 'ios' && system >= '13'" @click="LoginForApple">
  <
image mode="widthFix" src="../../../static/center-icon/OS_Apple-2.png"></image>
</
view>
            // 蘋果登錄
            LoginForApple() {
                uni.getProvider({
                    service: 'oauth',
                    success: function (res) {
                        // console.log(res.provider)
                        if(~res.provider.indexOf('apple')) {
                            uni.login({
                                provider: 'apple',
                                success: loginRes => {
                                    uni.getUserInfo({
                                        provider: 'apple',
                                        success: userInfoRes => {
                                            console.log('獲取用戶信息成功'+JSON.stringify(userInfoRes))
                                        }
                                    })
                                },
                                fail: err => {
                                    // console.log('apple登錄失敗' + JSON.stringify(err))
                                    uni.showToast({
                                        title:'登錄失敗',
                                        icon:'none'
                                    })
                                }
                            })
                        }
                    },
                    fail: err => {
                        uni.showToast({
                            title:'登錄失敗',
                            icon:'none'
                        })
                    }
                })
            }

appleInfo

屬性 類型 說明
user String 蘋果用戶唯一標識符
state String 驗證信息狀態
email String 用戶共享的可選電子郵件
fullName Object 用戶共享的可選全名
authorizationCode String 驗證數據
identityToken String Web令牌(JWT)
realUserStatus Number 標識用戶是否為真實的人 0:當前平台不支持,忽略該值;1:無法確認;2:用戶真實性非常高
scope String 返回信息作用域

fullName

屬性 類型 說明
namePrefix String 名字前綴,頭銜、敬稱
givenName String 名字
middleName String 中間名
familyName String
nameSuffix String 名字后綴,學位、榮譽
nickName String 昵稱

授權失敗 code 說明

code 說明
1000 未知錯誤
1001 取消授權
1002 返回值無效
1003 請求未處理
1004 授權失敗

最后提交雲打包或自定義基座打包進行功能測試 !


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM