小编San*_*ado的帖子

在React Native中保存敏感数据

我正在构建一个React Native应用程序,我需要保存一些敏感数据,如令牌和刷新令牌.显而易见的解决方案是使用AsyncStorage保存该信息.问题是AsyncStorage的安全级别.

AsyncStorage提供了一种本地存储令牌和数据的方法.在某些方面,它可以与LocalStorage选项进行比较.在完整的生产应用程序中,建议不要直接访问AsyncStorage,而是使用抽象层,因为AsyncStorage与使用相同浏览器的其他应用程序共享,因此从存储中删除所有项目的不当可能会影响相邻应用程序的功能.

https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/

在本机应用程序,我会去KeychainiOS,并Shared Preferences私人模式Android.

对于我在React Native提供的文档中读到的内容:

在iOS上,AsyncStorage由本机代码支持,该代码将小值存储在序列化字典中,将较大值存储在单独的文件中.在Android上,AsyncStorage将根据可用内容使用RocksDB或SQLite.

https://facebook.github.io/react-native/docs/asyncstorage.html

他们从不谈论数据的安全性.

这是创建模块Android(Shared Preferences私有模式下使用)和另一个iOS(使用Keychain)来保存敏感数据的最佳解决方案吗?或者使用AsyncStorage提供的方法是否安全?

android ios react-native

45
推荐指数
3
解决办法
2万
查看次数

从终端运行React Native iOS版本构建

我试图直接从终端运行发布版本,我没有找到一个选项来做到这一点.

从XCode开始,需要做的是:

产品 - >方案 - >编辑方案(cmd + <),确保您在侧面的"运行"选项卡中,并将"构建配置"下拉列表设置为"释放".

http://facebook.github.io/react-native/docs/running-on-device-ios.html#building-your-app-for-production

有什么选择可以react-native-cli做同样的事情吗?有点像react-native run-ios -configuration Release

我的目标是生成一个不需要服务器运行的构建,例如提供给QA团队.

ios react-native react-native-cli

16
推荐指数
2
解决办法
2万
查看次数

Android N Preview模拟器崩溃

我正在开始时在新的Android N预览模拟器上遇到此崩溃.

qemu: fatal: goldfish_tty_read: Bad offset 20
RAX=0000000000000009 RBX=0000000000000000 RCX=0000000000000000 RDX=0000000000000000
RSI=ffffffff817b6c7f RDI=ffff88005c3eb0c0 RBP=ffff88005e471bf8 RSP=ffff88005e471bb8
R8 =ffff88005c6a87f4 R9 =00000000ffffffff R10=ffff88005c3eb000 R11=0000000000000001
R12=ffffc9000003e000 R13=ffff88005e750810 R14=ffff88005c3eb000 R15=0000000000000000
RIP=ffffffff8127a837 RFL=00010246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 0000000000000000 ffffffff 00000000
GS =0000 ffffffff81a1f000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffffffff81a1a8c0 00002087 00008b00 DPL=0 …
Run Code Online (Sandbox Code Playgroud)

android android-emulator

10
推荐指数
1
解决办法
1639
查看次数

在Android Studio中的Android Instrumentation测试和单元测试之间共享代码

可以在Android Studio中的这两种测试模式之间共享代码吗?我有一套Mock Utils类,我需要在两种测试模式下访问.

testing android gradle android-testing android-studio

9
推荐指数
2
解决办法
780
查看次数

iOS7条形码扫描仪API为UPCA条形码格式添加了零

