iOS7.1のAdHocインストールでハマる


ハマりましたので、メモ。

iOS7.1がでました。Xcodeも5.1になりました。
えいやーで7.1にしたらXcodeもそういえば上げなきゃいけんかった...となり、変わってからarm64問題で再ハマりし、やっと解決サブミットーと思ったらAdHocでつまづきました。

アプリ公開前はAdHocでサーバーにおいたアプリを直接インストールしていつもチェックしています。常用してるiPhone5s含め数台、インストールしています。

今回、iPhone5sでインストールしようとしたら、「〜(サーバー名)の証明書が有効ではないため、Appをインストールできません。」と出ました。
一度AdHocで以前テストしていましたが、期限きれた?と証明DLし直したり、設定変えてぐっちゃぐちゃになったり、悩んだ結果、他のデバイスでは問題なくインストールできることに気がつき。

スタックオーバーフロウのこのページにたどり着けました。
http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1
iOS7.1へインストールするAdHocのアプリはhttp://〜なアドレスではダメってことらしいです。

それで.ipaと.plistの実態をsslの使えるサーバーにおいて、.plistの中身のURLは新しいhttps://〜.ipaに変更、DLページのリンクもhttps://〜.plistに変更で行けました。
Dropboxを使ってやったほうがべんりなのかな。
こんどやってみようと思います。

ある広告のリフレッシュでクラッシュ(Admobメディエーション併用)


こんにちは。

ひさびさにブログ書いてみます。

よくわかってないのですが、こうやったらうまくいったかも。ということ。。。

新しいアプリを作成していました。
多分、リリース間近です!多分。

