Xcodeのbuild setting

2418 ワード

Xcodeには不思議なコンパイル設定がたくさんあります.特にXcode 7以降はいろいろな変化があります.ここでまとめてみましょう.
  • Enable Testablityこのオプションは、UIテストを使用する必要がある場合に、テストするクラスを自動的に導入するためのキーワード@testableがあることを意味します.例えば、
  • です.
    @testable import TestViewController
    

    このオプションリファレンスリンクUI Testing in Xcode How to Implement UI Testing in an Existing iOS App Xcode:プロジェクト統合ユニットのテスト(unit tests)を行うときは、これらのピットを避けることをお勧めします.
  • Weak References in Manual Retain Release xcode 7をアップグレードした場合.3以降のバージョンでは、コンパイル時にエラーが発生する可能性があります.主にMRCファイルが混在しているシーンを対象としています.我々のプロジェクトでも同様の問題が発生しています.例えば、次のコード
  • + (id)getNewValueFromObject:(__weak id)object oldValue:(__weak id)oldValue property:(__weak MJProperty *)property;
    

    MRCファイルのミキシング中にエラーが発生するので、このコンパイル項目をYESに設定すれば良いでしょう.簡単に言えばMRCでも__weakのruntime特性をサポートできるようになりました.参照リンクxcode 7.3コンパイル問題iOS9.3 __weak reference Xcode 7.3 cannot create __weak reference in file using manual reference counting Xcode 7.3 b 4,non-arc,cannot create_weak reference Xcode 7.3 Cannot create __weak reference in file using manual reference counting
  • Enable On Demand Resources

  • これはIOS 9の新しい特性であり、Appのパケット体積の減少に関係している.しかし、実際の状況は楽観的ではありません.簡単に言えば、Appはまずどの画像がオンデマンドでロードされる必要があるかをマークし、AppStoreにフルパッケージを提出することです.ユーザーがAppをダウンロードすると、マークされた画像はダウンロードされず、Appが必要になってからリソースをロードするまでダウンロードされます.リソースファイルの管理はAppStoreサーバ上にあります.このテクノロジーを使用するには、次の手順に従います.
  • この設定項目をYES
  • に設定
  • タグリソース
  • 指定apiを使用してtagidに従ってリソース
  • をダウンロードする
    参考iOS 9のアプリ痩身オンデマンドロードリソース開発ガイドOn-Demand Resources Guideについて
  • Deployment Postprocessing ipaをパッケージ最適化する場合、一般的には不要なシンボル情報を除去する必要がありますが、アップルのドキュメントに基づいてStrip Styleを有効にするには、このコンパイルオプションをYESに設定する必要があります.
  • Defines Module OCとSwiftのミキシングが必要な場合は、このオプションをYESが1つのプロジェクトでSwiftとObjective-Cコードを同時に使用してプログラミングする方法Importing Code from Within the Same Framework Target
  • に設定する必要があります.
  • Force Package Info Generation
  • Inline Methods Hidden
  • Symbols Hidden By Default
  • Enable Modules(C and Objective-C)
  • Enable Strict Checking of objc_msgSend Calls
  • Compress PNG Files
  • GCC_THUMB_SUPPORT
  • Skip Install