React Native真機報錯

  1. Warning: unable to build chain to self-signed root for signer
    看報錯提示,似乎是簽名錯誤

嘗試1 可能是證書信任問題 去鑰匙串 找到相應證書,并且設置為始終信任

嘗試2 把相關證書的信任改成默認值,問題解決了

  1. 打包release時,提示Use of undeclared identifier 'GADMobileAds'

問題描述: 接入了admob廣告sdk,模擬器上運行無問題,但是去打包release版本的時候,提示GADMobileAds是未定義的變量(appDelegate.m)

解決嘗試1: 可能是包沒安裝上,運行cmd + shift + k 清除編譯記錄,刪除node_modules和ios下的Pods和Podfile.lock,重新運行yarn和npx pod-install

結果:未解決,仍然報一樣的錯誤

解決嘗試2: pod install --repo-update 不死心,再試試
失敗

解決嘗試3:去react-native-admob的issue和example里找找
無果

解決嘗試4: debug無問題,release有問題,應該是打包的差異導致的
archieve的時候,打包方式改成debug,無問題,問題仍然需要解決

解決嘗試5:
經過多種嘗試,最終發現了問題所在!

#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>

@import GoogleMobileAds;

我原來的AppDelegate.m的頭部長這樣,但是release環境下FB_SONARKIT_ENABLED這個值是defined,導致import語句沒有生效!只需要把@import GoogleMobileAds;移動到#ifndef....語句的前面即可!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容