GoogleSignInSDK ใช้งาน UIWebView

Nov 02 2020

ทุกคนรู้ว่า GoogleSignInSDK (iOS) เวอร์ชันใดที่การใช้งาน UIWebView ถูกลบออกเวอร์ชัน 4.4.0 ครอบคลุมหรือไม่

คำตอบ

3 gcharita Nov 13 2020 at 20:52

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

เล่นgrep -r UIWebView .คำสั่งในไดเรกทอรีโครงการของคุณจะต้องเป็นผลผลิตไฟล์ในที่ "UIWebView สตริง" ปรากฏขึ้นแม้แต่คนไบนารี

ฉันไปข้างหน้าและติดตั้งGoogleSignInในโครงการที่ว่างเปล่า ตะเข็บที่เวอร์ชัน 4.4.0 ยังคงใช้UIWebViewอยู่ ผลลัพธ์ของgrep -r UIWebView .ไดเร็กทอรีโปรเจ็กต์คือ:

~ grep -r UIWebView .
./Pods/GoogleSignIn/CHANGELOG.md:- Supports sign-in via UIWebView rather than app switching to a browser,
Binary file ./Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn matches

เห็นได้ชัดว่าไฟล์ไบนารีภายในGoogleSignIn.frameworkมีการอ้างอิงดังกล่าว

แต่เนื่องจากเวอร์ชัน 5.0.0 มีการอ้างอิงUIWebViewเฉพาะในREADME.mdและCHANGELOG.mdไฟล์:

~ grep -r UIWebView .
./Pods/AppAuth/README.md:for the auth request. `UIWebView` and `WKWebView` are explicitly *not*
./Pods/GoogleSignIn/CHANGELOG.md:- Supports sign-in via UIWebView rather than app switching to a browser,

ดังนั้นหากคุณต้องการอัปโหลดแอปพลิเคชันใหม่ใน App Store คุณอาจต้องอัปเกรดเป็นเวอร์ชัน 5.0.0 เป็นอย่างน้อย

2 Jamil Nov 16 2020 at 20:56

เมื่อเดือนที่แล้วฉันประสบปัญหานี้ ในที่สุด googling ก็แก้ปัญหานี้ได้ด้วยวิธีต่อไปนี้

  1. เพียงแสดงความคิดเห็นในไลบรารีพ็อดทั้งหมดและลองใช้กับไฟล์พ็อดนี้เท่านั้น

    pod 'GoogleSignIn'
    

แล้วรับ

 pod install 
  1. จากนั้นวางบรรทัดนี้ในเทอร์มินัล

    ~ grep -r UIWebView

หมายเหตุ: สังเกตว่าบรรทัดด้านบนมีจุด (.) ในตัวอักษรตัวสุดท้ายและตรวจสอบว่าไม่พบ "UIWebView"

  1. หากไม่พบ 'UIWebView' แสดงว่าไฟล์พ็อดนี้ไม่เป็นไร

  2. อีกครั้งแยกไฟล์ pod หนึ่งไฟล์และทำซ้ำขั้นตอนที่ 1 ขั้นตอนที่ 2 และขั้นตอนที่ 3 จำเป็นทีละไฟล์เนื่องจากไฟล์พ็อดหนึ่งไฟล์อาจขึ้นอยู่กับไฟล์พ็อดอื่น

หากคุณทำตามขั้นตอนเหล่านี้อย่างรอบคอบฉันหวังว่า 'UIWebView' จะลบออกจากไฟล์พ็อดทั้งหมด