ITMS-90809: เลิกใช้งาน API - Apple จะหยุดรับการส่งแอพที่ใช้ UIWebView API


91

เมื่อวานนี้ฉันอัปโหลดแอปของฉันไปที่ TestFlight และหลังจากนั้นไม่นาน Apple ก็ส่งคำเตือนนี้ให้ฉัน:

ITMS-90809: เลิกใช้งาน API - Apple จะหยุดรับการส่งแอพที่ใช้ UIWebView API ดูhttps://developer.apple.com/documentation/uikit/uiwebviewสำหรับข้อมูลเพิ่มเติม

สิ่งนี้คือฉันไม่ได้ใช้ UIWebView ในแอพของฉันดังนั้นฉันจึงพยายามอัปเดตพ็อดของฉัน แต่ก็ยังเหมือนเดิมโดยวิธีนี้เป็นงานสร้างที่ 3 ของฉันใน TestFlight และนี่เป็นครั้งแรกที่ Apple ส่งสิ่งนี้มาให้ฉัน ความคิดใด ๆ ?

อัปเดต

นี่คือฝักของฉัน:

pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'Firebase/MLVision'
pod 'Firebase/MLVisionTextModel'
pod 'SVProgressHUD'
pod 'SPPermission/Camera'
pod 'SPPermission/PhotoLibrary'
pod 'Mantis'
pod 'SwiftKeychainWrapper'
pod 'SwiftyOnboard'
pod 'Fabric'
pod 'Crashlytics'

อัปเดต 2

ดูเหมือนว่าฉันพบกรอบที่มีปัญหาแล้ว

Binary file ./Pods/FirebaseMLCommon/Frameworks/FirebaseMLCommon.framework/FirebaseMLCommon matches
Binary file ./Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics matches
Binary file ./Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision matches

ตอนนี้ฉันต้องรอให้ google แก้ไขและอัปเดตพ็อดของฉันหรือไม่


ตรวจสอบว่าคุณใช้พ็อดใดและใช้ UIWebView หรือไม่ ตัวอย่างเช่น SDK แบนเนอร์ แต่คุณอาจต้องการตรวจสอบ SDK อื่น ๆ ด้วย
Gerharbo

1
@Gerharbo ฉันใช้เฉพาะ Firebase พ็อดและฉันไม่พบ UIWebView ในนั้น
Nick

สำหรับผู้ที่ใช้ Cordova + reactjs (หรือเชิงมุม) โปรดดูCordova-plugin-wkwebview-engineและCordova-plugin-wkwebviewxhrfix
Jacksonkr

คำตอบ:


104

ตรวจสอบว่าคุณใช้รหัสของคุณในคลาส UIWebView หรือไม่ ถ้าใช่แทนที่การใช้งานของคุณด้วย WKWebView ต้องตรวจสอบพ็อดของคุณ

ไปที่เทอร์มินัลในโฟลเดอร์โครงการของคุณและดำเนินการคำสั่ง: grep -r "UIWebView" .

ต้องอัปเดตพ็อดที่ตรงกันทั้งหมด ตอนนี้ฉันติดขัดเพราะพบ UIWebView ใน Google AdMob (เวอร์ชัน 7.49.0) และฉันกำลังรอเวอร์ชันใหม่จาก Google


23
เมื่อฉันป้อนคำสั่งในเทอร์มินัลฉันได้รับคำเตือนต่อไปนี้ "grep: warning: recursive search of stdin" และมันจะไม่ตอบสนองใด ๆ แม้จะผ่านไป 30 นาทีแล้วก็ตามมีความคิดใดบ้าง
Durai Amuthan.H

1
ทำงานได้อย่างสมบูรณ์แบบ ฉันใช้สิ่งนี้เพื่อค้นหาว่า UnityAds.framework ใช้ UIWebView พวกเขาจำเป็นต้องอัปเดตเป็น WKWebView
Apollo SOFTWARE

