2012年10月28日日曜日

[Objective-C] イベント通知

イベント通知がたまにしか利用せず、少し利用しておきたいのでメモしておく。

実装方法

基本は次の4ステップ
 Step1.プロトコルを定義
 Step2.delegateを追加
 Step3.任意の場所でEventを返却
 Step4.利用する



参考

[iOS] Protocol – Delegateパターン | Objective-C イベント伝達 その1

GistのソースコードをBloggerに貼付ける

ソースコードの管理をGitで行おうと決めた今、Githab,Gistを活用しようと考えた。
ブログにもGistからソースコードを整形して貼付ける機能があるので、活用することに。

使い方

[show embed]をクリックして、
表示されたembedタグをコピー。
 例:<script src="https://gist.github.com/3922379.js"> </script>
それをブログにコピーするだけ。
こんな感じになります。
ちなみにこれは[html5 mobile template]

参考

2012年10月27日土曜日

[Mac] スクリーンショットをとる方法(クリップボードやファイルへの保存)


ブログなどにアップするために「Mac OS」で画面キャプチャ(スクリーンショット)をとりたい時があります。

今回はそんなスクリーンショットの方法を紹介します。

[Mac] ファイル関連づけ

zipファイルを開くときに、使い勝手の悪いアプリケーションに関連づいててずっと使い難いと感じていた。
元に戻したかったのだが、ようやく調べる決心がついて解決。

Macのファイルの関連づけの方法

ファイルを右クリック-[情報を見る]-[このアプリケーションで開く] で変更ができます。
その後、同じ形式のファイル全てに適用するためには、[すべて変更]を選択します。

参考

2012年10月26日金曜日

[iOS] App Store申請時にStatusが"Missing Screenshot"になる

App Store に申請するために、Add Versionし、もろもろ入力し、[Waiting For Upload]になったんで、いつも通りXCodeからモジュールをアップデート。
よし、完了!
と思い、iTunes Connect を最終確認してみると、Statusが[Missing Screenshot]に。
・・・
どうやら [iPhone and iPod touch Screenshots] しかアップロードしていなかったのが原因のよう。
[iPhone 5 and iPod touch (5th gen) Screenshots] と [iPad Screenshots] にも、適切なサイズのスクリーンショットをアップロードする必要がありました。
アップロードすると無事にStatusが[Waiting For Review]になりました。

2012年10月21日日曜日

[XCode] Cartificatesの有効期限切れでエラー(実機で実行できない)


エラー内容

自分のデバイスで実行しようとしたら、下のエラーが。
--------------------
The identity used to sign the executable is no longer valid.
Please verify that your device’s clock is properly set, and that your signing certificate is not expired.
(0xE8008018).
--------------------




解決までの道のり

[iOS Dev Center]-[iOS Provisioning protal]の[Cartificates]で"You currently do not have a valid certificate"となっていたので、[キーチェーンアクセス]を起動してみたところ、証明書の有効期限が切れてました。

メニューから[キーチェーンアクセス]-[証明書アシスタント]-[認証局に証明書を要求]選択し、[証明書要求ファイル(暗号化されたCSRファイル)]を作成。(point:[ディスクに保存]を選ぶ、[鍵ペア情報を指定]をチェック、[カギサイズ]は[2048ビット]、[アルゴリズム]は[RSA])
[Cartificates]のページに戻り、[Create Certificate]を押して、先ほど保存した[証明書要求ファイル]を登録します。
すると、Action列にDownloadボタンが現れるので、[証明書]をダウンロードし、実行すると、[キーチェーンアクセス]で証明書が端末に登録されました。

この状態でもう一度、XCodeからデバイスで実行を試みる。
あれ?次は下のエラーが。
--------------------
A valid provisioning profile for this executable was not found.
--------------------
有効なprovisioning profileが見つかりませんよ・・・と。

[Provisioning Profiles]を見て、Editすると、[Cartificates]のチェックがはずれてるじゃないか。
チェックを入れ直して、[Provisioning Profile]をダウンロードして、実行登録し、Xcode内の[Build Settings]-[Code Signing Indentity]を更新したら動きました。(更新するまえにOSは再起動しましたが)

余談

Organizerを開いて、Distrivusionの方のRenewを押しても、下のようなエラーが出てて、全く解決方法が分からなかったのですが、同じ理由だと言うことが分かりました。
--------------------
The given profile was not found on the provisioning portal.
Please refresh your provisioning profiles before attempting to renew “XXXXX”
--------------------
Distrivusion側も[Cartificates]が切れてたことが原因だったみたい。
[iOS Provisioning protal]の[Provisioning Profiles]で作り直し(Delete&Insert)たら直りました。

うーん、はまった。