カテゴリー ‘ スマートフォン

iPhoneアプリの実機テストの備忘録


 

iPhoneの実機転送の設定の個人的な備忘録

久しぶりにやったら、また色々なページを検索してやったることになったので、ど忘れした時の為の備忘録

 1.Provisioning Portalにログインする

Provisioning Portal」にアクセスしてログインする。

すると、以下のようなページが表示される。

2.証明書を作成する

  1. キーチェーンアクセスを起動する
  2. メニューの「キーチェーンアクセス」→「証明書アシスタント」→「認証局に証明書を要求」を選択して証明書アシスタントを開く
  3. ユーザーのメールアドレス、通称にメールアドレスと名前をそれぞれ入力する。
  4. 要求の処理、「ディスクに保存」を選択する
  5. 続けるを押下して作成されたファイルを保存する(CertificateSigningRequest.certSigningRequest)

3.Certificateを開いて証明書をアップロードする

  1. 「Request Certificate」を押下する

  1. ファイル選択ボタンを押下して、2.で作成した「CertificateSigningRequest.certSigningRequest」を選択し、Submitボタンを押下する

  1. 「Certificates」の画面に戻り登録された不ファイルが一覧で表示されるので、対象の証明書の右側にある「Download」ボタンを押下して、cerファイルをダウンロードする。「Download」でなく「Pending Issuance」表示されている場合は何度かリロードしてください。

  1. 下に表示されている「*If you do not have the WWDR intermediate certificate installed, click here to download now.」のリンクから「AppleWWDRCA.cer」ファイルをダウンロードする。

4.cerファイルをキーチェーンアクセスに登録する

  1. キーチェーンアクセスを起動して「ログイン」が選択されている事を確認する
  2. 3.でダウンロードした2つのcerファイルをドラッグアンドドロップして登録する。

5.Deviceを登録する

  1. Xcodeを開いてメニューの「Window」→「Organizer」を選択してオーガナイザーを起動する。
  2. 対象のiPhone端末を2本指でクリックし「Copy Device Identifier」を選び対象端末のIdentifierをクリップボードにコピーする
  3. Provisioniing Portalの「Devices」を開いて「Add Devices」を押下する

  1. 「Device Name」「Device ID」を入力する「Device ID」は、2.でコピーした内容を貼り付けsubmitボタンを押下する

6.App IDsを登録する

  1. Provisioning PortalのApp IDsを選択する

  1. 「New App ID」ボタンを押下する
  2. 「Description」「Bundle Seed ID」「Bundle Identifier」を入力し「submit」ボタンを押下する。

7.Provisioningの登録

  1. Provisioning PortalのProvisioningを押下する
  2. 「New Profile」を選択する

  1. 「Profile Name」「Certificates」「App ID」「Devices」を入力する。
    • Profile Name:分かりやすい名前を入力
    • Certificates:対象のCertificatesを選択する
    • App ID:6.で作成したApp IDを選択する
    • Devices:使用したいデバイスを選択する

  1. 一覧が表示されるので「Download」ボタンからmobileprovisionファイルをダウンロードする
  2. オーガナイザーのProvisiong Profileにダウンロードした「mobileprovision」を登録する

これで、実機に転送できるようになります。

Androidのソースを見る方法(androidのgitリポジトリ)


 

Androidのソースを見る方法

Android Developerのソースのダウンロードページなどに従うと

こちら」のような手順になると思います。

 

これでもいいのですが、これだと対象のソースが見つけづらいので、

Androidのソースを管理しているページ」に行き

こちらのページ「Browse Repositories」をクリックすると管理しているgitリポジトリの一覧が表示されるので

こちらで、対象のリポジトリを

「git clone」するなり、そのままWebで見るなりすると

かなり幸せになれます。

暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法


暗黙インテントを呼び出す時に、対応するActivityが存在しないと

「android.content.ActivityNotFoundException」が発生してしまう…。

なので、呼び出す前に以下のメソッドでActivityが存在するかチェックする

public static boolean checkImplicitIntent(Context context, Intent intent) {
	boolean ret = false;
	PackageManager pm = context.getPackageManager();
	Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
	List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
	if (apps.size() > 0) {
		ret = true;
	}
	return ret;
}

呼び出して、「false」が戻ってきたらエラーとして処理する

[Android] プログラム中でstrings.xmlの文字列を取得する方法


Androidでstrings.xmlに書いてある文字列をJavaプログラムで取得する方法

例えば

strings.xmlの内容が

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="test">文字列</string>
</resources>

これだった場合

Javaのプログラムでは、Activityの中で

String word = getString(R.string.word)

このように記述すると

「文字列」というStringオブジェクトを取得出来る

単純だけど忘れるのでメモ

Androidでpxでの指定をdipに変換する方法


Androidで、どうしてもプログラム中で画像の表示位置の指定をしないといけない時に

困るのが、画面解像度の違い

xmlでレイアウトを指定する場合「dip」を使用できるのですが

プログラム上では、「px」での指定になるのですがそれだと端末の解像度が異なると表示位置が異なるという困った事象が発生します。

なので、プログラム上でもピクセルでの指定でなく、dipでの指定をする方法です。

その為には、「DisplayMetrics」を使用します。

以下がそのコードです。

    /**
     * pxからdipへの変換処理
     */
    public static float px2Dip(Activity activity, float pixel) {
    	float dip = 0;
    	DisplayMetrics metrics = new DisplayMetrics();
    	activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
    	dip = metrics.scaledDensity * pixel;
    	return dip;
    }

このような感じで記述することでpxからdipへの変換ができます。

本当はもっと簡単に出来るのか?

もし、もっといい方法ありましたら教えて頂けたらと思います。

return top