扫描这个(https://www.barcoderobot.com/static/bcgen/01026/478064310081_3b120.jpg?preview=True)条形码我们应该得到以下结果:47806431008

使用iOS7 api读取条形码,我得到以下结果:047806431008

任何ideias如何处理这个?

部分代码:

CGRect highlightViewRect = CGRectZero;
AVMetadataMachineReadableCodeObject *barCodeObject;
NSString *detectionString = nil;
NSArray *barCodeTypes = @[AVMetadataObjectTypeUPCECode, AVMetadataObjectTypeCode39Code, AVMetadataObjectTypeCode39Mod43Code,
                          AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeCode93Code, AVMetadataObjectTypeCode128Code,
                          AVMetadataObjectTypePDF417Code, AVMetadataObjectTypeQRCode, AVMetadataObjectTypeAztecCode];

for (AVMetadataObject *metadata in metadataObjects) {
    for (NSString *type in barCodeTypes) {
        if ([metadata.type isEqualToString:type])
        {
            barCodeObject = (AVMetadataMachineReadableCodeObject *)[_prevLayer transformedMetadataObjectForMetadataObject:(AVMetadataMachineReadableCodeObject *)metadata];
            highlightViewRect = barCodeObject.bounds;
            detectionString = [(AVMetadataMachineReadableCodeObject *)metadata stringValue];
            break;
        }
    }

    if (detectionString != nil)
    {
        [_session stopRunning];
        [self scanResult:detectionString];
        break;
    }
Run Code Online (Sandbox Code Playgroud)

barcode-scanner ios ios7

8
推荐指数
1
解决办法
4006
查看次数

将动态壁纸设置为Android锁定屏幕

由于Android API级别24设置壁纸的方法接受参数可以指定which我们想要设置(LockSystem)的壁纸.

不幸的是,我找不到使用它的方法Live Wallpapers.WallpaperManager该类中可用的方法仅支持imagesInputStreams.他们不支持Live Wallpapers.

有些Samsung设备接受以下代码:

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(this, LiveWallpaperService.class));
intent.putExtra("SET_LOCKSCREEN_WALLPAPER", true);
Run Code Online (Sandbox Code Playgroud)

但这只适用于某些设备.

有任何其他方法可用于以编程方式设置Live WallpaperLock Screen

android live-wallpaper

8
推荐指数
0
解决办法
1045
查看次数

Android测试的Gradle测试报告

我可以为Android测试提供gradle测试报告吗?我想直接在终端上报告.每次测试通过,失败或跳过时,我都希望在终端中打印报告,其中包含测试名称和状态.

对于单元测试,我可以将其添加到gradle文件以获取报告:

tasks.withType(Test) {
    testLogging {
        exceptionFormat "full"
        events "passed", "skipped", "failed"
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有找到任何Android测试的解决方案.

android gradle build.gradle android-gradle-plugin

5
推荐指数
1
解决办法
1007
查看次数

AdMob真实广告未展示,仅展示测试广告

我在手机上测试了广告功能.仅显示测试广告.当我用我从AdMob获得的单位ID替换单位ID时,不会显示真实的广告.

问题是什么?

这是我的代码:

 <string name="banner_ad_unit_id">ca-app-pub-11*************1/7********5</string>
Run Code Online (Sandbox Code Playgroud)

对于我使用的xml

  <com.google.android.gms.ads.AdView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            ads:adSize="BANNER"
            android:id="@+id/adView"
            ads:adUnitId="@string/banner_ad_unit_id">
        </com.google.android.gms.ads.AdView>
Run Code Online (Sandbox Code Playgroud)

用于加载广告我使用过

     AdView adView=(AdView)findViewById(R.id.adView);
    AdRequest adRequest= new AdRequest.Builder().setRequestAgent("android_studio:ad_template").build();

    adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)

在表现我有

    <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)

...

  <activity android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
       android:theme="@android:style/Theme.Translucent"/>
Run Code Online (Sandbox Code Playgroud)

但是我的广告没有加载到Android设备中.测试广告工作正常.我使用真实设备进行所有这些操作.有什么帮助吗?

android banner admob

5
推荐指数
1
解决办法
3212
查看次数

Android N - 应用程序不支持多窗口

我正在尝试使用我的应用程序测试新功能多窗口,每次我尝试使我的应用程序适合屏幕的一半时,我得到一个吐司说我的应用程序不支持它.

android android-7.0-nougat

3
推荐指数
1
解决办法
536
查看次数