Клас PLBuildVersion реалізований в обох рамках


225

iOS 10 / Xcode 8 GM build будується нижче, ніколи не було цього на Xcode 7. Будь-які ідеї?

objc [25161]: Клас PLBuildVersion реалізований в обох /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFvices1seersseServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServates.Service.Server.jpg [25161]. та /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Photo4210x2202c () Одне з двох буде використано. Який із них не визначений.

(ПРИМІТКА. Тільки, здається, трапляється в тренажері, не з’являється на реальному пристрої).


1
Чи використовуєте Ви Тканину чи іншу третю бібліотеку Twitter у своєму проекті?
Кевін

3
Я не використовую щебетання. можливо, Firebase може спричинити і це?
Іцчак

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
Я виявив, що якщо я використовую веб-перегляд в одному ВК, я отримав такий тип попередження у вікні налагодження, коли відображається ПК. Я використовую Xcode 8.1, стрімкий 3.
David.Chu.ca

1
я використовую xcode 8.2, і я не маю жодного використання фотолібарію у своєму проекті, і я все одно отримую це попередження.
Хіманшу Морадія

1
Це лише я або презентація диспетчера диспетчера стає повільною, яка подається та має це попередження ???
nr5

2
Я також отримую це попередження, коли встановлюю .attributedText. Я не маю доступу до камери чи фотографій. Це попередження також спричиняє серйозне відставання для завантаження контролера перегляду, навіть якщо тут не задіяно інтенсивних завдань (немає доступу до мережі, вводу / виводу файлів тощо).
R Moyer

53

Відповідно до відповіді співробітника Apple на Форумі розробників Apple :

Ви не керуєте жодним із перерахованих джерел класу, тому немає нічого, що ви можете чи повинні робити, окрім повідомлення про помилку.


Я здогадуюсь, що це те.
Fattie

2
Навіть якщо це не проблема, воно все одно генерує дратівливий і відволікаючий результат, це кричить "помилку" ...
Якуб Трулахр

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
Попереджувальні повідомлення все ще є.
Кевін

6
мій додаток взагалі не використовує камеру, і я отримую повідомлення. Проте я спробував додати їх до списку, як ви запропонували, і це все ще не вирішило ..
FlatDog

5
Хтось це зрозумів? Я не використовую бібліотеку фотографій і не використовую камеру, однак я все одно отримую попередження і аварію
MikeG

2
@MikeG Я також не використовую жодної бібліотеки і все ще отримую збої, я позбувся попереджень, додавши у файл деталі конфігурації ключа / рядка info.plist. Мабуть, це було потрібно в IOS 10.x
Девід Мортон

2
Я отримав це попередження після встановлення textView.attributedText на NSAttributedString
mik.ro

12

Я вважаю, що ви можете отримати цю помилку лише за допомогою UIWebView. Моїм рішенням було замінити моє використання UIWebView на WKWebView.


5
Я спробував WKWebView, але попередження все ще з'являється
через сокиру

5

У мене це було після додавання відповідей на тканину до мого проекту.

Видалення отриманих даних зробило для мене хитрість. (команда shift alt k в XCode)

Редагувати через рік:

Після видалення отриманих даних завжди закривайте XCode і запускайте його заново.

У непов'язаних випадках у мене складається враження, що видалення отриманих даних не очищає XCode в кешах пам'яті похідних даних.


попередження по - , як і раніше є , але додаток не врізатися anymore.I я використовую xcode8.2.1
Dashrath

2

Скидання імітатора iOS виправило це для мене. Симулятор -> Скидання вмісту та налаштувань.


Просто дійшов до того ж висновку, і це працювало і для мене.
Франц

0

У моєму випадку це попередження почало з'являтися після відкриття другого проекту xcode та запуску другого додатка на тренажері. Після повернення до першого додатка попередження почало з’являтися. Я просто вийшов з Simulator і Xcode і знову відкрив свій проект. Після цього попередження зникло. Якщо це не вирішує, перейдіть до інших відповідей. Іноді Xcode може бути дуже вибагливим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.