問題タブ [build-settings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2384 参照

ios - アサートが本番ビルドでヒットし、クラッシュが発生する

私のプロジェクトにはいくつかのassert(condition, "message")ステートメントがあります。

これらは、開発中に不変条件をチェックするために使用されます。プロダクション/リリースビルドでは無視されると思いました(この回答で述べたように)。ではない。代わりに、TestFlight テスト中にクラッシュを引き起こします。コメントすると、アプリはクラッシュしません。通常、何かが少しうまくいかないことがありますが、クラッシュすることはありません。

私のビルド設定で何かできますか?

私のすべてのアーカイブ スキームは、リリース構成を使用します。

ここに画像の説明を入力

アサートは、カスタム キーボード拡張機能から使用される Cocoa Touch Framework プロジェクトにあります。

すべてのプロジェクト (Cocoa Touch Framework、およびキーボード拡張ターゲットを含むメイン プロジェクト) のすべてのターゲットには、次のビルド設定があります。

どうしたの?


編集:

Sulthan の回答は、デバッグ ビルドとリリース ビルドの両方でアサートをグローバルに無効にする方法を示しています。それは私が必要とするものではありません。期待どおりに動作させたい - アサートはデバッグで有効にする必要がありますが、リリース ビルドでは無効にする必要があります。

デフォルトでは、そのように動作します。また、私のメイン プロジェクトでもそのように動作します。ただし、そのメイン プロジェクトからリンクされている Framework プロジェクトにあるアサートでは機能しません (この質問の詳細)。なんで?修正方法は?

0 投票する
1 に答える
545 参照

ios - 全画面表示が必要です

Xcode プロジェクトでは、Requires full screen を有効にするだけではなく、以下のコードを入力した後にのみ全画面表示になります。なぜですか? そして、私は何か不足していますか?

0 投票する
1 に答える
10203 参照

ios - Xcode が dSYM ファイルを生成しない

私の iOS プロジェクトでは、 を に設定しGenerate Debug SymbolsましたYesが、.dYSM ファイルが DerivedData フォルダーに作成されません。このアプリケーションを iPhone で実行しています。時間プロファイラーはすべてのシンボルを16進アドレスで表示するため、時間プロファイラーを実行するためにマップする必要があるためです。これは、時間のかかるタスクを識別するために象徴化する必要があります。

前もって感謝します。

0 投票する
1 に答える
80 参照

unity3d - unity3d のビルド設定で以前のレベルを個別にロードするにはどうすればよいですか

シーン 05 、シーン 03 、MEP_Desert 、Snow_Scene_01、デモ . プレイヤーが死んだら、それらのレベルに戻る必要があります。ビルド設定にある以前のレベルに戻ったコードは何ですか。他のレベルでこれをもう一度繰り返す必要があります。ビルド設定で他のシーンをどのように行うのですか?

これが私のコードです:

0 投票する
3 に答える
7867 参照

ios - Xcode 8 コード署名が見つかりません

Xcode 8 にアップグレードした後、次のエラーが原因でデバイスをデバッグできません。

私のセットアップ、観察、およびこれまでに試したこと:

  • デバイスには iOS 10 がインストールされています
  • Xcode 7 のデバイスでのコード署名とデバッグが機能します (コード署名に変更はありません)。
  • アプリにはウォッチアプリがあります(ウォッチアプリなしでビルド/実行しても何も変わりませんでした)
  • プロビジョニングプロファイルを更新し、それらをすべて削除して再ダウンロードしても、何も変わりませんでした
  • ビルド設定からすべてのコード署名設定を削除し、「署名を自動的に管理する」を有効にしましたが、これも役に立ちませんでした
  • 私は常にビルドフォルダーを掃除しています
  • デバイス、xcode、mac を再起動してみました
  • 同僚が同じプロジェクトで同じ問題を報告しています
  • Xcode 8が提案した変更を元に戻そうとしました(ビルド設定、警告の修正など)
0 投票する
2 に答える
3049 参照

ios - xcodeはビルドスクリプトで埋め込みバイナリを追加します

サードパーティから動的フレームワークを受け取りましたが、これはシンボルが見つからないため、リンカ段階でX86_64ベースのアーキテクチャでコンパイルされません。このアーキテクチャをフレームワークにバンドルするよう繰り返し依頼しましたが、今までそうすることができませんでした。 .

私の質問は次のとおりです。ビルド設定を使用してステージ埋め込みバイナリ ステージを追加する方法が見つかりません。ビルド/リンカー プロセス中に埋め込みバイナリはどのようにアプリにリンクされますか?

そうする場合、フレームワークからアーチを取り除かなければならない可能性があることはわかっていますが、フレームワークをコンパイルできないことには勝っています。

0 投票する
0 に答える
176 参照

objective-c - Xcode 8 のデフォルトのビルド設定が壊れている

Xcode 7 では、すべてが完全に機能していました。たとえば、Socket Rocket プロジェクトのビルドとテストを成功させることができました。
Xcode 8.1 を更新した後、デフォルトのビルド設定が変更または破損しているため、すべてのプロジェクトでビルドが停止します。
たとえば、ARC が無効になっているため、Socket Rocket はビルドされません (プロジェクト設定は変更されないことに注意してください)。別の私のプロジェクトは、関数の戻り値が無視されるという警告で失敗します(設定を好みます-Werrorが、新しい警告が有効になっているなど)。

プロジェクトごとにビルド設定を修正することもできますが、それは多くの作業と非常に面倒なことですが、より大きな問題は、これが私が一緒に働いている他の開発者に影響を与えることであり、私はこれを避けたいと思っています.

だから私の質問は、どうすればこれを修正できますか? マシン上のすべてのプロジェクトで使用されるデフォルトのビルド設定を変更 (修正) するにはどうすればよいですか?

私の友人は Xcode を更新し (そして、私が問題を抱えているのと同じプロジェクトを使用しています)、この問題は発生していません。Xcode のアップグレードを行ったときに何かが壊れたようです (エラーは報告されていません)。

Mac OS と iOS でこの問題が発生しました。ビルド設定 Xcode で を表示するlevelsと、最も右側の列名はそれぞれmacOS defaultiOS Defaultです。

ここに画像の説明を入力

0 投票する
7 に答える
36312 参照

swift - 「Use Legacy Swift Language Version」(SWIFT_VERSION) は、Swift を使用するターゲットに対して正しく構成する必要があります。"

Xcode 8.2 (App Store の GM シード) に更新して以来、次のエラーで立ち往生しています。

Use Legacy Swift Language Version" (SWIFT_VERSION) は、Swift を使用するターゲットに対して正しく構成する必要があります。[編集 > 変換 > 現在の Swift 構文に…] メニューを使用して Swift バージョンを選択するか、ビルド設定エディターを使用してビルド設定を直接構成します。

そこで、ターゲットのBuild Settingsに移動し、どこでエラーが発生したかを検索しましSWIFT_VERSIONた。Noしかし、すでに!に設定されていることに驚きました。

これを修正するにはどうすればよいですか?

0 投票する
0 に答える
280 参照

ios - 複数のターゲットを持つiosコードベースをswift 2.3からswift 3最新バージョンに移行する

私は最近、iOSアプリをswift 2.3コードベースからswift 3最新バージョンに移行し始めました。私のアプリには 3 つの異なるターゲットがあります。3 つのターゲットすべての Swift ソースをまとめて変換しようとしたところ、差分には 100 を超えるファイルの変更が示されました。私は bitbucket のコード レビュー プロセスに従っていますが、100 個のファイル変更により、プル リクエストが非常に大きくなり、レビューが困難になりました。そのため、ターゲット 1 の迅速なソースを最初に変換し、同僚にレビューしてもらい、それをマージして開発し、他の 2 つのターゲットについても同じことを行うことを考えています。他の 2 つのターゲットがまだ古い Swift バージョン 2.3 を指しているのに、ターゲット 1 が Swift 3 を指すようにすることは可能ですか? ターゲットのビルド設定で、「use swift legacy language version」を YES に設定すると、そのターゲットが迅速な古いバージョン (swift 2. 私の場合は 3 です) 一方、NO に設定すると、そのターゲット ソースが Swift 3 で強制的にコンパイルされます。したがって、この設定をターゲット 1 に対して NO に設定し、他の 2 つのターゲットに対して有効にすると、目的を達成するのに十分でしょうか。他の設定を変更する必要がありますか?? ありがとう

0 投票する
1 に答える
1335 参照

ios - iOSでユニバーサルフレームワークを作るには?

他のフレームワークと同じように、別のプロジェクト(プロジェクト 2)で使用する 1 つのフレームワークを作成している1 つのプロジェクト(プロジェクト 1)を作成しました (プロジェクトにドラッグ ドロップ)。

私の問題

しかし、(プロジェクト 1 で) フレームワークを作成したときに、プロジェクト 2 でこのフレームワークを使用するときに xcode でデバイスを選択したままにすると、シミュレーターではなくデバイスでのみ機能します。逆に、xcode でシミュレーターを選択したままプロジェクト 1 でフレームワークを作成し、プロジェクト 2 でこのフレームワークを使用すると、シミュレーターでのみ機能します。

これに対するエラーは

ここに画像の説明を入力

私が達成しようとしていること

プロジェクト 1 から作成したフレームワークは、プロジェクト 2 のデバイスとシミュレーターの両方で実行する必要があります。

以下は、両方のプロジェクトでの私の設定です

ここに画像の説明を入力