บันทึกการเปลี่ยนแปลงและบันทึกย่อประจำรุ่นของ Facebook SDK สำหรับ iOS
สำหรับบันทึกการเปลี่ยนแปลง 5.0.0 ขึ้นไป โปรดดูที่ facebook/facebook-objc-sdkCHANGELOG.md บน GitHub
02-04-2019 | บันทึกการเปลี่ยนแปลงฉบับสมบูรณ์
_inBackground สำหรับเหตุการณ์ในแอพ[FBSDKAppEvents clearUserID];title, description, caption และ image ของ FBSDKShareLinkContent โปรดดำเนินการเพื่อลบการใช้งานช่องเหล่านี้ออกอย่างเหมาะสม [FBSDKAppEvents activateApp] ในระหว่างการเริ่มใช้งาน SDK ไม่จำเป็นต้องเรียกใช้ activateApp ในโค้ดFBSDKLoginButton โปรดดูรายละเอียดเพิ่มเติมได้ที่คู่มือการอัพเกรดFBMediaView เพื่อให้คำแนะนำสำหรับผู้เผยแพร่ที่ต้องการปรับเลย์เอาท์แอพของตนให้เหมาะกับขนาดเนื้อหาของมุมมอง ซึ่งจะช่วยให้ผู้เผยแพร่โฆษณาสามารถทำสิ่งต่างๆ เช่น ปรับความสูงของเซลล์โฆษณาในฟีด หรือแสดงเลย์เอาท์เฉพาะสำหรับโฆษณาแบบวิดีโอแนวตั้ง อัตราส่วนภาพคือความกว้าง/ความสูง และมากกว่าหรือเท่ากับ 0.0 applyNaturalWidth และ applyNaturalHeight ซึ่งจะเปลี่ยนความกว้างหรือความสูงตามขนาดของ FBMediaView ในปัจจุบันโดยคำนึงถึงคุณสมบัติ aspectRatio โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ API ใหม่เหล่านี้ได้ในคู่มือผู้พัฒนาโฆษณาแบบเนทีฟsetMediaViewRenderingMethod ลงใน FBAdSetting เพื่อกำหนดค่าวิธีการแสดงผลสำหรับ FBMediaView วิธีการแสดงผลที่มีอยู่ประกอบด้วย FBMediaViewRenderingMethodDefault, FBMediaViewRenderingMethodMetal, FBMediaViewRenderingMethodOpenGL และ FBMediaViewRenderingMethodSoftwareadViewDidClick ของ FBInstreamAdViewDelegateapplication:openURL:options: ลงใน FBSDKApplicationDelegate ใน iOS 10FBSDKLoginManagerFBSDKLoginManager ก่อนเวลาอันควรnativeAdDidClick: ที่ไม่ถูกเรียกใช้บน FBNativeAdDelegateUIImagePickerController ที่ทำให้ App Store ปฏิเสธFBSDKSettings setGraphAPIVersion: เพื่ออนุญาตการตั้งค่าส่วนกลางของ API กราฟในเวอร์ชั่นต่างๆFBInstreamAdView เพื่อรองรับตำแหน่งการจัดวางโฆษณาในสตรีมautoplayEnabled บน FBMediaView เพื่อสนับสนุนการควบคุมฝั่งเซิร์ฟเวอร์PHAsset ในไลบรารีโปรแกรมเล่นวิดีโอ FnF ซึ่งอาจทำให้การวิเคราะห์แบบคงที่ของ App Store ล้มเหลวFBSDKAppEventsUtility fetchDeferredAppInvite:FBSDKAppGroupAddDialog และ FBSDKAddGroupJoinDialogNSURLSession แทน NSURLConnection สำหรับการส่งคำขอ API กราฟตั้งแต่ NSURLConnectionFBSDKLoginButtonFBSDKShareAPI โดยที่ก่อนหน้านี้ SDK จะส่งคืน ID ของโพสต์ที่เป็นอัลบั้มรูปภาพSKStoreProductViewController ของ App Store เพื่อให้สามารถวางแนวได้ทุกรูปแบบ ยกเว้นกลับหัวFBAdEnvironmentData ให้เหมาะสมFBAdConfigManager ที่ทำให้อ็อบเจ็กต์ที่ผสมผสาน FNF / AVFoundation ขัดข้องFBAdConfigManager ในสถานการณ์ที่ถูกต้องviewControllerDidCancel เมื่อผู้ใช้กด CancelUIAlertController แทน UIActionSheet ที่เลิกใช้ไปแล้วSKStoreProductViewController ด้วยการโหลดที่เชื่อถือได้มากขึ้นและการหมดเวลาอัตโนมัติFBAdConfig ที่ทำให้อ็อบเจ็กต์ AVFoundation และ FNF* ถูกใช้ร่วมกัน ทำให้ "ตัวเลือกที่ไม่รู้จัก" ขัดข้อง"objc_arc" ออกจาก modulemapviewControllerForLoginResume[FBSDKShareAPI.accessToken] เพื่ออนุญาตให้เปลี่ยนโทเค็นการเข้าถึงที่ใช้สำหรับการแชร์ (คำขอดึงข้อมูล 826)-[FBSDKAppEvents logPushNotification*] และ -[FBSDKAppEvents setPushNotificationsDeviceToken:] โปรดดูข้อมูลเพิ่มเติมได้ที่เอกสารแคมเปญแบบพุช-[FBSDKAppLinkUtility fetchDeferredAppInvite:] เพื่อรองรับลิงก์แอพ "การเชิญคำเชิญให้ลงแอพ" แบบ Deferred บน iOS และ FBSDKAppInviteContent.promotionCode และ FBSDKAppInviteContent.promotionText เพื่อให้สะดวกต่อการใส่รหัสโปรโมชั่นพร้อมกับคำเชิญ โปรดดูข้อมูลเพิ่มเติมได้ที่เอกสารเกี่ยวกับคำเชิญให้ลงแอพ-[FBSDKProfile loadCurrentProfileWithCompletion:]FBSDKHashTag และ FBSDKShareMediaContent เพื่อรองรับการแชร์แฮชแท็กและเนื้อหาแบบผสม (เช่น รูปภาพและวิดีโอ) โปรดดูข้อมูลเพิ่มเติมได้ที่เอกสารเกี่ยวกับการแชร์FBSDKShareLinkContent.quote เพื่อรองรับการแชร์คำพูดจากลิงก์FBSDKShareVideo.previewPhoto เพื่อจัดเตรียมรูปภาพเพื่อใช้นำเสนอวิดีโอFBSDKWebDialog (แก้ไขการจัดแนวเส้นขอบ)FBMediaViewSFSafariViewController ไม่ส่งเหตุการณ์ที่ถูกยกเลิกFBNativeAdTableViewCellProviderFBAdURLSessionNSStringFBAdCache เมื่อ URL รูปภาพไม่ถูกต้อง[NSString containsString:] ใน iOS 7FBSDKLikeControl ให้ตรงตามบริบทของแต่ละพื้นที่FBSDKAppEvents ที่ไม่ส่งการระบุที่มาในบางกรณีFBSDKLoginButton เพื่อรับ loginButtonWillLogin: เมื่อเข้าสู่ระบบด้วยปุ่มเท่านั้นFBSDKAppEvents ที่จะไม่ส่งเหตุการณ์หาก activateApp ถูกส่งจากเธรดพื้นหลังFBSDKLoginButton เกี่ยวกับความสูงเริ่มต้น (คำขอดึงข้อมูล GitHub #804: @revolter)StoreKit ออกNSURLSessionAVPlayer/AVPlayerItem โดยการเพิ่มประสิทธิภาพเล็กน้อยด้วยการเลื่อนวิดีโอCGColorGetComponentsWKWebViewFBNativeAdView ไม่โหลดเนื้อหาเมื่อใช้แบบสแตนด์อโลนFBSDKShareAPI สามารถแชร์เนื้อหา FBSDKShareVideo ที่เริ่มต้นด้วย URL ของไฟล์ได้แล้วsharePhotoContent ไม่สามารถตั้งค่า peopleIds ใน FBSDKShareAPI ได้shareVideoContent เพื่อปฏิเสธการตั้งค่า peopleIds และ placeId (ไม่รองรับในตำแหน่งข้อมูลวิดีโอ API กราฟ) ใน FBSDKShareAPIFBMediaView โดยจะข้ามภาพเบลอทั้งหมดหากมุมมองของสื่อนั้นเท่ากับหรือใกล้เคียงอัตราส่วน 1.9:1 ที่เหมาะสำหรับภาพหน้าปกWebKit เพื่อแสดงผลโฆษณาคั่น (อุปกรณ์ที่ใช้ iOS 8 + 9)UIWindowLevelNormalAVFoundation, CoreMedia และ CoreMotion โดยตอนนี้จะโหลดอย่างช้าๆ ในขณะรันไทม์ไม่มีการเปลี่ยนแปลงไบนารีในรุ่นนี้
[FBSDKProfile imagePathForPictureMode] เพิ่ม [FBSDKProfile imageURLForPictureMode] เข้ามาแทน[+FBSDKRequestConnection setDefaultConnectionTimeout:] เพื่ออนุญาตการตั้งค่าการหมดเวลาเริ่มต้นสำหรับคำขอทั้งหมดGameRequestDialog ตอนนี้จะมีคีย์ "ถึง" พร้อมกับค่า NSArray ที่มีผู้รับFBSDKAccessTokeninit และ new เป็น NS_UNAVAILABLEFBSDKApplicationDelegate application:didFinishLaunchingWithOptions: ในตัวอย่าง SDKFBSDKLoginManager โดยใช้ FBSDKLoginBehaviorWeb และการเข้าสู่ระบบจะถูกยกเลิกFBSDKLoginBehaviorFBSDKLoginManager และ FBSDKAppInviteDialog เพื่อสนับสนุนการโอเวอร์โหลดใหม่ที่ใช้พารามิเตอร์ fromViewController วิธีนี้จะช่วยแก้ไขปัญหาการนำเสนอต่างๆ ที่อาจเกิดขึ้นบน iOS 9[FBSDKLoginButtonDelegate loginButtonWillLogin:]FBSDKLoginButton ที่เลือก[FBSDKMessengerSharer messengerPlatformCapabilities]FBMediaView[FBSDKMessengerSharer messengerPlatformCapabilities] เพื่อเตรียมพร้อมสำหรับ iOS 9 แทนที่จะตรวจสอบว่า Messenger ใช้งานอะไรได้บ้าง เพียงส่งเนื้อหา แล้ว SDK จะแจ้งเตือนผู้ใช้หากจำเป็นต้องอัพเดต MessengerFBMediaViewFBSDKAppInviteContent.previewImageURL, FBSDKGameRequestContent.to, FBSDKGameRequestContent.suggestions เพื่อหลีกเลี่ยงคำเตือนการตรวจสอบตัวเลือกที่ไม่ใช่แบบสาธารณะFBSDKShareAPI.createObjectsWithClientToken ออก[FBSDKAccessToken refreshCurrentAccessToken] เพื่อรีเฟรชโทเค็นปัจจุบันFBSDKTestUsersManager เพื่อทำให้การทดสอบการเขียนกับผู้ใช้ขั้นทดสอบง่ายขึ้นcaption ให้กับ FBSDKSharePhotomessage ให้กับ FBSDKShareAPIFBSDKShareAPI จะเตือนเกี่ยวกับ "publish_actions" ที่หายไปในคอนโซล แทนที่จะส่งข้อยกเว้นทันทีFBSDKAppInviteContent initWithAppLinkURL: ออก ใช้ init มาตรฐานและตั้งค่าคุณสมบัติของ appLinkURLfb:explicitly_shared สำหรับการดำเนินการ Open Graph ได้FBSDKGraphRequestConnection ไม่สามารถรับข้อความ 'requestConnectionDidFinishLoading:' ได้facebook-ios-sdk) และ Cocoapods (ใช้ pod 'FBSDKMessengerShareKit')FBSDKMessengerURLHandlerCancelShareContext.h ออก ใช้ FBSDKMessengerURLHandlerCancelContext.h แทนFBNativeAdsManager เพื่อช่วยในการเรียกข้อมูลชุดโฆษณาFBNativeAdView ซึ่งให้มุมมองโฆษณาแบบเนทีฟที่กำหนดค่าได้FBNativeAdScrollView ซึ่งทำให้สามารถใช้การเลื่อนในแนวนอนที่โฮสต์มุมมองโฆษณาแบบเนทีฟที่กำหนดเองหรือของ FBNativeAdViewFBAdChoicesView, FBMediaView, FBAdStarRatingViewFacebook SDK สำหรับ iOS เวอร์ชั่น 4.0 เป็นการอัพเกรดเวอร์ชั่นหลัก โปรดดูการอัพเกรด iOS SDK จาก 3.x เป็น 4.x
FBSDKCoreKit.framework - เฟรมเวิร์กที่ให้บริการคลาส SDK ทั่วไป และ API สำหรับเหตุการณ์ในแอพ รวมถึงคำขอ API กราฟFBSDKProfile - วิธีที่มีประสิทธิภาพในการดึงข้อมูลโปรไฟล์สาธารณะFBSDKGraphErrorRecoveryProcessor - ตัวกู้คืนข้อผิดพลาดเพื่อประมวลผลข้อผิดพลาดของ FacebookFBSDKUtility - คลาสยูทิลิตี้เพื่อช่วยแยกวิเคราะห์ URLFBSDKLoginKit.framework - เฟรมเวิร์กที่มีฟังก์ชั่นการเข้าสู่ระบบ ต้องมี FBSDKCoreKitFBSDKLoginManager - API แบบบล็อกเพื่อการอนุญาตFBSDKShareKit.framework - เฟรมเวิร์กที่มีฟังก์ชั่นการแชร์ ต้องมี FBSDKCoreKitFBSDKGameRequestDialog - กล่องโต้ตอบที่กำหนดประเภทแบบเข้มงวดเพื่อสร้างคำขอเกมFBSDKAppInviteDialog - กล่องโต้ตอบที่กำหนดประเภทแบบเข้มงวดเพื่อส่งคำเชิญให้ลงแอพFBSDKShareAPI - การใช้งานที่กำหนดประเภทแบบเข้มงวดเพื่อดำเนินการแชร์ผ่าน API กราฟFBSDKShareButton/FBSDKSendButton/FBSDKLikeButton - ปุ่มเทิร์นคีย์สำหรับการแชร์FBSDKMessengerSharerKit.framework - เฟรมเวิร์กสำหรับการสร้างบนแพลตฟอร์ม Messenger@deprecated ได้ถูกลบออกแล้วFBSDK แทน FB ตัวอย่างเช่น FBAppEvents -> FBSDKAppEventsFB*Dialogs และ FB*DialogsParams ใช้กล่องโต้ตอบและโมเดลเนื้อหาที่กำหนดประเภทแบบเข้มงวดที่เหมาะสมจาก FBSDKShareKit.frameworkFBAppCall จะถูกแทนที่ด้วย FBSDKApplicationDelegate โปรดดูคู่มือเริ่มต้นใช้งานFBSDKRequest* จะถูกแทนที่ด้วย FBSDKGraphRequest* และมีการกู้คืนข้อผิดพลาดโดยอัตโนมัติและการจัดประเภทข้อผิดพลาดที่เข้าใจง่ายขึ้น โปรดดูคู่มือการอัพเกรดFBSession และ FBAccessTokenData จะถูกแทนที่โดย FBSDKLoginManager, FBSDKAccessToken โปรดดูคู่มือการอัพเกรดFBAppLinkData ใช้ BFURL จาก Bolts.frameworkFBGraphObject ใช้โมเดลเนื้อหา Open Graph ที่เหมาะสมพร้อมกับ FBSDKShareAPI จาก FBSDKShareKit.frameworkFB*ViewController และ FBCacheDescriptor ไม่มีตัวเลือกอื่น สร้างมุมมองตารางและทำการเพจผลลัพธ์ API กราฟด้วยตนเองFBSDKTokenCachingStrategy ไม่มีทางเลือกอื่น FBSDKLoginManager จะแคชโทเค็นไปที่ Keychain โดยอัตโนมัติ คุณสามารถสังเกตการเปลี่ยนแปลงโทเค็นเพื่อทำการประมวลผลโพสต์ด้วยตนเองได้ (โปรดดู [FBSDKAccessToken currentAccessToken])