クラスPLBuildVersionは両方のフレームワークに実装されています


225

iOS 10 / Xcode 8 GMビルドは以下を取得しましたが、Xcode 7ではこれが初めてでした。

objc [25161]:クラスPLBuildVersionは/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices(0x12049a910)の両方に実装されていますおよび/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices(0x1202c4210)。2つのうちの1つが使用されます。どれが未定義か。

(注:シミュレータでのみ発生するようですが、実際のデバイスでは表示されません)。


1
プロジェクトでファブリックまたは他のTwitterの3番目のライブラリを使用していますか?
ケビン

3
ツイッターを使っていません。Firebaseもこれを引き起こす可能性がありますか?
Yitzchak 2016

1
ザック、私のような@noelleeは私のプロジェクトで生地を使用していますし、私も同じエラー持つ
user1019042

1
@Yitschak私はfirebaseを使用しており、これも手に入れました。
n3wbie 2016

1
はい、Fabric and Crashlytics(v3.8.2)を使用しています
FlatDog

回答:


144

本旨

主なアイデアは簡単です:

アプリ(またはポッドなどの依存関係)が明示的(または暗黙的)PhotoLibraryServices.frameworkまたはAssetsLibraryServices.framework依存関係として使用するフレームワークを使用している場合、Xcodeは警告を出します(1つだけを使用している場合でも)。Photos/PhotosUI.frameworkまたはAssetsLibrary.framework、または別の可能性があります(依存関係の完全なリストはありませんが、可能です)。

何が問題ですか?

名前のPLBuildVersionあるクラスはとの両方PhotoLibraryServices.frameworkで定義されていAssetsLibraryServices.frameworkます。クラス名はObjective-Cで一意であるため(同じ名前で2つのクラスを定義することはできません)、ランタイムで使用されるクラスは定義されていません。

ただし、両方のクラスが同じメソッドとフィールドを持っているので(逆アセンブラでこれを確認した)、問題はないと思います。両方とも同じソースからコンパイルされたと思います。

レーダーはすでに送信されています。


2
警告メッセージはまだ残っています。
ファイズフェリード2016年

9
1つのVCでWebviewを使用すると、VCが表示されているときにデバッグウィンドウにこのタイプの警告メッセージが表示されることがわかりました。私はXcode 8.1、
Swift

1
私はxcode 8.2を使用していますが、プロジェクトでフォトライブラリを使用していません。それでもこの警告が表示されます。
Himanshu Moradiya 2017年

1
私だけですか、それともビューコントローラの表示が遅くなりますか?これは表示されていて、この警告メッセージが表示されていますか???
nr5

2
を設定すると、この警告も表示され.attributedTextます。カメラや写真にアクセスしていません。この警告は、時間のかかるタスク(ネットワークアクセス、ファイルI / Oなど)がなくても、View Controllerの読み込みに重大な遅延を引き起こします。
R Moyer 2017年


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
アプリがカメラをまったく使用せず、メッセージが表示されます。それでも、私は..あなたが示唆したよう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

5

Answers on Fabricをプロジェクトに追加した後、これがありました。

派生データを削除することが私にとってはうまくいきました。(XCodeのaltコマンドkをシフト)

1年後に編集:

派生データを削除した後は、必ずXCodeを終了して、再度開始してください。

無関係なケースでは、派生データを削除しても、メモリキャッシュ内のXCodeの派生データがクリアされないという印象があります。


警告はまだそこにありますが、アプリはもうクラッシュしていません。私はxcode8.2.1を使用しています
Dashrath

2

iOSシミュレーターをリセットすると、これが修正されました。シミュレータ->コンテンツと設定をリセットします。


ちょうど同じ結論に達し、それも私にとってはうまくいきました。
フランツ

0

私の場合、2番目のxcodeプロジェクトを開いて2番目のアプリをシミュレーターで実行すると、この警告が表示され始めました。最初のアプリに戻った後、警告が表示され始めました。シミュレータとXcodeを終了して、プロジェクトを再開しました。その後警告は消えた。それでも解決しない場合は、他の回答に進んでください。Xcodeは時々本当にうるさいことがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.