1
บางทีคุณอาจจะได้รับผลลัพธ์ดังต่อไปนี้ .. ไฟล์ไบนารี /Users/xxx/xxxx/xxxx.xcworkspace/xcuserdata/xxx.xcuserdatad/UserInterfaceState.xcuserstate ตรงกัน ฉันแก้ไขได้โดยลบ xcworkspace และ pod install อีกครั้ง
ShaoJen Chen

2
คุณยังได้รับ @WilliamNardo นี้หรือไม่? แม้ว่าฉันจะอัปเดตที่ผ่านมาแล้วเพื่อแก้ไข: " 7.55.0 Removed all references to UIWebView. UIWebView is no longer supported." Installing Google-Mobile-Ads-SDK 7.56.0 (was 7.53.1)แต่ฉันก็ยังได้รับBinary file Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds matches
10623169

17
@ DuraiAmuthan.H ตรวจสอบว่าคุณได้เพิ่มจุด / full-stop (.) ที่ท้ายคำสั่ง grep ตอนแรกฉันทำผิดพลาดเหมือนกัน
Wheelie

68

คุณสามารถตรวจสอบแต่ละเฟรมเวิร์กในแอพที่เก็บถาวรเพื่อดูว่ามีการอ้างถึงUIWebViewหรือไม่ จากบรรทัดคำสั่งcdไปยังแอปที่เก็บถาวรเช่น:

cd ~/Library/Developer/Xcode/Archives/<date>/myapp.xcarchive/Products/Applications/myapp.app

จากนั้นใช้nmคำสั่งเพื่อถ่ายโอนสัญลักษณ์ของแอพของคุณและเฟรมเวิร์กของแต่ละแอพ:

