PLBuildVersion Class ถูกนำมาใช้ในกรอบทั้งสอง


225

iOS 10 / Xcode 8 GM build ได้รับด้านล่างไม่เคยมีมาก่อนใน Xcode 7 ความคิดใด ๆ

objc [25161]: Class PLBuildVersion ถูกนำมาใช้ในทั้ง และ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.Framework/PhotoLibraryServices (0x12024242) หนึ่งในสองจะถูกนำมาใช้ อันไหนไม่ถูกกำหนด

(หมายเหตุ: ดูเหมือนว่าจะเกิดขึ้นในโปรแกรมจำลองเท่านั้นไม่ปรากฏบนอุปกรณ์จริง)


1
คุณใช้แฟบริคหรือไลบรารี่ Twitter 3 อื่นในโครงการของคุณหรือไม่?
Kevin

3
ฉันไม่ได้ใช้ทวิตเตอร์ Firebase อาจเป็นสาเหตุของเรื่องนี้ด้วย
Yitzchak

1
@ noellee เช่น Zac ฉันกำลังใช้ผ้าในโครงการของฉันและฉันก็มีข้อผิดพลาดเดียวกัน
user1019042

1
@Yitschak ฉันใช้ firebase และได้รับสิ่งนี้ด้วย
n3wbie

1
ใช่ฉันใช้ Fabric and Crashlytics (v3.8.2)
FlatDog

คำตอบ:


144

แนวคิดหลัก

แนวคิดหลักง่าย ๆ :

หากแอปของคุณ (หรือการพึ่งพาเช่น Pods) ใช้เฟรมเวิร์กที่ใช้ (หรือโดยนัย) อย่างชัดเจนPhotoLibraryServices.frameworkหรือAssetsLibraryServices.frameworkเป็นการอ้างอิง Xcode จะเตือนคุณ (แม้ว่าคุณจะใช้เพียงหนึ่ง) อาจเป็นPhotos/PhotosUI.frameworkหรือAssetsLibrary.frameworkหรืออย่างอื่น (ฉันไม่มีรายการการพึ่งพาเต็มรูปแบบ แต่เป็นไปได้)

อะไรคือปัญหา?

ระดับที่มีชื่อPLBuildVersionถูกกำหนดทั้งในและPhotoLibraryServices.framework AssetsLibraryServices.frameworkชื่อคลาสไม่ซ้ำกันใน Objective-C (คุณไม่สามารถกำหนด 2 คลาสด้วยชื่อเดียวกัน) ดังนั้นจึงไม่ได้กำหนดว่าจะใช้คลาสใดในรันไทม์

อย่างไรก็ตามฉันคิดว่ามันจะไม่เป็นปัญหาเพราะทั้งสองคลาสมีวิธีการและฟิลด์เดียวกัน (ตรวจสอบโดยแยกส่วน) และฉันเดาว่าทั้งสองนั้นรวบรวมจากแหล่งเดียวกัน

ส่งเรดาร์แล้ว


2
ข้อความเตือนยังคงอยู่ที่นั่น
Faiz Fareed

9
ฉันพบว่าถ้าฉันใช้ Webview ใน VC หนึ่งฉันได้รับข้อความเตือนประเภทนี้ในหน้าต่างดีบั๊กเมื่อ VC ปรากฏขึ้น ฉันใช้ Xcode 8.1, swift 3
David.Chu.ca

1
ฉันใช้ xcode 8.2 และฉันไม่มี photolibary ใช้ในโครงการของฉันและฉันยังคงได้รับคำเตือนนี้
Himanshu Moradiya

1
เป็นฉันเท่านั้นหรืองานนำเสนอ viewcontroller ช้าซึ่งจะถูกนำเสนอและมีข้อความเตือนนี้ ???
nr5

2
.attributedTextนอกจากนี้ผมยังได้รับการแจ้งเตือนนี้เมื่อฉันตั้ง ฉันไม่ได้เข้าถึงกล้องถ่ายรูปหรือภาพถ่าย คำเตือนนี้ยังทำให้เกิดความล่าช้าอย่างร้ายแรงสำหรับ View Controller ในการโหลดแม้ว่าจะไม่มีงานที่ต้องใช้เวลามาก (ไม่มีการเข้าถึงเครือข่ายไม่มีไฟล์ i / o ฯลฯ )
R Moyer

53

ตามคำตอบจากพนักงานของ Apple ในฟอรัมนักพัฒนาของ Apple :

คุณไม่ได้ควบคุมแหล่งที่มาของคลาสอย่างใดอย่างหนึ่งดังนั้นจึงไม่มีอะไรที่คุณสามารถทำได้หรือควรทำนอกเหนือจากการรายงานข้อบกพร่อง


