React-Native 二維碼掃碼功能

在網(wǎng)上找了很多資料,沒有找到純凈簡單的代碼,別人封裝好的對于新人是不適合的
網(wǎng)上找了兩個相關(guān)的庫react-native-camerareact-native-barcodescanner ,看別人的博客講react-native-camera 主要是用來調(diào)用攝像頭的邪狞,Android iOS 都可以用,但是識別條形碼的功能只有 ios 有急波,而react-native-barcodescanner 直接只支持 android,
后面發(fā)現(xiàn)了一個第三方 react-native-barcode-scanner-universal說是支持安卓和iOS,但是到目前只能iOS運(yùn)行,Android不能運(yùn)行原因還沒找到,

最最最討厭寫博放代碼不給全的人,所以以下代碼是全部代碼以及步驟:

-iOS端為例
1, 終端cd到項(xiàng)目目錄下,運(yùn)行一下以下命令
npm install react-native-camera 或 yarn add react-native-camera
npm install react-native-barcodescanner 或 yarn add react-native-barcodescanner

npm install -g rnpm
(***rnpm 的全名是『react native Package Manager』)

rnpm link react-native-camera
rnpm link react-native-barcodescanner

項(xiàng)目文件:

import React,{Component} from 'react';
import BarcodeScanner from 'react-native-barcode-scanner-universal'
import {
    AppRegistry,
    View,
    Text,
    StyleSheet,
    Platform,
} from 'react-native';

export default class ScanCode extends Component {
    static navigationOptions = {
        headerTitle: '二維碼掃碼Demo',
    };

    constructor(props) {
        super(props);
        this.state = {
            code: "None"
        };
        this._show = this._show.bind(this);
    }


    render() {
        let scanArea = null;
        if (Platform.OS === 'ios') {
            scanArea = (
                <View style={styles.rectangleContainer}>
                    <View style={styles.rectangle} />
                </View>
            )
        }
        return (
//官方demo上BarcodeScanner外面還包了層View,但是會有一個問題,看不到相機(jī)頁面,但是掃碼正常,后面我就直接把BarcodeScanner外層的View給掉了,結(jié)果就好了
                <BarcodeScanner
                    onBarCodeRead={ (code) => this._show(code)}
                    style={styles.camera}>
//********相機(jī)頁面添加組件在這里******
                    {scanArea}
                </BarcodeScanner>
        )
    }

    _show(val) {
        this.setState({
            code:val.data,

        });
        alert(val.data);
    }


};

var styles = StyleSheet.create({
    camera: {
        flex: 1,
        marginTop:0,
    },
    rectangleContainer: {
        flex: 1,
        alignItems: 'center',
        justifyContent: 'center',
        backgroundColor: 'transparent'
    },
    rectangle: {
        height: 250,
        width: 250,
        borderWidth: 2,
        borderColor: '#00FF00',
        backgroundColor:'transparent',


    }
})

var Dimensions = require('Dimensions');
var widthd = Dimensions.get('window').width;
var height  = Dimensions.get('window').height;

真機(jī)調(diào)試遇到的問題:
1.由于iOS涉及到相機(jī)權(quán)限獲取問題,所以使用XCode打開項(xiàng)目后,在項(xiàng)目的Info.plist文件中添加

<key>NSPhotoLibraryUsageDescription</key>
  <string>此 App 需要您的同意才能讀取媒體資料庫</string>
  <key>NSCameraUsageDescription</key>
  <string>cameraDesciption</string>
  <key>NSContactsUsageDescription</key>
  <string>contactsDesciption</string>
  <key>NSMicrophoneUsageDescription</key>
  <string>microphoneDesciption</string>

2.運(yùn)行報(bào)錯:Code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.0'
解決:給項(xiàng)目選擇Team

71BD56C0-5F5E-4FF1-B980-1B1A91030F7C.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沐批,一起剝皮案震驚了整個濱河市纫骑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌九孩,老刑警劉巖先馆,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躺彬,居然都是意外死亡煤墙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門宪拥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仿野,“玉大人,你說我怎么就攤上這事她君〗抛鳎” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵缔刹,是天一觀的道長鳖枕。 經(jīng)常有香客問我魄梯,道長,這世上最難降的妖魔是什么宾符? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任酿秸,我火速辦了婚禮,結(jié)果婚禮上魏烫,老公的妹妹穿的比我還像新娘辣苏。我一直安慰自己,他們只是感情好哄褒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布稀蟋。 她就那樣靜靜地躺著,像睡著了一般呐赡。 火紅的嫁衣襯著肌膚如雪退客。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天链嘀,我揣著相機(jī)與錄音萌狂,去河邊找鬼。 笑死怀泊,一個胖子當(dāng)著我的面吹牛茫藏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霹琼,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼务傲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了枣申?” 一聲冷哼從身側(cè)響起售葡,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忠藤,沒想到半個月后挟伙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熄驼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年像寒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烘豹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓜贾。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖携悯,靈堂內(nèi)的尸體忽然破棺而出祭芦,到底是詐尸還是另有隱情,我是刑警寧澤憔鬼,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布龟劲,位于F島的核電站胃夏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏昌跌。R本人自食惡果不足惜仰禀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚕愤。 院中可真熱鬧答恶,春花似錦、人聲如沸萍诱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裕坊。三九已至包竹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間籍凝,已是汗流浹背周瞎。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留静浴,地道東北人堰氓。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像苹享,于是被迫代替她去往敵國和親双絮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容