nm myapp | grep UIWeb
for framework in Frameworks/*.framework; do
  fname=$(basename $framework .framework)
  echo $fname
  nm $framework/$fname | grep UIWeb
done

อย่างน้อยสิ่งนี้จะบอกคุณได้ว่ากรอบงานใดเป็นตัวการ


ขอบคุณสำหรับคำตอบที่ช่วยได้มาก ฉันจะอัปเดตคำถามของฉันพร้อมข้อมูลเพิ่มเติม
Nick

ตอนนี้สิ่งเดียวที่ฉันทำได้คือรอให้ Google แก้ไขปัญหา?
Nick

2
ใช่คุณจะต้องรอ (หรือแก้ไขด้วยตัวเองและส่งคำขอดึง) ฉันไม่แน่ใจว่ากำหนดเวลาที่แน่นอนในการลบการใช้งานทั้งหมดUIWebViewคืออะไร แต่ฉันสงสัยอย่างมากว่าจะเกิดขึ้นก่อนที่ iOS 13 จะเปิดตัวในฤดูใบไม้ร่วงนี้
Rudedog

@Rudedog ฉันจะแก้ไขเฟรมได้อย่างไร? ครั้งแรกของทั้งหมดขอขอบคุณสำหรับคำตอบของคุณ ... หลังจากทำตามคำตอบของคุณดูเหมือนว่าฉันมี 4 กรอบที่ใช้ UIWebView >>>>>> Alamofire Cosmos NMSSH ลาย
จอห์นนี่

2
@johnny คุณจะต้องโคลนแต่ละที่เก็บและค้นหาว่าพวกเขาใช้ UIWebView ที่ใดลบหรือแทนที่โค้ดที่ใช้และอาจส่งคำขอดึงหากคุณต้องการให้การเปลี่ยนแปลงกลับไปที่ที่เก็บหลัก หรือคุณสามารถรอให้ช่างซ่อมบำรุงแก้ไขเอง ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ตอนนี้ Apple เพิ่งเตือนนักพัฒนาเกี่ยวกับเรื่องนี้และไม่ได้ปฏิเสธไบนารีจริงๆดังนั้นคุณจึงมีเวลารอให้ผู้ดูแลระบบอัปสตรีมแก้ไขสิ่งต่างๆ
Rudedog

9

ฉันจะตอบคำถามของตัวเองเมื่อมีข่าวสารเกี่ยวกับอีเมลนี้ Google บอกฉันว่ามีตั๋วหลายใบเกี่ยวกับปัญหานี้และจะดำเนินการแก้ไขโดยเร็วที่สุด วันนี้แอปของฉันได้รับการอนุมัติสำหรับ AppStore แล้วดังนั้นดูเหมือนว่าจะเป็นเพียงคำเตือนในขณะนี้


สวัสดีคุณสามารถแนะนำวิธีแก้ปัญหาบางอย่างได้ไหมฉันกำลังประสบปัญหาเดียวกัน แอปไม่ได้รับการอนุมัติแม้ว่าหลังจากนั้นอาจมีการเข้าชมและการทดลอง ..
Dinesh Rawat

6

WKWebViewคือการแทนที่สำหรับUIWebView. หากคุณไม่มีUIWebViewการใช้งานในโค้ดของคุณมากกว่าการเรียกใช้คำสั่งเทอร์มินัลด้านล่างคุณสามารถทราบได้อย่างง่ายดายว่าไลบรารีใดที่ยังใช้UIWebViewการอ้างอิงอยู่ (อย่าพลาด. (จุด))

จากบรรทัดคำสั่ง cd ไปยังแอพที่เก็บถาวรเช่น

cd ~/Library/Developer/Xcode/Archives/<date>/myapp.xcarchive/Products/Applications/myapp.app

แล้วเรียกใช้

grep -r UIWebView

หรือโทร

 grep -r UIWebView /Path/To/Project/*

สิ่งนี้จะให้ผลลัพธ์สำหรับการจับคู่กรอบงาน

./<ANY>.framework/Headers/ANY.h:#define ANYUseUIWebView ANY_NAME_PASTE(ANY_PREFIX_NAME, ANYUseUIWebView)

เอาต์พุตสำหรับการจับคู่ไลบรารี

Binary file ./<FRAMEWORK-NAME>.framework/<LIB-FILE>.a matches

อัปเดตไลบรารีเหล่านี้

pod update

ดูบทความขนาดกลางนี้ด้วย


ใช้ "grep -r -F" UIWebView "" istead ของ "grep -r UIWebView"
Manish

1
ใน Mac ให้ใช้ "grep -r UIWebView" ในเส้นทางโครงการ (มีช่องว่างและชี้ท้าย)
Vins

อัปเกรดพ็อดทั้งหมดที่ใช้อยู่แล้วUIWebView(เช่น AFNetworking, ZDCChat) และตรวจสอบgrep -r UIWebView .พ็อดที่อัปเดตแล้วเนื่องจากอัปเกรดสำหรับ WKWebView แล้ว แต่ยังคงให้รายการพ็อดเดียวกันสำหรับการUIWebViewแข่งขันและ Apple ยังให้คำเตือนขณะส่งแอปบน iTunesconnect
Sunil Targe

./Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h:#import "UIWebView+AFNetworking.h" Binary file ./Pods/ZDCChat/ZDCChatAPI.framework/ZDCChatAPI matches Binary file ./Pods/ZDCChat/ZDCChat.framework/ZDCChat matches Binary file ./Pods/.git/index matches
Sunil Targe

ZDCChatAPIฝักนี้ใช้uiwebview
Jawad Ali


4
brew install ripgrep 
cd Pods
rg UIWebView
YoutubePlayer-in-WKWebView/README.md
10:- using WKWebView instead of UIWebView.

TTTAttributedLabel/TTTAttributedLabel/TTTAttributedLabel.h
166: to emulate the link detection behaviour of UIWebView.

TwitterKit/iOS/TwitterKit.framework/Headers/Twitter.h
28:     * either UIWebView or SFSafariViewController depending on iOS

TwitterKit/iOS/TwitterKit.framework/Headers/TWTRTweet.h
84: *  Suitable for loading in a `UIWebView`, `WKWebView` or passing to Safari:

3

ฉันแก้ไขปัญหานี้โดยการอัปเดตปลั๊กอิน ionic webview และเพิ่มค่ากำหนดใน config

ฉันทำตามขั้นตอนต่อไปนี้:

1.cordova ปลั๊กอิน rm cordova-plugin-ionic-webview

2. ปลั๊กอิน Cordova เพิ่ม Cordova-plugin-ionic-webview @ ล่าสุด

3. เพิ่มการตั้งค่าในไฟล์กำหนดค่าภายใต้แพลตฟอร์ม iOS:

<preference name="WKWebViewOnly" value="true" />
    <feature name="CDVWKWebViewEngine">
        <param name="ios-package" value="CDVWKWebViewEngine" />
    </feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

หลังจากทำตามขั้นตอนเหล่านี้แอปของฉันจะถูกส่งและได้รับการอนุมัติในการตรวจสอบในภายหลัง



2

หากคุณกำลังสร้างด้วย Unity 3Dนี่เป็นปัญหาที่ทราบ (รับทราบในบันทึกการเปลี่ยนแปลง) ปัจจุบันได้รับการแก้ไขแล้วสำหรับเวอร์ชัน 2019.3 (กำลังทดสอบและส่งกลับ)

ตรวจสอบตั๋วที่นี่https://unity3d.com/unity/whats-new/2019.2.4


2

มันเป็นกระบวนการที่ยาวนาน แต่ฉันสามารถแก้ปัญหาดังกล่าวข้างต้นได้ ให้ฉันแนะนำคุณตลอดกระบวนการและแบ่งปันสิ่งที่ฉันค้นพบ สิ่งแรกสิ่งแรกไม่จำเป็นสิ่งที่ได้ผลสำหรับฉันจะทำงานให้คุณ คุณต้องพยายามหาวิธีแก้ปัญหาทุกวิถีทาง ฉันติดตามวิธีแก้ปัญหาบางส่วนที่โพสต์ไว้ในกระทู้ต่างๆ (ลิงก์ด้านล่าง)

  1. เมื่อผมอยู่บน RN 0.59 ผมพบว่าเหล่านี้แสดงความคิดเห็นไฟล์กล่าวถึงที่นี่ ไม่ได้ผล
  2. ฉันอัปเกรดเป็น RN 0.61 ฉันไม่พบไฟล์เหล่านี้ ฉันพยายามอัปโหลดแอป แต่ยังได้รับคำเตือนไม่ได้ผล
  3. ฉันอัปเดตไลบรารีต่อไปนี้เป็นเวอร์ชันล่าสุด ไม่ทำงาน react-native-device-info react-native-view
  4. ฉันพยายามคำสั่ง grep นี้กล่าวถึงที่นี่ มีไลบรารีบางแห่งที่แสดงเช่น react-native-fbsdk, react-native-google-sign, react-native-gest-handler ดังนั้นฉันจึงอัปเกรดทั้งหมดและอัปโหลดบิลด์ แต่ยังคงได้รับคำเตือน ไม่ได้ผล

  5. ทางเลือกสุดท้ายในการอัปเดตห้องสมุดทั้งหมดซึ่งฉันรู้ว่าต้องใช้เวลามาก ดังนั้นเดาแรกของฉันคือการปรับปรุง 'ตอบสนองพื้นเมือง-Firebase' ล่าสุดรุ่น v6 ปัญหา แต่มีปัญหาบางอย่างกับการไม่เปิดการแจ้งเตือนจึงไม่สามารถใช้งานได้ นอกจากนี้พวกเขาบอกว่า v.5.5.6 ของพวกเขาคือการทำความสะอาดและไม่ได้มี UIWebViewIssues ใดก็ตามคุณอัปเดต iOS ของคุณ SDK เพื่อ 6.12. + ข้อมูลเพิ่มเติมได้ที่นี่ ดังนั้นสิ่งนี้ทำให้ฉันต้องเดาครั้งที่สองซึ่งในกรณีของฉันคือ 'react-native-ux-cam' โชคดีที่พวกเขาอัปเดตไลบรารีเพื่อลบการอ้างอิงทั้งหมดของ UIWebView ฉันอัปเดตเป็นเวอร์ชันล่าสุดและ BOOM ปัญหาได้รับการแก้ไขแล้ว ฉันส่งแอพของฉันไปที่ Apple แล้วและยังไม่มีคำเตือนใด ๆ ข้อมูลเพิ่มเติมที่นี่ ทำงาน 💥

หวังว่านี่จะช่วยใครบางคนได้


2

Backstory

ในโครงการ ReactJS + Cordova ของฉันฉันอัปโหลดแอปไปยังร้านแอปและมันก็สำเร็จ ITMS-90809: Deprecated API Usageไม่นานหลังจากที่ฉันได้รับอีเมลอ้าง หลังจากทำการวิจัยเป็นเวลาหลายชั่วโมง (หลายวัน) และการอัปโหลดที่ล้มเหลวหลายครั้งฉันเชื่อมต่อกับ Apple โดยใช้โทเค็นสำหรับนักพัฒนาแบบชำระเงิน ($ 50) พวกเขาตอบโดยทั่วไปว่า "ตรวจสอบโฟลเดอร์โมดูลโหนดของคุณ" และคืนเงินโทเค็นของฉันเพราะพวกเขาจะไม่ช่วยเหลือฉันในข้อผิดพลาดที่คลุมเครืออย่างยิ่งนี้

ความพยายามก่อนหน้านี้

  • อัปเดต Cordova เพื่อใช้wkwebview-engineและwkwebviewxhrfixปลั๊กอิน
  • grep -rเมื่อใช้กับที่เก็บถาวรแหล่งที่มาของ iOS และแหล่งที่มาของโครงการทั้งหมดฉันพบบันทึกมากมาย แต่ไม่มีอะไรช่วยได้จริงๆ
  • อัปเดตnpmแพ็คเกจทั้งหมด
  • ทำความสะอาดและอัปเดตcocoapodพ็อดทั้งหมด

ความพยายามขั้นสุดท้าย

หลังจากลบปลั๊กอิน Cordova "พิเศษ" แพคเกจ npm และพ็อดทั้งหมดฉันก็เหลือเพียงแอปพลิเคชั่น แต่ยังต้องเผชิญกับการปฏิเสธของ Apple การใช้grep -rอีกครั้งยังคงมีการอ้างอิงถึง "facebook" ซึ่งนำฉันไปสู่สำเนาเก่าของไฟล์FBSDK.

วิธีการแก้

FBSDKได้ถูกเพิ่มลงในtarget > Build Phases > Link Binary With Librariesไฟล์. นอกจากนี้ยังมีความเกี่ยวข้องcordovaFacebook.mในtarget > Build Phases > Compile Sources. หลังจากลบไฟล์เก่าที่ไม่ได้รับการดูแลเหล่านี้ฉันสามารถอัปโหลดไปยัง iTunes ได้โดยไม่มีปัญหา


1

ในกรณีของฉันFirebase/Authกำลังใช้ UIWebView API ที่เลิกใช้แล้วและเวอร์ชันที่ฉันใช้เป็นเวอร์ชันเก่ากว่า ดังนั้นฉันจึงอัปเดตFirebase/Authพ็อดโดยใช้คำสั่ง

pod update 'Firebase/Auth'

หมายเหตุ : หากต้องการทราบเฟรมเวิร์กที่ใช้ api นี้เพียงค้นหา "UIWebView" ( cmd+ shift+ F)


นี่คือสิ่งที่ฉันทำและเห็นได้ชัดว่ากำลังติดตั้ง FirebaseInstanceID 4.2.5 (คือ 4.2.2) และไม่สามารถแก้ปัญหาของฉันได้
Jules Lee

1

FB Sdk เหนือเวอร์ชัน 7.16.1 มีปัญหานี้ จริงๆแล้วมันไม่มีไฟล์ในโฟลเดอร์เฟรมเวิร์ก

ข้อผิดพลาดนี้จะลบออกเมื่อคุณสร้างโดยใช้ FBSDK v7.16.1 แต่ Appstore ได้ปฏิเสธแอปเนื่องจากการใช้งาน API ที่คิดค่าเสื่อมราคา (UIWebView)

ฉันแก้ไขโดยใช้ FBSDK v7.19.2

1) เมื่อคุณสร้างโปรเจ็กต์สำหรับ xcode จะแสดงข้อผิดพลาดการกล่าวถึงไม่พบ shareKit ฉันแก้ไขโดยคัดลอกโฟลเดอร์ facebookSDK จากโฟลเดอร์เฟรมเวิร์กของบิลด์ก่อนหน้าของฉัน (พร้อม fbsdk v7.16.1) ไปยังตำแหน่งเดียวกันของโฟลเดอร์ xcode ปัจจุบัน (เฟรมเวิร์ก / FacebookSDK ... )

2) จากนั้นเปิดโครงการ xcode ของคุณเพิ่มไฟล์จากตำแหน่ง: Frameworks / FacebookSDK / Plugins / IOS / (sharekit, corekit, loginkit) ลงใน Frameworks ใน Xcode

3) เพิ่ม "$ (PROJECT_DIR) / Frameworks / FacebookSDK / Plugins / iOS" ลงใน Framework Search Paths ในการตั้งค่าบิลด์ที่ Xcode

4) เปิด Project ใน Terminal: พิมพ์ "grep -r" UIWebView " หากสิ่งนี้แสดงว่าตรงกับ UIWebView ให้ลบออกโดยเปิดไฟล์

5) หากแสดงการจับคู่ในไฟล์ไบนารีของ FBSDKCoreKit เปิดไฟล์ใน TextEdit ที่ MAC แล้วค้นหาและแทนที่ "UIWebView" ทั้งหมดเป็น "WKWebView"

6) บันทึกและเพิ่มลงใน Frameworks ที่ Xcode อีกครั้ง สร้างและส่งไปยัง appstore


0

เมื่อคุณสร้างแอพ Ionic คุณสามารถเลือกระหว่าง Cordova หรือ Capacitor เพื่อปรับใช้เวอร์ชันมือถือเนทีฟ ในขณะที่เวอร์ชันล่าสุดใช้ WKWebView โดยอัตโนมัติ Cordova ยังคงใช้ UIWebView APIs ทันทีหรือมีการอ้างอิงถึง (Capacitor ได้รับการอัปเดตเพื่อลบการอ้างอิงเหล่านี้ - ดูด้านล่าง)

เมื่อส่งแอป Apple จะค้นหารหัสของแอปสำหรับสตริง“ UIWebView” จากนั้นจะสร้างคำเตือนการส่งหากพบ ดังนั้นจึงจำเป็นต้องมีการเปิดตัว Cordova-ios (ไลบรารี Cordova iOS) ในอนาคตเพื่อให้แน่ใจว่าการอ้างอิงถึง UIWebView API ทั้งหมดจะถูกลบออก

ความคิดอื่น ฉันไม่รู้ว่ามันสมเหตุสมผลหรือเป็นไปได้ในทางเทคนิค

ย้าย UIWebView ไปยังปลั๊กอินด้วยและทำให้ Cordova-ios ใช้สิ่งนี้หรือปลั๊กอิน WKWebView บางส่วน Cordova-ios มีโค้ดสำหรับโหลด webview ตามค่าเริ่มต้นเวอร์ชันถัดไปควรโหลด Apache WKWebViewEngine (ปลั๊กอินที่ติดตั้งโดยค่าเริ่มต้นในแอปใหม่คำแนะนำการย้ายข้อมูลสำหรับแอปเก่า) ผู้ใช้ที่ต้องการ UIWebView, Ionic one, fork หรืออื่น ๆ สามารถระบุรายการของตัวเองได้เหมือนตอนนี้

ด้วยวิธีนี้จะไม่มี UIWebView อยู่ใน Cordova-ios และยังคงมีความยืดหยุ่นเพียงพอเช่นปัจจุบัน


0

ฉันเผชิญกับแอป React เนทีฟแบบเดียวกัน ตรวจสอบสิ่งต่างๆด้านล่าง:

1) คุณกำลังใช้โมดูล react-native-webview แทนที่จะนำเข้าโดยตรงจาก react-native (การดูเว็บชุมชนเลิกใช้งานเป็นการลบแกนแบบลีนใน v0.60 และจะถูกลบออกในเวอร์ชันเสถียรถัดไป) ( ตรวจสอบที่นี่ )

2) โปรดตรวจสอบด้วยว่าคุณกำลังใช้ไลบรารีของบุคคลที่สามที่ใช้ webview เป็นปัจจุบันหรือไม่หากไม่เป็นเช่นนั้นโปรดขอให้ผู้ดูแลไลบรารีอัปเกรด react-native-webview

3) คุณพร้อมที่จะอัปโหลดโปรดเพิ่มความคิดเห็นหากใครพบปัญหาเพิ่มเติม

ตรวจสอบการเปลี่ยนแปลงที่ไม่สมบูรณ์ใน v0.60 ที่นี่

อีกวิธีหนึ่งในการกำจัดคำเตือนนี้คือ: เริ่มส่ง useWebKit = {true} กล่าวคือคุณกำลังใช้ WKWebView ไม่ใช่ UIWebView เลย จากนั้นคุณสามารถทำสิ่งต่อไปนี้เพื่อแก้ปัญหา - การใช้งาน API ที่ไม่รองรับ

  1. ลบ Libraries / RNCWebView.xcodeproj / RNCUIWebView.h、 RNCUIWebView.m、 RNCUIWebViewManager.h、 RNCUIWebViewManager.m
  2. ลบ Libraries / React.xcodeproj / React / Views / RCTWebView.h、 RCTWebView.m、 RCTWebViewManager.h、 RCTWebViewManager.m

ตอนนี้ฉันได้อัปโหลด app.ipa ไปยัง AppStore เรียบร้อยแล้วโดยไม่มีคำเตือนการอนุญาตใด ๆ

<WebView
 style={{flex: 1, backgroundColor: Colors.white}}
 useWebKit={true}
 startInLoadingState={true}
 source={{uri: 'my http url'}}
/>```

0

ถ้าใครช่วยฉันรันpod updateบนเทอร์มินัลแล้วเก็บอีกครั้ง ที่เหมาะกับฉัน


ซึ่งครอบคลุมแอพ ios แต่ไม่ช่วย Android หรือแอพมือถืออื่น ๆ
Jacksonkr

นี่เป็นปัญหาเฉพาะของ iOS Android ไม่มีปัญหาเดียวกัน
slothstronaut

0

สำหรับฉันสคริปต์ไม่ได้ช่วยอะไร ฉันต้องดูแต่ละเฟรมเวิร์กด้วยตนเองและดูบันทึกประจำรุ่นและอัปเดต


0

ฉันกำจัดสิ่งนี้ออกไปโดยทำตามขั้นตอนด้านล่าง -

ขั้นตอนที่ 1:

ค้นหา“ UIWebView” ในไดเรกทอรีโครงการ xcode

ขั้นตอนที่ 2:

คลิกขวา (บน RCTWebView.m) และเลือก“ เปิดเผยใน Project Navigator”

ขั้นตอนที่ 3:

เลื่อนลงและลบสี่ไฟล์ต่อไปนี้เท่านั้น:

 1. RCTWebView.h
 2. RCTWebView.m
 3. RCTWebViewManager.h
 4. RCTWebViewManager.m

จากนั้นทำความสะอาดโครงการและที่เก็บถาวร

หมายเหตุ: หากคุณใช้ไลบรารี'react-native-community / react-native-webview' ให้อัปเดตเป็นเวอร์ชันล่าสุดมิฉะนั้นจะเสร็จสิ้น



0

ในการค้นหาตำแหน่งที่คุณใช้ a UIWebViewไปที่รูทโปรเจ็กต์ของคุณในเทอร์มินัลแล้วใช้คำสั่งนี้

grep -r -F "UIWebView" .

'' สำคัญมาก. มันบอกให้ระบบค้นหาสตริง"UIWebView"ในโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อย สิ่งนี้จะค้นหาไลบรารีcocoapodsด้วย


0

ในการอัปเดต WebView ที่เลิกใช้แล้วใน ios

สิ่งนี้ช่วยแก้ปัญหาของฉันได้สำเร็จ

แพลตฟอร์มซีดี / ios grep -r UIWebView Pods /

เปิด Podfile และเพิ่ม / แทนที่ AFNetworking pod เป็น

พ็อด 'AFNetworking', '~> 4.0'

สุดท้ายในการอัปเดตเทอร์มินัลพ็อด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.