カテゴリー : 2014年 1月

Gradle 入門記事まとめ

Android アプリ開発で Gradle を使い始めたので入門記事をまとめてみました。

Gradle 入門記事

Gradleの評判について

iTunes Connect から申請中のiOSアプリを削除する方法

iTunes Connect にログインして、「Binary Details」ページの「Reject Binary」ボタンをクリックすると、ステータスが「Developer Rejected」に変更されて、バイナリが審査待機リストから削除されます。


参考情報

iPhoneアプリ申請やAppleの審査に関するメモ – Qiita [キータ]

[iOS] CocoaPod経由でインストールされる「Facebook-iOS-SDK」と「FacebookSDK.framework」の競合を解決する

iOSアプリ開発で、CocoaPod経由でインストールされる「Facebook-iOS-SDK」と「FacebookSDK.framework」がプロジェクト内にどちらも存在することがありました。

CocoaPod で「Parse」のライブラリをインストールしているのですが、依存関係で「Facebook-iOS-SDK」もインストールされてしまうためです。

プロジェクトでは、CocoaPod経由の「Facebook-iOS-SDK」ではなく、直接読み込む「FacebookSDK.framework」の方を使いたいので、「Facebook-iOS-SDK」をビルド対象に含めないようにする必要があります。


Facebook-iOS-SDK をビルド対象に含めない設定

  1. Pods プロジェクトを選択
  2. TARGETS を表示
  3. Pods-Facebook-iOS-SDK を右クリック
  4. Delete をクリック

delete-Pods-Facebook-iOS-SDK-from-targets

あとは、いつも通り Pods をビルドすれば OK です。

[iOS] Use of undefined identifier FBAppCall

iOS アプリで、FacebookSDK.framework を使っているのですが、ビルド時に下記のエラーが発生しました。

Use of undefined identifier FBAppCall

原因は、FacebookSDK.framework のバージョンが違っていて、FBAppCall.h ファイルがそもそも存在していなかったことでした・・・。

FacebookSDK.framework は CocoaPods で管理してなかったので、早めに CocoaPods 管理下に置きたいです。

[JavaScript] document.write() が動かない

JavaScript で、document.write() が動かないことがあって、色々と調べたメモ。

メモ: javascriptのdocument.write()がうまく動かない

読み込みのタイミングによっては外部 script のdocument.writeは無視される – はこべブログ ♨

外部 script の読み込みのタイミングによってはdocument.writeが無視される場合がある

Fenrir's BLog: Ajaxでdocument.writeするJavaScriptへの対策

document.write()の実行タイミングをずらす方法

JavaScript TUEEEEEEEってなるdocument.writeのテクニック – あさdev

Webサイト高速化

身につけておきたいWebサイト高速化テクニック #6|HTTPリクエスト数削減テクニック02:CSS Sprite編 | Developers.IO

事前レンダリングでウェブページの表示時間を高速化 | 海外SEO情報ブログ

[JavaScript] XMLHttpRequest で ajax GET

JavaScript にて、XMLHttpRequest で ajax GET する方法をメモ。

jQuery.ajax() が使えればカンタンに実装できるのですが、JavaScript縛りのときは下記のように書く必要があります。

var makeXMLHttpRequest = function(url) {
  var httpRequest;
 
  if (window.XMLHttpRequest) {
    // Mozilla, Safari, Chrome, ...
    httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
      httpRequest.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) {
    // IE
    try {
      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
      }
    }
  }
 
  if (!httpRequest) {
    // console.log('Cannot create XMLHTTP instance');
    return false;
  }
 
  httpRequest.onreadystatechange = function() {
    processResponse(httpRequest);
  };
  httpRequest.open('GET', url, true);
  httpRequest.send('');
};
 
var processResponse = function(httpRequest) {
  if (httpRequest.readyState == 4) {
    if (httpRequest.status == 200) {
      doSomething(httpRequest);
    } else {
      // error
    }
  }
};

以上です。


参考情報

Getting Started – AJAX | MDN

XMLHttpRequest の使い方 – WebOS Goodies

[Linux] cp -a コマンドでディレクトリごとコピーする

cp コマンドでディレクトリごとコピーするオプションをいつも忘れてしまっていたのでメモ。

cp コマンドだけだとファイル単体はコピーできるけど、ディレクトはコピーできなくて、-a オプションを付けるとディレクトリ構造を保持したままディレクトまるごとコピーできます。

$ cp -a target_dir copy_dir

参考情報

Linuxコマンド逆引き大全 – 【 ディレクトリごとコピーする 】:ITpro

[JavaScript] form内にname=”submit”という要素があるとsubmit()が動かない

JavaScript で、form内にname=”submit”という要素があると .submit() が動かないらしいです。

そんなわけで、jQueryで下記のように書いたら Property ‘submit’ of object # is not a function というエラーが出ました。

<form id="js-form" method="POST" action="/create">
  <input type="text" name="sample" />
  <input id="#js-submit-btn" type="submit" name="submit" value="保存" />
</form>
 
<script type='text/javascript'>
  $('#js-submit-btn').click(function(){
    $(this).attr('disabled', true);
    $('#js-form').submit();
  });
</script>

formタグの中に submit という name の要素を置くと、そちらを参照してしまうようです。

なので、

<input id="#js-submit-btn" type="submit" name="submit" value="保存" />

<input id="#js-submit-btn" type="submit" name="save" value="保存" />

というように修正すればOKです。


参考情報

javascriptでsubmitできない? | dTblog | デザインとプログラムの境界をさまようブログ

[jQuery]form.submit()できない原因 | HappyQuality

javascript – Property 'submit' of object #<HTMLFormElement> is not a function – Stack Overflow

[Windows7]「User Profile Service サービスによるログオンの処理に失敗しました」の解決方法

Windows7で、「User Profile Service サービスによるログオンの処理に失敗しました」というエラーでログインできない状態に陥りました。

Microsoft公式サポートページの「方法 1: ユーザー アカウント プロファイルを修正する」を参考にすれば、復旧できました。

"ユーザー プロファイル サービスによるログオンの処理に失敗しました" エラー メッセージが表示される

Windows 7 を セーフモード で起動するには、電源ON後、キーボード上の[F8]キーを連打すれば「セーフモード」の選択画面が表示されます。

Windows 7 をSafe Mode(セーフモード)で起動する方法 | サポート Q&A:トレンドマイクロ

以上です。