2011/01/22

BloggerでSyntaxHighlighter導入

blogでソースコードを貼りつけたい時に
分かりやすくハイライトしてくれる
SyntaxHighlighterを導入しました。


参考させていただいたリンク
BloggerにおけるSyntaxHighlighterの使い方
「SyntaxHighlighter」各要素ごとの設定項目
Blogger に SyntaxHighlighter 2 をインストールする


まずbloggerのHTMLの編集で<head>内にSyntaxHighlighterのコアjsファイルを導入。
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript"/>

次にハイライトしたい言語を選択し挿入。
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCoreDjango.css' rel='stylesheet' type='text/css'/>

最後にSyntaxHighlighterを有効にする処理を挿入。
<script type="text/javascript">
// Bloggerへの埋め込みなら以下の一行は必須です。
SyntaxHighlighter.config.bloggerMode = true;
// クリップボードSWFもホスティングしてもらいましょう。
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
// 論理改行は無効にしておきます。
SyntaxHighlighter.defaults['wrap-lines'] = false;
// 最後にSyntaxHighlighterを有効にします。
SyntaxHighlighter.all();
</script>

これでソースコードをハイライトする準備が終了。
使い方は
<pre class="brush: javascript;">
alert('Hello World!!');
</pre>
このようにpreタグで囲み、
class属性で使用したいbrushを選択するだけ。

html-script
htmlやxmlもハイライトしてくれる。
<pre class="brush: javascript;html-script: true">
SampleCode
</pre>

gutter: false;
行番号の表示、非表示
<pre class="brush: javascript;gutter: false;">
サンプルコード
</pre>


ページ上のハイライトされた要素をデフォルト隠す。
クリックすると開く。↓
<pre class="brush: javascript;collapse: true'">
123456789
</pre>

最後にCSSのテーマ
Defaultだとこれ

最終的にblogのテーマに合わせると
Djangoが一番あってました。

他は
  • Eclipse
  • Emacs
  • FadeToGray
  • Midnight
  • RDark
などがあります。
ぜひお試しあれ♪


2011/01/07

iPhoneアプリ申請の流れ

おおまかな流れをまとめます。
key chain access で何度も証明書要求をし、同じkeyを作り、
uploadできない、もしくはupできてもInvalid Binary
だからダメと言われたりで散々だったので、簡単にまとめます。

開発したiPhoneアプリを実機にインストールしてdeviceでアプリを動かすためにprovisioning profileを取得します。

1, Keychain access で証明書発行するためのcertificateを取得
iOS provisioning portalの左の欄のCertificatesからdevelopmentを選択
→Key Chain Accessで取得したcertificateファイルを選択
→submit
→download 
Key Chain Accessで証明書を確認。
 ※WWDR intermediate certificateも忘れずに!


2,Provisioning Profileの作成

(※deviceの登録、AppIDの作成は割愛。)

iOS provisioning portalのProvisioning
→developmentを選択
→new profileを選択
*Certificates

*App ID

select an App ID

*Devices

それぞれを選択、入力。

downloadしたprovisioningを
xcode organizerの自分のiPhoneのところに追加。
これで実行する時にcode signを作成したprovisioningを選べばOK!!

 3, アプリを申請する際の流れ
iOS provisioning portalの

CertificatesのDistributionを選択

→上記のcertificateファイルをsubmit
 (※ここで注意すべきは,はじめの証明書要求と同じファイルを選択すること。
  CertificateSigningRequest.certSigningRequestという名前のファイル。)
→download 


iOS provisioning portalの

ProvisioningのDistributionを選択

→上記同様
→download
→追加

4,Application LoaderでUp
この前にiTunes Connectにログインして
manage your appsでアプリ登録のその他諸々を設定。
http://gihyo.jp/dev/serial/01/iphone/0010
↑申請する時、この記事('09年3月27日)を読み進めながら
やっていたもんだからApplication Loader??な状態だった。

Finderで/Developer/Application/UtilitiesにApplication Loader発見!
でUpする前にXcodeのcode signでDistributionのを選択。
→buildファイルの削除。
→clean all
→build
→buildファイルのDistribution-iphoneosに.appができているので圧縮。
→.app.zipをApplication Loaderでup。
→これで問題なければ完了。reviewを待ちです。

Finish!!

とその前にManage Your Apps でCurrent Statusを確認。
Invalid Binary状態だとメールが来て、ちゃんとしたファイルを
送りなおさないといけません。waiting for reviewだとかIn reviewは大丈夫。








*最後に
注意すべきポイントを上げます。
device用provisioningを取得する時
証明書を要求のため、自分の名前でkeyを作成しますが、
これをDistributionの時も同じものを使う所です。

今はreview待ちなんですが、これいつまで待たされるんでしょう。
とにかく自分が作ったアプリがApp Storeに載るのが楽しみですね。

2011/01/05

iPhone アプリ申請時に気をつけるべきこと

丸一日かかってiPhoneアプリ申請が完了。
現在、申請したアプリはWating For Review 状態。
今回はiPhoneアプリを申請する際につまづいたエラーなどをまとめていきます。


*証明書取得の際のsubmitができない
まず実機で動作確認するためにprovisioning profileを取得し
iOS Provisioning Portalで証明書を発行しようとしたが、
ファイルを選択→submitしても画面がかわらず失敗。
『Create iOS Development Certificate can't submit』などと検索して
Generate /Submit a CSR - iPhone Dev SDK Forum見つけました。

解決法:
ブラウザをchromeからsafariに変えたらすんなりsubmitできた。これだけ。
provisioning取得で参考にしたページ:第9回デバイスでアプリを動かす:目指せ!iPhoneアプリ開発エキスパートgihyou.jp



*iTunes Connect ログイン失敗。
実機での動きの確認を完了し、
iTunes Connectにログインしようとすると
『Apple ID does not have permission to access iTunes Connect』
正確なIDとパスワードを入力してもダメ。
どうやってもiTunes Connectにログインできない。

解決法:
サポートに連絡。以下内容。
すると半日もしない内に連絡がきて、
ログイン可能に。
Inquiry from  regarding iOS Developer Provisioning Portal
Region: Japan

Hi.

I cant sign in iTunes connect.
Error message is this.

 Apple ID does not have permission to access iTunes Connect.

Please support me.

Apple ID : (あなたのID)
Person ID : (数字何桁かの数字)

Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.


Info.plistでBundle identifierを正確に入力、
code署名IDもDistribution用のprovisioningを選択し、
Application Loaderでuploadが成功したが後にAppleから
上記のような連絡がきた。

そして、distribution用のprovisioningを発行し直し、
buildをファイルを削除、buildのクリーン→buildをすると
下のようなエラーが


*Command /usr/bin/codesign failed with exit code 1

*CodeSign error: Certificate identity 'iPhone Distribution: (自分の名前) ' appears more than once in the keychain. The codesign tool requires there only be one.



証明書のIDが重複しているということ。
つまりひとつの証明書に二つのkeyがあるので問題になる。
何度もprovisioningを発行してる内に、keyを作りまくっていたw
秘密鍵と正確ではない証明書を同じ名前で作っているとこのように言われる。
解決法:
一番古いkey以外を削除するとコンパイルが通り完了。

CertificateSigningRequest.certSigningRequestという要求ファイルを作るのは一回でいい。
それでdistribution用provisioningもsubmitすれば,keyの重複にはならない。