現(xiàn)在如果使用了第三方登錄,那么iOS這邊 就必須要添加蘋果登錄,否則......你無法上架
算是新規(guī)吧,各大公司也都添加了 蘋果登錄了.
RN 怎么做呢?下面帶你 玩轉(zhuǎn)RN的蘋果登錄
首先你要去你的開發(fā)者網(wǎng)站把這個(gè)東西打開
開發(fā)者網(wǎng)站->Certificates->Identifiers
項(xiàng)目里把他選出來
可以去我的GitHub[https://github.com/JonsonHI/SignWithApple]把iOS的文件拖入到項(xiàng)目中
至于不會iOS的同學(xué) 你也不用糾結(jié),你也看不懂.
至于會iOS的同學(xué) 相信你也可以寫的出來.
我會介紹下RN->iOS的通訊
coustomView 這個(gè)類 其實(shí)就是 自定義一個(gè)iOS原生View 導(dǎo)入到RN的頁面中
我寫的是 imageView 你也可以改成UIView 這個(gè)隨你自己
主要業(yè)務(wù)就是點(diǎn)擊這個(gè)View 然后監(jiān)聽到蘋果登錄的回調(diào)方法.
其他的就都是原生蘋果API 做的事情了
這里還有個(gè)onClick 點(diǎn)擊事件
這個(gè)方法是和RN 通訊的 success 和 error 都回調(diào)給 RN 讓RN 來做相應(yīng)的處理
如果上面的文件你都導(dǎo)入到了 iOS項(xiàng)目中,那么下面你需要些 RN 代碼了
//先導(dǎo)入我們封裝的方法
var NativeView = requireNativeComponent('SignWithApple');
SignWithApple 是在你下面這個(gè)類的名字
就是這個(gè)類了 有了對應(yīng)的名字你才能調(diào)用
js 代碼如下
<NativeView
style={{width: 60, height:60}} //這里的 style 可以定義原生iOSView的樣式
onClick={(info)=>{
if(info.nativeEvent.success){
alert(info.nativeEvent.success)
}else if(info.nativeEvent.error){
alert(info.nativeEvent.error)
}
}}
>
//這里是一張SVG圖片 你可以自己自定義
<SvgIcon path={iconPath.appleLogin} fill={['#222']} size={60}/>
</NativeView>
截屏動(dòng)畫我就不上了,因?yàn)樯婕暗絺€(gè)人賬號隱私
這個(gè)代碼拿過來就可以用,如果你覺得寫的不好,你也可以 自己修改.
就到這吧