iPhoneの最近のブログ記事

Flash BuilderでAIR for iOSのテストしようとしたら、p12の証明書ファイルがドコにあるのかわからず...。

で、下記の対処で解決。

  1. キーチェーンアクセスを起動。
  2. キーチェーン;ログイン、分類;自分の証明書を選択。
  3. iPhone Developer証明書の中にある秘密鍵を選択。
  4. ファイル>書き出す

で、.p12のファイルが作れます。これを読み込ませてOK。
Xcodeだと一回設定してそのままなので、ちょっと焦りました。

自分用メモとして。

Xcode 4 をインストールしてみたらなんと英語版。「なんだー」と思っていたら、Xcode 3 との併用も可能らしいので、Xcode 3 を再びインストール。手順については下記を参考にさせていただきました。感謝。


で、インストールしてXcode 3 で以前作ったモノを開いてみたら、プロジェクトに含まれるコードのほとんどが赤字(存在しない)状態で、かつ左上はBase SDK Missingに...。

調べてみたら、プロジェクト>プロジェクト設定の編集で「一般」を選択して「パス」欄を見ると、Xcodeのルートディレクトリが起点になっているようです。なので・・・


  1. プロジェクトファイル一式をXcode3のルートディレクトリに移動。
  2. プロジェクト>プロジェクト設定の編集で「一般」を選択して、「すべての構成のベースSDK」を「Latest iOS (iOS 4.3)」に変更。
  3. プロジェクト>プロジェクト設定の編集で「ビルド」を選択して、「iOS Deployment Target」など必要な項目を設定する。
  4. プロジェクト>アクティブSDKを設定>Simulator に切替。

と設定し、やっとiOSシミュレータで起動するようになりました。やれやれ。
インストールばかりやってないで、いい加減まともなアプリを1本つくらないと...(^^;。

Base SDK Missingについては、過去の記事「XcodeのBase SDK Missing」もご参照下さい。
久しぶりにXcodeをいじったら、iOS3.1.3用につくったプロジェクトが軒並みエラーで書き出せず。ベースSDKとか4.2かLatest iOSしかないし...(T_T)。Xcodeを3.2.5に上げたのが原因か?

いろいろ調べて対処法を発見。

  1. プロジェクト>プロジェクト設定を編集を選択。
  2. ビルドを選択して、アーキテクチャ>ベースSDKをLatest iOSに変更。
  3. 同じくビルドで、Deployment>iOS Deployment TargetをiOS3.1.3に変更。
  4. 同じくビルドで、Code Singning>コード署名ID>Any iOSを現在有効なIDに変更。
  5. プロジェクト設定を閉じる。
  6. これでもまだ「Base SDK Missing」と出ているので、プロジェクトファイルを閉じて、再び開く。

これで右上に「4.2 | Dbug | XXX | XXX | armv6」などと表示され、「Base SDK Missing」
は消えているので、これでビルドして実機(iPhone3G)に書きだしできました。ふう。

この辺はなんかうまいこと自動で変換する仕組みとかないのかな〜。ちゃんと下位互換を作って欲しいよ、まったく...。

ちなみにiPhoneの勉強始めに手に取った「iPhone SDKの教科書」のサイト見たら、iOSのバージョンに合わせてサンプルファイルが更新されていました。細かいサポートが素晴らしいです!今回の問題解決の糸口にもなりました。改めてオススメです。

[補足]
  • 上記6.は実行しなくても、ビルドがうまくいく時もあるみたいです。違いはいまいちわからない...。
  • Resource>xxx.plistにある「Bundle Identifier」も要チェック。私の場合は「com.yourcompany」になってしまってました。

Xcodeで使用するProvisioning Profileは、3ヶ月で期限切れ。いつも更新の度に検索するので備忘録として書いておきます。環境はOSX10.5.8+Xcode3.1.4です。

1.iOS Provisioning Portalで左メニューのProvisioningを選択。
2.Renewボタンを押して、更新されるのを待つ。ボタンがDownloadに変わればOK。
3.Downloadボタンを押してProvisioning Profileをダウンロード。
4.Xcodeでウィンドウ>オーガナイザ>を開き、DEVICESから実機を選択。
5.Summaryタグを選択し、中央にあるProvisioningから期限切れファイルを削除。
6. Provisioningのエリアにダウンロードしたファイルをドラッグ&ドロップで完了。

以下も参考にさせていただきました。

昨年iPhoneデベロッパー登録して、ようやくぼちぼちいじってます。で、デバイス(実機)での確認テストをしようとして躓いた点。

この辺のサイトを参考にしつつ、一通り設定してビルドするも下記のようなエラーが出ます。

Code Sign error: Provisioning profile 'XXXXXX' specifies the Application Identifier 'com.XXXX.*' which doesn't match the current setting 'com.yourcompany.Counter'

ググってみたら、このサイトで・・・


3. プロパティの項目にある識別子にApp IDで設定したApp ID name(10文字)を除いた残り 例えばcom.domainname.*の場合はcom.domainname.${PRODUCT_NAME:identifier}とする。

てな記述を見つけ、「プロパティって、何のプロパティ???」と思いつつ調べてみたら、info.plistの中にある「Bundle identifier」のことでした。ここの指定が「プロジェクト」>「プロジェクト設定を編集」から「ビルド」を選んで、Code Signing>コード署名 ID>Any iPhone OS Device で指定した「Provisioning」で指定したデベロッパー名と合ってないといけないようです。さらに調べると、plistってプロパティリストと呼ばれるファイルだそうで、だから上の引用で「プロパティ」って書いているのね・・・。この辺をみると、OSX独自のファイルのようです。

Xcodeというか、CもObject-Cもよく知らないので、なかなかハードル高いです。きっと同じ目に遭う人がいると思うので(^^;、書いておきます。以下、参考にしたサイトです。感謝。


[追記]後からよく見たら、我が参考書「iPhone SDKの教科書」にバッチリ出てました(P195)。さすが!...っていうかよく読めよ(T_T)。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちiPhoneカテゴリに属しているものが含まれています。

前のカテゴリはGraphicsです。

次のカテゴリはiTunesです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。