[解決済み] リリース版iOS Swiftのprintln()を削除する。
質問
私は、グローバルにすべての
println()
の呼び出しをグローバルに無視したいのですが、デバッグビルドでない場合、Swift コード内のすべての println()
を
#IF DEBUG/#ENDIF
ステートメントを使用しますか?
どのように解決するのですか?
前述のとおり、私は学生なので、物事をもう少し明確に定義しないとついていけないのです。多くの研究の後、私が従う必要がある順序は次のとおりです。
Xcode プロジェクト ウィンドウの左側にあるファイル ナビゲーターの上部にあるプロジェクト名をクリックします。これは、プロジェクトの名前、ビルド ターゲットがいくつあるか、および iOS SDK のバージョンを持つ行です。
を選択します。 ビルド設定 タブを選択し、"までスクロールダウンしてください。 Swiftコンパイラ - カスタムフラグ "セクションの一番下までスクロールします。の隣にある下矢印をクリックします。 その他のフラグ の横の下矢印をクリックすると、セクションが展開されます。
をクリックします。 デバッグ の行をクリックして選択します。行の右側にマウスカーソルを置き、ダブルクリックします。リストビューが表示されます。をクリックします。 + ボタンをクリックして、値を追加します。テキストフィールドがアクティブになります。
テキストフィールドに、テキストを入力します。
-D DEBUG
を入力し
を押します。
戻る
を押して、その行をコミットしてください。
プロジェクトに新しいSwiftファイルを追加します。このファイルのカスタムクラスを作成したいので、以下のようなテキストを入力します。
class Log {
var intFor : Int
init() {
intFor = 42
}
func DLog(message: String, function: String = __FUNCTION__) {
#if DEBUG
println("\(function): \(message)")
#endif
}
}
今日はXcodeにクラスを受け入れてもらうのに苦労したので、initは必要以上にヘビー級かもしれません。
これで、新しいカスタム関数を使用する予定のすべてのクラスで、カスタムクラスを参照する必要があり、代わりに
println()
適用可能なすべてのクラスのプロパティとしてこれを追加します。
let logFor = Log()
のインスタンスを置き換えることができます。
println()
を
logFor.DLog()
. 出力には、その行が呼び出された関数の名前も含まれます。
クラス関数の内部では、そのクラスでクラス関数として関数のコピーを作らない限り、関数を呼び出すことができなかったことに注意してください。
println()
は入力に対してもう少し柔軟性があるので、私のコードではすべてのインスタンスでこれを使用することはできませんでした。
関連
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] Swift: print() vs println() vs NSLog()
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] UIImageのサイズを変更する最も簡単な方法?
-
[解決済み] iOS (iPhone, iPad, iPodTouch) ビュー・リアルタイム・コンソール・ログターミナル
-
[解決済み] アプリケーションをリリースする前にNSLogを無効化する必要がありますか?