LoginSignup
0
0

More than 3 years have passed since last update.

NativeScript iOSのreleaseビルドでログ出力する裏技

Last updated at Posted at 2020-03-30

NativeScriptでは console.log('hogehoge'); でログを出力することができます。

ただ、iOSでは releaseビルド(本番のストア用ビルド)すると、ログが表示されなくなる仕様です。
(なおAndroidではreleaseビルドでも表示されます。この辺統一して欲しいものです)

そんなときは以下の__nslogという隠しメソッドを使うとログが表示できます。

import { isIOS } from 'tns-core-modules/platform';

if (isIOS) {
    __nslog('XZ LOG! hogeeee!');
}

さて実行してみると...以下のように「コンソール」アプリにログが表示されます!
コンソール__1_メッセージ_.png

通常リリースビルドでログが出なくても困らないのですが、たまーにreleaseビルドでのみ再現するバグとかがあるときに、原因調査で役立ちます。

このメソッド、内部的には iOSの NSLog をコールしているだけのメソッドです。NSLogがマクロで、直接NativeScriptから呼べないという仕様上の問題があり、NativeScriptコアチームも困って、このような内部メソッドを作ったのだと思います。非公開メソッドなので今後使えなくなる可能性があるため、productionレベルでの利用は推奨しません。というか、このメソッド、普通に公開してほしいですよね^^;

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0