それで無料あぷりなので、広告の実装をやっぱり考えていました。
前から使っていたアドネットワークで、落ちます。な情報を耳にしていた大手の広告なのですが、実際に落ちた形跡がなく、どうなんだろ〜と思いながらも新しくこれというところが無くて結構高い割合で使っていました(^^;

それで、新しいアプリにも入れてみたら、二度も落ちる状況に遭遇しました。
広告のリフレッシュなところで。

前のアプリではやっぱりクラッシュしない‥。
私の新作の作り方がわるかったのか。そかもしれない。

設定で違うとこをみたら、、、

私はAdmobメディエーションでその某広告や他の広告を切り替えていますが、
[前のアプリ]
メディエーション側のリフレッシュ30sec.
某広告のリフレッシュ60sec.
[新作]
メディエーション側のリフレッシュ60sec.
某広告のリフレッシュ60sec.

となっていました。
もしかしてだけどタイミングがかぶる時、もしくは広告側のリフレッシュが先に来た場合に落ちるんかも、と設定を[前のアプリ]にあわせてみました。

そしたら落ちなくなった!

いやまだ検証中だけど。

途中経過だけどもも。

そして全然根本的な解決ではないですが;;;;

ちょっとこれでリリースできる段階になるまで様子見てみます。

連続コピー〜コピカンをiOSユニバーサルアプリでアップデート



コピカンVer.2.7でましたー!

本当はもっと完全体でアップデートする予定、、、だったのですが、新機能コピーボタンOFF時のバグを含んだリリースになりました。

Apple審査の通過だけを見守って再審査を申請しようとしていたら、あのボタンとあのボタンを間違えまして(- -;

vまあでも、使えないわけではないはずなので気を取り直して‥!

*今回のメインは*

◎iOSユニバーサルアプリ化(iPad最適化)
◎アイコン変更
◎テキストの連結機能

です。

*

iPadは回転対応に一苦労でした。。。

で、できあがってみれば、iPhoneアプリをただでっかくしただけな画面になっていて、とちゅう某「星メモ」のiPad対応を見てハッとしました‥!ナ ン カ チ ガ ッ タ カ モ 。

まあこれも「コピカン」らしくていいんじゃないでしょうか。
(↑いいんかい)

*

アイコンは3ヶ月熟成ものです。

デザインラフは監修役の友人が作り
Inkscapeで私が形にしたものを見てもらって
あーでもないこーでもないと相談しながら作りました。
中の人にとってお気に入りのアイコンとなっています!

*

テキスト連結は使いやすいと思えるように、区切り文字などに気を配って作ってみました。
区切り文字のEnterを3回タップしたら3行改行‥とか結構つかえます。たぶん。

 

感動なのは「コピー」でサーチしたらiPadからもすぐに見つかるようになったことです。

たかがアップデート、されど‥。

無料版の方も近いうちに、と思っています。

のんびり進化するアプリ「コピカン」をこれからもよろしくお願いしますm(__)m

 

画面回転をさせない回転処理をするという勘違い


こんばんは〜いそざきです。

しばらくブログは書かないでいようと思っていたのですが、いろいろと勘違いがわかったので書いておこうと思います。

アプリを使っているユーザーさんからのメールで、iPad miniで画面構成が崩れるバグが発覚したのは先月後半のこと。画面構成が崩れるならいっそiPad対応しよう!と一人で格闘すること3週間。そして我が家にもiPad miniがやってきたので、実際にバグ再現させ、まだ理由がよくわからず唸っていました。今日になって自作の別のアプリではもっと強い頻度で発生してしまうバグだとわかり、焦りはあるものの他の予定が片付かず、唸るばかりになっていました。

その別のアプリ↓ (iPadシミュレーターでも横置き回転状態からの起動で再現していまいました‥^^;)
スクリーンショット 2013-02-12 23.40.21

すごくお恥ずかしい話になってしまうのですが、結果、「Supported interface orientationsの設定をなおすだけ」のことでした。。。

before
スクリーンショット 2013-02-12 23.13.41

after
スクリーンショット 2013-02-12 23.14.00

えっとー、「なんでここを気にしてなかったの!?」と言われてもぐうのねもでないです。

まず、iOS4や5でこの設定で回転しなかったという前提があって、info.plistの設定のせいとは思わないまま勘違い劇場が始まりました。iOS6での回転処理に関することを検索し、「あ!UITabBarControllerをカスタムクラスにすればいいんだ」と勝手に解釈してしまい。。。それでiPhone的には回転しなくなったのですが、iPad miniを横置きにした場合のバックウンドからの復帰で、後ろのwindowだのステータスバーだのアラートだのが回転してしまっていました。
iPad miniといいましたが、iPadでもiOS6になっているものは同じ状態になるのだと思います。(現に電卓アプリはiPadシミュレーターで再現したのです。)

私の作っているものは今のところ縦向きアプリなのですが、iPadで横置きロックをしている方もたくさんいると思います。そしてiPhoneアプリしか作っていないとはいえ、iPadでも使ってもらっているという事実もあります。

なのですぐさま修正版をアップロードしなくては!です。

今回のは勘違いがひどすぎて本当にお恥ずかしい話でした。
iPad対応も引き続きやって行こうと思います。
激励してくれた方々、お騒がせしてすみませんでした。
そしてありがとうです。

こんな未熟な開発者ですが、よろしくお願いします。

[予告] 連続コピー監視ボード「コピカン」が「本日のアプリ」とタイアップします



自分的ビッグニュース!

12/7(金)の 午前9:00 から 翌12/8(土)の 正午 までのお約束で、いそざき@OfficeHAKONIWA の代表作、連続コピー監視ボード「コピカン」の「本日のアプリ」タイアップ無料化が決定いたしました。

「有料アプリを無料にするなんて無理」そう思っていた時代が私にもありました…。

でも、このお話をいただいて、「コピカン」がもっと飛躍できるチャンスなのかもしれないと考えるようになり、今回ノらせてもらった訳です。

Apple命!な上級者には物足りないアプリかもしれませんが、テキストをバックグラウンドで連続コピーでき、簡単に編集・リストの並べ替え・再コピーできる普通に便利なアプリだと思います。

有料版なのでフォルダ数が無料版より多かったり、リストのカスタマイズができること、リンクにジャンプできることが特徴です。

あとは〜、、、無料版からの移行もiTunes経由で簡単にできることですかね。

詳しくはアプリ内やホームページの「バックアップ」の説明を参照!

実際使ってもらうのが一番わかりやすい話なので、無料期間中に是非!DLしてください。

(こっそりレビューいただけるとなお嬉しいです > < )

12/7 AM9:00、震えて待て…!(←震えてるの自分だったりする。。。)

ーーーーーーーー追記ーーーーーーーーーー

先方から前日に連絡がはいり、翌日土曜日からの掲載になってしまいました。

予告してしまったから、ちょっと、いや、かなりショックな感じでしたが、女に二言はない!(←Twitterとかで十分いろいろぼやいてるけど!)

12/7 AM9:00 〜 12/9 正午まで 無料にします。

よろしくおねがいします!

和暦設定iPhoneでアプリ内の西暦表示がおかしくなっちゃった!



こんにちは〜 磯崎@OfficeHAKONIWA でございます。

今日はサクッとタイトルの件、、、

アプリ内の一覧表示とかで何かと日付表示することが多いです。

仮にcopydateにNSDate定義の日付が入っていたとして、

今までは

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd(E) HH:mm:ss"];
NSLog(@”copydate: %@”, [formatter stringFromDate:copydate]);

こうしてformatter通して

2012-12-05(水)11:16:22

という感じで西暦年月日+曜日+時刻を出力していました。

が、おそらくiOS6から、できなくなっちゃった。

具体的にはiPhoneのカレンダー設定で和暦にしているときで

「設定」ー「一般」ー「言語環境」ー「カレンダー」の和暦チェックです。

2012-12-05(水)11:16:22 が

0024-12-05(水)11:16:22 になりますです。

そんなもんで、新作を出すときにぱぱっと探して「な〜んだ、yyyyをYYYYにすりゃいいんじゃん。」と安易にやってた、ですが、これも誤りだと判明して。。。

どうやらNSDateFormatter定義にカレンダーの設定が必要だった模様。

いろいろあるけどグレゴリ暦でOKでした。

修正後はこんな感じになりました。

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
NSCalendar *gregorianCalendar =[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
[formatter setCalendar:gregorianCalendar];
[formatter setDateFormat:@"yyyy-MM-dd(E) HH:mm:ss"];
NSLog(@”copydate: %@”, [formatter stringFromDate:copydate]);
[gregorianCalendar release];

これだけの話で、カレンダー未定義なフォーマッターを使ってたのがそもそも悪かった気がします。

同じ表示しているアプリも多数見かけたので、と思ってシェアしました。

カレンダーの定義してないかも、という人は要チェックです!

誰でも一度は経験してる?開発者の登録を危ぶんだお話。


こんにちは!いそざき@OfficeHAKONIWAです。

昨日は久々に…でもないか。
けどかなり焦りました。
焦りついでにBlogに書き留めちゃいます。
な〜んだ、そんなことか、と思われるかもです。

新作を先日リリースしまして、早速細かい改良をしてテストしておりました。
ふとみると、なんかワーニングが一個ありました。
(申請直前まで気がつかないフリとかしちゃっています…。)

「 Provisioning profile is expiring 」

???

何も変えてないけどなーと思いつつ見てみると、全てのアプリ毎の Distribution の profile の有効期限が11月末に!なってる。

あと11日だとか。
これは開発者登録の先日までの有効期限とほぼ同じ。
開発者更新はこの11月頭ごろ済んだはずなのに!

その日あと15分くらいしか日中の時間がなかった私はすぐさまサポートに電話しました。
やっぱり頼るべきはサポート!
ちなみにここに各国のサポートが載ってます。

事態を説明してすぐに開発者更新できているか確認してもらえました。
それはちゃんとできているよ、とのことでとりあえず「ほっ」。
iOS Dev center で Provisioning profile を更新してください、ということで資料をメールで送ってもらっちゃいました。

夜、作業に取りかかって愕然。
資料にかいてあることが全然できない…。「Renew」ボタン押しても何にも変わらないし。。。

「Dev Center」→「iOS Provisioning Portal」→「Distribution Provisioning Profiles」→「Edit」→「Modify」
この中の「Distribution Certificate」を有効期限のあたらしいものにしなきゃいけないみたい。
ここでは触れない。。。

「Certificate」!!

と考えていたら見えてきた。

「iOS Dev Center」→「iOS Provisioning Portal」→「Certificates」→「Development」
確かに古い期限になっている。
Distribution で使用する元の証明書を更新しなきゃならないみたいだ。
でもこれ「Download」か「Revoke」しかないけど…?

そしてネットで検索して「Revoke(取り消し)」して問題ないということで一旦「Revoke」。
証明書がなくなったんでもう一度証明書の発行手順を行う。
あの「Keychain Access」でファイル作ってやるやつですね。
とりあえず、新しい証明書ができた!

「iOS Dev Center」→「iOS Provisioning Portal」→「Certificates」→「Certificate」
これも古いから「Revoke」して作り直し。

「iOS Dev Center」→「iOS Provisioning Portal」→「Distribution Provisioning Profiles」
問題の部分に帰ってくるとまだ「Edit」→「Modify」の「Certificate」が古い。
このままだと「Submit」が押せなかったので「Devices」を「SelectAll」「DeSelect」などで変更&変更しもとの状態までもどしたら「Submit」。

あとは「Download」しまくって古いprofileを消せば!!
「Code Signing」で新しいProfileを選べば!!
OKのはず。

で〜ん。


えーまだなんかある?
Code Sign error: Certificate identity ‘iPhone Developer: My Name (xxx)’ appears more than once in the keychain.

このエラーは Keychain Access の証明書がダブってるよということらしく、見たらあった。2個も3個もあった。
これを一番新しい Date Modified のだけ残して削除したら!

やっと動きましたー。ワーニングなし!万歳!!

なんか…Developer更新って思ったよりやることたくさんあって大変だったんですね。
まとまりのない覚え書きですが、これにて完了。(多分。)