2017-05-15 4 views
1

最近、IOS8で利用可能なAPIを使用していたため、IOS8でクラッシュしました。とにかく、プロジェクト全体をチェックし、現在の開発目標では利用できないAPIを使用しているかどうかを確認することができますか?非難されたAPIの警告のようなもの。ありがとう。Xcode現在の開発ターゲットで利用できないプロジェクト全体で使用されているAPIがあるかどうかを確認する方法

+0

iOS 8をサポートする予定がある場合は、iOS 9 SDKを使用している理由はありますか? iOS 8 SDKを使用してコンパイルすると、iOS 9の機能を呼び出すことはできません。または、両方をサポートしていて、iOS 9で実際に動作しているときにiOS 9のサポートのみを使用しようとしていますか? – user1118321

+0

私は意図的にAPIを使用していると言います。コンパイラはワーリングや何かを表示しないので。例えば、私はこのメソッドを使っていました - [NSUserActivity expirationDate] 'NSUserActivityクラスはIOS 8で利用可能ですが、' expirationDate'メソッドはIOS 9でのみ利用可能です。コンパイラは警告を表示しません。私はQAが報告したときにそれを見つけました。だから今私は何かを見逃している場合は、私のアプリをダブルチェックしたい。 – Bilal

答えて

1

コンパイラに以前のOSをサポートしたい場合は、以前のOSのSDKにはset the SDKが必要です。 SDKをiOS 8に設定すると、後のOSの機能を使用するたびにコンパイラエラーが発生するはずです。

+0

Base SDKの変更方法を教えてください。ドロップダウンでは、最新のSDKのみが表示されます。私はこれを見つけたhttp://stackoverflow.com/questions/12728517/changing-the-base-sdk-in-xcodeしかし、答えはそれを行うことではありません。 – Bilal

+0

上記の回答に示唆されているように展開ターゲットを変更しても、コンパイラの警告は表示されません。古いSDKをインストールする方法がわからないので、これを行う必要はありませんでした。 [この質問の2番目の回答](http://stackoverflow.com/questions/7320235/is-there-a-way-to-install-older-ios-sdks-in-xcode#7323631)によれば、古いXcodeを使用してSDKを入手し、新しいSDKにコピーします。私はそれを試していないので、私はそれが動作するかどうかを確かにわかりません。 – user1118321

関連する問題