タグ

2014年8月14日のブックマーク (8件)

  • Xcodeでデバッグマクロ | tkd55

    iOS開発時にデバッグログを NSLog(@"%s", __func__); とか NSLog(@"%s", __PRETTY_FUNCTION__); って書いていたけど、フォーマット指定子を忘れたり、リリース前に消したりするのが面倒だったので、 関数名(引数も)/行数/文字列を出力するデバッグマクロを書いてみたよ。 【使い方】 ①「アプリケーション名_Prefix.pch」に以下を追加(ヘッダに書くとimportするのが面倒なので.pchに書く) // デバッグログマクロ #ifdef DEBUG #define dbgLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); #else #define dbgLog(...) #endif ②ログ出力したい箇所に

    Xcodeでデバッグマクロ | tkd55
  • http://www.tricky-code.net/mine/c/mc17typedef.php

    foxsafari
    foxsafari 2014/08/14
    #defineはプリプロセッサにより解釈され、typedefはコンパイラにより解釈されます。 プリプロセッサとは、コンパイラがソースコードを解釈する前に、ソースコードへ文字列レベルの処理 を加えるプログラムです。
  • ifndef

    円周率のような定数は広く使われるので、ヘッダファイルに含めたいところです。そのヘッダファイルをインクルードするだけでPIを定義できます。 ところが、1つのプログラムで、2回以上同じ宣言をしてはいけません。すると、そのヘッダファイルは1つのプログラムで1回しかインクルードできません。 補足 一般に1つのプログラムは、複数のファイル(*.cppファイル、*.hファイル)で構成されます。あるcppファイルが、ある定義を持つヘッダファイルをインクルードし、別のcppファイルが同じヘッダファイルをインクルードすると、同じ宣言を2回していることになってしまいます。 そこで、#ifndefと#endifを使います。これらは、擬似命令と呼ばれるプリプロセッサによって処理される命令です。プリプロセッサとはコンパイルの前に実行されるコマンドのことです。プリプロセッサの実行は自動的に行われるので、通常、プログラ

    foxsafari
    foxsafari 2014/08/14
    条件コンパイルによる重複定義の回避
  • AppStoreにFree版のアプリを後出しでリリースするときの小技

    DIGITAL SABICHE デジタル好きなSABICHEのブログ。OBJECTIVE-C,UNITY,PHP,HEROKUなどなど。 先日、 iPhoneアプリ「NewScroll」 のフリー版「 NewScrollFree」 をリリースさせていただきました。 Free版と通常版の違いは広告を表示するかしないかだけです。 iOSだと、アプリ内課金(In App Purchase)を利用して機能を増やしたり、広告を外したりするのがベターではあるのですが、今回のように、すでに有料でアプリを出した後に、Free版のアプリを出したくなった時にはアプリ内課金だとちょっと厄介です。 また、ほぼ同じ機能で別アプリをリリースをする時に、プロジェクトをそれぞれ分けてリソースも複数用意してしまうと、管理が面倒です。 そういった場合に便利な方法を紹介します。 ターゲットを複製 一からターゲットを作る方法もあ

    AppStoreにFree版のアプリを後出しでリリースするときの小技
  • Xcodeで1つのプロジェクトから無料版と有料版のiOSアプリをビルドする - memorandum

    iOSアプリの無料版と有料版を提供するとき等に、Xcodeの1つのプロジェクトから無料版と有料版の2つのアプリをビルドしたいケースがあります。 Xcodeで2つのプロジェクトに分けてしまうと、バグ修正や新機能追加のたびに両プロジェクトをコーディングする必要があって大変なので、広告や有無や制限値の差異程度であれば1つのプロジェクトから2つのアプリをビルドすると楽です。 ここでは1つのプロジェクトの同一ソースから2つのアプリをビルドする方法を説明します。 Xcode上での作業 ここでは、有料版が既にあって、新たに無料版を追加する場合を例にして説明します。 有料版のTargetを複製して無料版を作る Projectツリーを開く Targets > 有料版アプリを右クリックする Duplicateをクリックして複製する 無料版のTarget名が「Target名 copy」となっているので無料版の名

    Xcodeで1つのプロジェクトから無料版と有料版のiOSアプリをビルドする - memorandum
  • [Xcode 5] 新しくなった Source Control で Git の操作をしてみる | DevelopersIO

    はじめに Xcode 5 で Source Control が File メニューから独立して Source Control メニューの配下に移動になりました。整理整頓され、機能も増えたようです。主に目的別にXcode 5 で Git はどう操作するのかを検証します。(SVNも使えるようですが、ここではGitを使ってみます) 目的別 リモートリポジトリを追加したい 想定:自分で最初にローカルリポジトリを作成する → リモートを設定して他の開発者と共有する。 1. メニューから Source Control > {Repository Name} - {Branch Name} > Configure {Repository Name} を選択します。 2. Add Remote... を選択します。 3. Remote を設定します。 リモートリポジトリのファイルを取得したい 想定:誰かが

    [Xcode 5] 新しくなった Source Control で Git の操作をしてみる | DevelopersIO
  • Siriの機械音声はどのように作られて会話を可能にしているのか?

    By Yogesh Mhatre iOS向け秘書機能アプリケーションソフトウェアであるSiriは、話しかけるだけでiPhoneの機能を起動してくれる発話解析・認識インターフェースです。そんな簡単な会話も可能なSiriの音声がどのようにして生まれたのかがまとめられています。 Machine language: how Siri found its voice | The Verge http://www.theverge.com/2013/9/17/4596374/machine-language-how-siri-found-its-voice 2011年のある日、MTV、ドミノ・ピザやニコロデオンなどの、有名なCMへの出演経験を持つ37歳の女優であるデイさんは、仕事のためNUANCE社を訪れました。彼女は「Text-to-Speech(テキスト読み上げシステム)」製品の仕事とだけしか知ら

    Siriの機械音声はどのように作られて会話を可能にしているのか?
  • 「About」ページを整備して集客力を上げる6つの方法

    多くのネットサービスや企業のウェブサイトには、「About」「About Us」「私たちについて」「○○とは?」のような、自分たちが何者でどういったビジネスを行っているのかを紹介するページが設けられています。企業名だけではどんな業種かもわからないウェブサイトにたどり着いた時はAboutページを見れば良いわけですが、延々と社長のプロフィールが書かれていて具体的にどんな業種なのかわかりづらい……、といったページも多く存在します。そんな「顧客との入り口」となるAboutページを整備して、集客力やページビューを伸ばすことができる6つの方法をまとめたインフォグラフィックが公開されています。 Infographic: 5 ways to capture customers using your "About" page http://www.thehubcomms.com/infographic-5-

    「About」ページを整備して集客力を上げる6つの方法
    foxsafari
    foxsafari 2014/08/14
    Aboutページを読みに来た人が知りたいのは「どういったビジネスをしているのか」ではなく、「このサービス・製品で自分たちは何ができるのか」ということ。