ฉันเดาว่าเป็นอย่างนั้น
Fattie

2
แม้ว่ามันจะไม่ใช่ปัญหา แต่ก็ยังสร้างเอาต์พุตที่น่ารำคาญและน่ารำคาญเสียงกรีดร้องนี้ "บั๊ก" ...
Jakub Truhlář

46

ฉันไม่สามารถหาวิธีกำจัดคำเตือนได้ แต่ถ้าคุณต้องการป้องกันไม่ให้แอพหยุดทำงานคุณต้องให้คำอธิบายว่าทำไมคุณถึงเข้าถึงกล้องถ่ายรูปคลังภาพ ฯลฯ นี่เป็นสิ่งใหม่ใน iOS10

ป้อนข้อมูลต่อไปนี้ลงในของคุณ Info.plistไฟล์

ภาพถ่าย

คีย์: Privacy - Photo Library Usage Description ค่า: $(PRODUCT_NAME) photo use

กล้อง

สำคัญ: Privacy - Camera Usage Description ค่า: $(PRODUCT_NAME) camera use

ข้อมูลเพิ่มเติมสามารถดูได้ที่นี่: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html


33
ข้อความเตือนยังคงอยู่ที่นั่น
Kevin

6
แอพของฉันไม่ใช้กล้องเลยและฉันได้รับข้อความ ยังคงฉันพยายามเพิ่มเหล่านี้เพื่อ plist ตามที่คุณแนะนำและที่ยังไม่ได้แก้มัน ..
FlatDog

5
มีใครคิดบ้างไหม? ฉันไม่ได้ใช้ไลบรารีรูปภาพหรือใช้กล้อง แต่ฉันยังได้รับคำเตือนและความผิดพลาด
MikeG

2
@ MikeG ฉันยังไม่ได้ใช้ห้องสมุดใดและยังคงได้รับความผิดพลาดฉันกำจัดคำเตือนโดยเพิ่มรายละเอียดการกำหนดค่าคีย์ / สตริงลงในinfo.plistไฟล์ เห็นได้ชัดว่ามันต้องการใน IOS 10.x
David Morton

2
ฉันได้รับคำเตือนนี้หลังจากการตั้งค่า textView.attributedText เป็น NSAttributedString
mik.ro

12

ฉันพบว่าคุณสามารถได้รับข้อผิดพลาดนี้เพียงแค่ใช้ UIWebView โซลูชันของฉันคือแทนที่การใช้ UIWebView ด้วย WKWebView


5
ฉันลอง WKWebView แล้ว แต่คำเตือนยังคงปรากฏอยู่
muz the ax

5

ฉันมีสิ่งนี้หลังจากเพิ่มคำตอบบนเนื้อผ้าลงในโครงการของฉัน

การลบข้อมูลที่ได้รับนั้นเป็นเคล็ดลับสำหรับฉัน (shift alt คำสั่ง k ใน XCode)

แก้ไขหนึ่งปีต่อมา:

หลังจากลบข้อมูลที่ได้รับออกจาก XCode เสมอและเริ่มใหม่อีกครั้ง

ในกรณีที่ไม่เกี่ยวข้องฉันมีความประทับใจว่าการลบข้อมูลที่ได้รับไม่ได้ล้าง XCode ในแคชหน่วยความจำของข้อมูลที่ได้รับ


คำเตือนยังคงอยู่ที่นั่น แต่แอพไม่ทำงานล้มเหลวอีกต่อไปฉันใช้ xcode8.2.1
Dashrath

2

การรีเซ็ตตัวจำลอง iOS แก้ไขสิ่งนี้ให้ฉัน เครื่องมือจำลอง -> รีเซ็ตเนื้อหาและการตั้งค่า


เพิ่งจะได้ข้อสรุปเดียวกันและมันก็ใช้ได้กับฉันเช่นกัน
Franz

0

ในกรณีของฉันคำเตือนนี้เริ่มปรากฏหลังจากเปิดโครงการ xcode ที่สองและเรียกใช้แอปที่สองในโปรแกรมจำลอง หลังจากเปลี่ยนกลับเป็นแอปแรกคำเตือนเริ่มปรากฏขึ้น ฉันเพิ่งออกจาก Simulator และ Xcode และเปิดโครงการของฉันอีกครั้ง คำเตือนหายไปหลังจากนั้น หากยังไม่สามารถแก้ปัญหาได้ให้ดำเนินการตามคำตอบอื่น ๆ Xcode บางครั้งอาจจู้จี้จุกจิก

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