2014年12月15日月曜日

【新作アプリ】部分ぼかし PointBlur

部分ぼかし(PointBlur)のサポートページです。

カメラで撮影した写真やフォトライブラリから選択した写真に部分的なぼかし処理を施します。




画像が表示された後、ぼかしたい部分に触るだけの簡単操作です。
顔や書類の一部分など、部分的に隠して画像を使いたい場合にお使い下さい。

アプリの操作手順は以下1~3の通りです。
1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します
2.「処理画面」(※2)に画像が表示されたら、ぼかしたい部分をなぞります。
3.処理が終わったら保存ボタンを押して保存します

※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
※2「処理画面」の画像は粗い場合がありますが、保存した画像の大きさは読み込んだ時と同じになります。

ご質問やご意見がありましたら下記アドレス宛にご連絡ください。
issa.x.iphone●gmail.com  ●は@に変更してください。

以上、よろしくお願いします。

2014年9月22日月曜日

GIMP for mac ダウンロードしました

iphoneアプリ作成時に必要なアイコン等の各種画像を、どのソフトを使って作ろうか色々と試してます。

「自動数独」や「ぼかし加工」などのアイコン作成時にはイラストレータやinkscapeを使ってみました。

「写真加工」のタブのアイコンは最近インストールしたGIMPを使ってます。

GIMPはpng画像をつくるとき背景を透明化するのに便利です^^

ただし、macにインストールして日本語化して使うのに少し手間がかかりました。

昔のopenCVみたいに、プログラムをテキストエディタで開いて書き換える作業等が必要です。

macで日本語化して使う手順は下記サイトに分かりやすく解説されています。
活用させていただきました。ありがとうございます。
http://room9.jp/2014/05/14/190000/


2014年9月10日水曜日

【新作アプリ】写真加工 Photo Editor

写真加工(Photo Editor)のサポートページです。

カメラで撮影した写真やフォトライブラリから選択した写真に様々な加工を施します。
以下1〜5項目の加工を組み合わせる事ができ、加工の度合いも自由に決定できます。



1.白黒加工
写真を黒と白の2つの色だけで表現します。版画のような仕上がりになります。

2.ぼかし加工
写真にモザイクをかけます。画像のちらつき(ノイズ)を消したい場合にも効果的です。

3.鮮明化加工
写真の明るさを変更します。暗く写った写真を明るく鮮明に仕上げます。

4.エッジ加工
写真の輪郭を強調します。ぬりえが出来るかもしれません。

5.フィルタ加工
写真全体の色味を変更します。グレー、セピア、赤、緑、青など10種類のフィルタが使用できます。



アプリの操作手順は以下1~3の通りです。

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択して決定ボタンを押します。

2.画面下部のボタンで5つの加工画面を切り替えながら写真を自由に加工します(※2)。

3.処理が終わったら保存ボタンを押して保存します。

※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します。
※2 元画像を表示中に処理をすると、これまで処理した内容を破棄してから処理します。


ご不明な点やご意見等ありましたら下記アドレス宛にご連絡下さい。
issa.x.iphone●gmail.com ●は@に変更してください

以上、よろしくお願いします。

2014年8月16日土曜日

【新作アプリ】フィルタ加工 FilterApp

カメラで撮影した写真やフォトライブラリから選択した写真の全体的な色味変える処理を施します。


色味はスライドバーを動かして10種類の中から自由に決める事ができます。
(グレー、セピア、青、緑、赤、シアン、マゼンタ、黄、白、黒)
写真の雰囲気を変えたい場合などにご使用下さい。 

アプリの操作手順は以下1~3の通りです。 

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します
2.「処理画面」の下部にあるスライドバー(※2)を動かして色味を決定します
3.処理が終わったら保存ボタンを押して保存します 

※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
 ※2「処理画面」の画面をタップするとスライドバー等の表示/非表示が切り替わります 

ご意見等ありましたら下記アドレス宛にご連絡ください。
issa.x.iphone●gmail.com     ●は@です

以上、よろしくお願いします。

2014年8月15日金曜日

【備忘録】画像処理アプリのメモリリーク対策

画像処理系のアプリでは、UIImageの中のdataを直接操作したい場合があると思います。
最近てこずっていたメモリリーク源は以下の記述。


 
//解放対象
CFMutableDataRef dataRefMutable1 = CFDataCreateMutableCopy(0, 0, dataRef);
//解放対象
CFDataRef outputData = CFDataCreate(NULL, buffer, CFDataGetLength(dataRefMutable1));
//解放対象
CGDataProviderRef dataProviderRef = CGDataProviderCreateWithCFData(outputData);
//解放対象
CGImageRef outputCgImage = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpace, bitmapInfo, dataProviderRef, NULL, shouldInterpolate, intent);

//作成したデータの解放
CFRelease(dataRefMutable1);
CFRelease(outputData);
CFRelease(dataProviderRef);
CGImageRelease(outputCgImage);


上記4点は必ず解放する必要がありそうです。
また、画像処理が終わっていないのに再処理しようとするとメモリの異常アクセスが発生してアプリが落ちる事があります。(特に画像サイズが1000x1000等大きい場合)

その場合、画像処理はスレッドで行いながらプログレスバーやくるくるを表示して、処理中はフラグ等で再処理されないよう管理する必要が有ります。

それらに注意したらスムーズに動作するようになりました。
Objective-Cのメモリ管理は難しくてまだまだ勉強する必要が有りそうですね。

鮮明化アプリがリジェクトされました

リジェクトの全文がこちら。

    Reasons
  • Program License Agreement
PLA 3.3.8

We found that your app records the user, but does not have the proper indicators that the app is recording, which does not comply with the iOS Developer Program License Agreement:

Section 3.3.8: Any form of user or device data collection, or image, picture or voice capture or recording (collectively "Recordings"), and any form of data, content or information collection, processing, maintenance, uploading, syncing, storage, transmission, sharing, disclosure or use performed by, through or in connection with Your Application must comply with all applicable privacy laws and regulations as well as any related Program Requirements, including but not limited to any notice or consent requirements. In particular, a reasonably conspicuous audio, visual or other indicator must be displayed to the user as part of the Application to indicate that a Recording is taking place.

*Specifically, your app auto-disables the shutter sound of the camera when a photo is taken.

Apps that enable recording a third party must provide reasonable means of indicating the recording activity which cannot be disabled through the app, and the app cannot go black during recording.


要するに、カメラ機能があるのに音を鳴らしていない事が問題のようです。

今までのアプリも全部カメラ機能付いてたのによく通ってたなあ・・
しかも、白黒加工アプリで言われてたiAdに関する事は何も言われず・・
ぼかし加工は名前にキーワードを入れないでというリジェクトに対応したら通ったし・・

審査する人によって基準が全然違うなあーーーーという印象を強くうけています。

音鳴らすようにしてもう一回だそうかなと思います。

2014年8月12日火曜日

【備忘録】Appleの担当者の方への質問メールで必要な情報

最近広告関連で質問する事が多いです。広告の状況がiTunesConnectで確認できない!など。

基本的には質問フォームから質問しないと駄目だと思うんですが、広告関連の質問については、一度対応していただいた日本人の担当者の方に直接質問メールを送っています^^;
忙しいはずなのに、いつも丁寧に質問に応じてくれて感動しています。

広告関連の質問時には下記4点の内容を質問内容に合わせて送るとスムーズに話が進っぽいな〜と最近思い始めたのでメモしておきます。メールのやり取りの回数が減って早期解決につながる。気がする。

・対象のApp Name
・対象のApple ID
・対象のReady for Saleの日時(進捗状況)
・対象アプリのiAdバナーテスト時SS




アプリを開発していると、何かとよく分からない点が色々出てきます。

分からない事はネットで調べると大抵既に先人の方が解決してくれているんですが、中には情報が少ないものや、質問しないと解決しない事柄もあります。

(最初の開発者登録も、質問しないと解決しない不具合?がありました^^;)

プログラム的な事、リジェクトの理由、広告の表示関係等、聞きたい内容によって窓口が異なり、更には最初の質問は基本的に英語という事もあり、自分みたいに慣れないうちはもー大変です。ということです。

2014年8月9日土曜日

【新作アプリ】エッジ加工(EdgeApp)

カメラで撮影した写真やフォトライブラリから選択した写真にエッジ検出処理を施します。
エッジ検出の度合いをスライドバーで自由に決める事ができます。




アプリの操作手順は以下1~3の通りです。

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します
2.「処理画面」の下部にあるスライドバー(※2)を動かしてエッジ検出の程度を決定します
3.処理が終わったら保存ボタンを押して保存します

※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
※2「処理画面」の画面をタップするとスライドバー等の表示/非表示が切り替わります

詳細はサポートURLをご覧ください。
以上、よろしくお願いします。

【備忘録】Validate時のエラー回避

いざアプリを提出という時にエラーでした。
Validateしたときに下記エラーがでました。


info.plist内のBundle OS Type Code がおかしいという事で、前回リリースしたBlurAppの設定と見比べてみました。
結果的に、下記設定がBNDLになっていたところをAPPLに変更したら無事Validateする事ができました。詳細はまだ調べる必要がありますが、とりあえずやり遂げました。



2014年8月6日水曜日

【新作アプリ】鮮明化加工 SharpnessApp

【アプリ名】
鮮明化加工 - (画像 写真 エフェクト)



【概要】
カメラで撮影した写真やフォトライブラリから選択した写真に鮮明化処理を施します。
鮮明化の度合いをスライドバーで自由に決める事ができます。
暗く写ってしまった画像を明るくしたい場合などにご使用下さい。

アプリの操作手順は以下1~3の通りです。

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します
2.「処理画面」の下部にあるスライドバー(※2)を動かして鮮明化の程度を決定します
3.処理が終わったら保存ボタンを押して保存します

※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
※2「処理画面」の画面をタップするとスライドバー等の表示/非表示が切り替わります

ご質問などありましたら下記アドレス宛にお送りください
issa.x.iphone●gmail.com    (●は@です)

以上、よろしくお願いします。

2014年7月31日木曜日

【備忘録】Apple Developer Technical Supportにて広告の件を相談

iAd関連のリジェクトの件がまだ解決してません。 

調べてもこれといった解決策は見つからず、
「ちょっとちゃんと審査してよー」ってスクリーンショットつきで質問したら通してくれたとの事例もあったらしいので、リジェクト通知を受け取ったResolution Centerにある返信フォームにて、下記3点の内容で質問してみました。
 ・広告表示にiAdを使用してる
 ・それ以外に広告使って無い
・スクリーンショットではちゃんと広告表示される

 結果、だめでした。 

こうなったら今こそApple Developer Technical Support(DTS)を活用するときということで、相談してみることにしました。

 DTSとはアップルの技術者に直接質問できるサービスで、アプリ開発契約を購入すると1年で2回利用できる権利がもらえます。使い切ってしまったら2-Pack for $99 USD or 5-Pack for $249 USDで購入できるそうです。 

DTSフォームにて、下記3点を記入して提出。
 ・Platform and Version
・Issue (参考までに日本語ver.も記入)
 ・Steps to Reproduce Issue

 返信されたメールに下記4点を記入もしくは添付して返信。
 ・フォローアップ番号
 ・問題の詳細
 ・リジェクト通知(やりとり)
 ・アプリのソースコード(Xcode5.1.1)

 数日したら返事がきて、Contact the App Review Teamで相談するといいよって。 あ、そうなん?ってなったので次はContact the App Review Teamで相談してみます。

2014年7月19日土曜日

【備忘録】Binary App の審査結果が出ました

リジェクトでした!
下記文面が結果として送られてきました。頑張って英語読みました。

    Reasons
  • Program License Agreement
PLA 3.3.12

We found your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

"You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

If your app is serving ads, please:

- Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing

- Provide us the steps to locate ads in your app

If your app does not serve ads, please check your code - including any third-party libraries - to remove any instances of:

class: ASIdentifierManager
selector: advertisingIdentifier
framework: AdSupport.framework

If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.

To help locate the Advertising Identifier, use the “nm” tool. For information on the “nm” tool, please see thenm man page.

If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool lists the methods that the library calls, and "otool -ov" will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.




Advertising Identifierに関する取り扱いの関係で起こるこのリジェクト、
色々調べてみると、今年の2月から開発者の間でホットな話題になってるみたいです。

下記サイトを参考にさせていただきました。ありがとうございます。
http://jp.techcrunch.com/2014/04/12/20140411apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/

http://kojisatoapp.blogspot.jp/2014/04/iosidfa.html

http://kojisatoapp.blogspot.jp/2014/03/idfaadvertisingidentifierpla-3312.html




色々調べてみて決めた今回の対策は、「iAdを広告目的で使用していて添付画像にもあるようにテストでも動いてますよ」という内容の下記レスポンスを返してもう一回審査してもらおう作戦にしました。頑張って英語書きました。



Thank you for your review.

>We found your app uses the iOS Advertising Identifier but does not include ad functionality.
I'm using "iAd.framework" to display iAd.
I have tested that iAd has been displayed on my devices (iPhone4s, iPhone5s). 
Please confirm at the attached screen shot.

Would you review my app once again?

Respectfully yours,



うまくいってくれるとうれしいです。
返事が来るのが楽しみです。

2014年7月18日金曜日

【新作アプリ】ぼかし加工 BlurApp

ぼかし加工アプリのサポートページです。

【概要】
カメラで撮影した写真やフォトライブラリから選択した写真にぼかし処理を施します。
どの程度のぼかすかをスライドバーで自由に決める事ができます。




顔等の部分をぼかしてアルバムにのせたい場合や、細かい縞模様のノイズを消したい場合など、状況に応じてぼかし具合を調整してご使用下さい。

アプリの操作手順は以下1~3の通りです。

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します
2.「処理画面」の下部にあるスライドバー(※2)を動かしてぼかしの程度を決定します
3.処理が終わったら保存ボタンを押して保存します
※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
※2「処理画面」の画面をタップするとスライドバー等の表示/非表示が切り替わります

以上、よろしくお願いします。

2014年7月16日水曜日

【備忘録】デバイスの向き固定方法

iphoneやipadを横に向けると画面のレイアウトが変わってほしくない時の対処法です。

TARGETSのGeneralを開くと下記設定画面が出てきます。


Device Orientationに4つチェックボックスのうち、Landscape Left と Rightのチェックを外すと縦方向固定のアプリとなります。

Upside Downにチェックを入れると起動すると上下反転して起動しました。

下記サイトをちらっと参考にさせていただきました。ありがとうございます。
http://grandbig.github.io/blog/2014/03/09/devicerotate/

2014年7月10日木曜日

【新作アプリ】白黒加工 BinaryApp

【アプリ名】
白黒加工  Binary App



【特徴】
カメラで撮影した写真やフォトライブラリから選択した写真を白と黒の二値画像に変換します。
白の部分を多くしたり、黒の部分を多くしたり、色の分量を自由に決定する事ができます。

アプリの操作手順は以下1〜3の通りです。 

1.「撮影画面」(※1)から写真を撮影、または「選択画面」から写真を選択します 
2.「処理画面」の下部にあるスライドバー(※2)を動かして白黒の分量を決定します 
3.処理が終わったら保存ボタンを押して保存します
※1 各画面の右上のボタンで「撮影画面」左上のボタンで「選択画面」に移動します
※2「処理画面」の画面をタップするとスライドバー等の表示/非表示が切り替わります

以上、よろしくお願いします。

【連絡先】
アプリに関する相談は下記アドレスにご連絡ください
issa.x.iphone●gmail.com (●は@に変えて下さい)

アプリの説明文書きました

次に出す画像処理アプリの説明文を英語にする作業をしてました。



日本語を英語に直してくれる良いサイトがあればいいなぁと思うけど、
アルクかweblioかエキサイトが今のところの定番です。

アルク
http://www.alc.co.jp/

weblio
http://ejje.weblio.jp/

エキサイト
http://www.excite.co.jp/

let it go の意味としては、
何も言わない、何もしない、そのままで良い、それ以上追求しない、放っておく・・・

などの意味があるみたいです。
勉強になります。

2014年7月9日水曜日

DropBoxは結構使えます

現在アプリの開発にwindows、mac、iPhone5s、iPhone4sを使ってます。

windowsPCからmacへ写真とか色々渡したかったり、

iPhoneからmacへ写真とか色々渡したかったり、

そんなとき、DropBoxが結構使えます。






















やりとりできる容量には制限がありますが、

他の友達を誘ったり、他のアプリをインストールしたりすると増えるみたいです。

ぜひどうぞ。

2014年7月8日火曜日

【備忘録】アイコン・スプラッシュ画像の設定方法(Xcode5.1.1)

アイコンとスプラッシュ画像の設定方法が前バージョンより簡単になってました。

・アイコン画像の設定方法

1、TARGETSのアプリ名選択
2、App Icons選択
3、各サイズの画像をドラッグ&ドロップ

画像のサイズは下図のように29pt、40pt、60ptと親切に教えてくれています。
ただし、2xとなっているので、画像のサイズは58x58、80x80、120x120となります。








・スプラッシュ画像の設定方法

1、TARGETSのアプリ名選択
2、Launch Images選択
3、各サイズの画像をドラッグ&ドロップ

画像のサイズは2xには640x960、4Rには640x1136をドラッグします。








下記サイトを参考にしました。
ありがとうございました。
http://xoyip.hatenablog.com/entry/2014/01/27/222501
http://zutto-megane.com/objective-c/post-262/

2014年7月2日水曜日

iAdが表示されるようになりました

1ヶ月以上間があいてしまいました。。。
前回の内容で、iAdが表示されない!という問題があったので担当者に連絡してみました。

エキサイトな内容の英語で質問したところ、流暢な日本語で解答が返ってきて下記3点の質問を受けました。

1. どのフォーマット(バナー/全画面バナー/プリロール動画)の広告を実装したか
2. テスト環境にて iAd Test Banner の表示が行われていたか
3. アプリケーションの申請日時、および審査通過通知の日時(日本時間)はいつか

これらの質問に答えて1週間くらい待ってたら、無事に表示されるようになりました。
iAdのページの見方が良く分からないので調べる必要がありそうです。

2014年5月10日土曜日

広告付きアプリの広告が表示されません

本来広告が入るスペースが空欄になってしまいます。
iAdが表示されません。非常に残念。

色々調べてみるとリリース直後は表示されない事があるようです。
24時間過ぎると表示されるとの報告があるので、ちょっと待とうと思います。























Apple公式ガイドによると、iAd表示のためのプロセスは下記4点。

①iAd App Network契約とそれに関連する税と銀行取引の情報を設定してね
②アプリケーションのiTunes Connectレコードを構成してね
③iAdフレームワークをアプリケーションに組み込んでね
④アプリケーションバイナリをiTunes Connectにアップロードしてね

①は個人で開発する場合、財務も法関係も全部担当者は自分で登録します。
全部やったはずだと思うので、明日になればきっと表示されるはず。
3日表示されなかったらcontactしてみます。

2014年5月7日水曜日

【備忘録】storyboard上でのボタン削除時のエラー対処

【症状】
storyboard上でボタンを設置したり削除したりしていたら、

...this class is not key value coding-compliant for the key ●●●....

というエラーが出て一瞬困りました。
storyboardのソースコード内にごみが残ってしまうのが原因のようです。
objective-cに限らず、VBやCでもコントロールの削除には気を使うところなので同じような事なのでしょうきっと。

【対処法】
storyboardのファイルを右クリック > Open As > Source Code を開く

<outlet property="●●●" destination="------" id="-----"/>

の一文を削除でなおりました。
下記サイトが参考になります。ありがとうございました。
http://qiita.com/tetsuya/items/cb5d6f64dd32c1453c35

2014年5月6日火曜日

【備忘録】実機テスト時に忘れがちな事

【症状】
実機テスト時、AppIDとProvisioningFileを作成してBundle Identifierを一致させたのに実機の選択肢がでてこない!

【対処法】
色々試してると、ProjectとTargetにあるDeployment Targetがおかしいと出てこない事が分かりました。今回のテストでは7.1を6.1にかえたら動きました。















iTunes Connectをみたら、自動数独ver1.1は審査が終了し、自動数独Liteは審査待ちでした。バージョンアップが審査中になってからは1時間かそこらで終了しました。はやい。





2014年5月5日月曜日

自動数独のLite版作りました

自動数独に機能を追加してバージョンアップしたので、今までのはLite版として出してみました。
広告機能の練習もかねてます。色々有る中でとりあえずiAdを入れてみました。

今後バージョンアップするとしたら認識できる数字の書体を増やしてみたいと思います。

以下、アプリの説明です。

9×9マスの数独をこのアプリで撮影すると、、、 
撮影した画像中から認識した数字を基に自動的に空欄を埋めて解を導いてくれます。 

アプリの操作手順は以下1~3の通りです。 

1.「撮影画面」から数独(9×9)を撮影、または「選択画面」から画像を選択します 
2.画面内の赤枠と数独の外枠が一致していれば決定ボタンを押します 
3.解答表示ボタンを押します 
(赤色数字:撮影した数字の認識結果 青色数字:赤色数字をもとに数独を解いた結果) 

【注意点】 
・数独の撮影時、画面内の赤枠と数独の外枠は可能な限り一致させてください 
(ズレの分だけ数字の認識が不安定になります) 
・解答表示ボタン押下後に赤色の数字の位置を確認して数字認識が正しく行われているか確認してください 
・処理画面で画面をタップするとボタンの表示/非表示が切り替わります

3.5インチiphoneで起動して処理画面を開いた場合、ボタンで解答が見えなくなってしまうので表示/非表示を切り替えれるようにしました。

【連絡先】
アプリに関する相談は下記アドレスにご連絡ください
issa.x.iphone●gmail.com (●は@に変えて下さい)




2014年5月2日金曜日

自動数独(AutoSudoku)のアップデート

数字認識画面でタップすると数字を自由に変更できるようにしました。
数字の書体は1種類しか学習していないので正しく認識できない場合がありますが、今後色んな書体の数字にも対応していこうと考えています。

以下アプリの説明文です。

9×9マスの数独をこのアプリで撮影すると、、、 
撮影した画像中から認識した数字を基に自動的に空欄を埋めて解を導いてくれます。 

アプリの操作手順は以下1~5の通りです。 

1.「撮影画面」から数独(9×9)を撮影、または「選択画面」から画像を選択します 
2.画面内の赤枠と数独の外枠が一致していれば決定ボタンを押します 
3.数字認識ボタンを押して認識結果を確認します
4.必要に応じて画面をタップして数字を変更します
5.解答画像ボタンを押します 
(赤色数字:撮影した数字の認識結果 青色数字:赤色数字をもとに数独を解いた結果) 

【注意点】 
・数独の撮影時、画面内の赤枠と数独の外枠は可能な限り一致させてください 

(ズレの分だけ数字の認識が不安定になります) 

【備忘録】オートレイアウトの配置ズレ

【症状】
コントロールを配置して画面下部に位置をあわせて実行したところ、1回目の表示はうまくいくが2回目の画面表示で異なる位置に表示される。

【解決法】
サイズインスペクタ内でコントロールの幅と高さを明確に指定するとなおる


2014年4月29日火曜日

【備忘録】タップイベントの取得

自動数独のバージョンアップを考えてます。
数字認識の学習精度が足りないので手動で数字の変更ができるようにしたいと思います。

タップイベントはUIResponderクラスに定義されているのでViewControllerクラスからtouchesBeganをオーバーライドするだけで使えるようになる!手軽!(ViewControllerはUIResponderの子クラス)

あとはViewのサイズと、表示する画像のサイズを合わせてる事で、タップした座標位置に赤枠を表示する事ができるようになりました。ありがとうございました。

次はタップした位置の数字を変更できるようにしてみます。




2014年4月26日土曜日

Xcodeのショートカット集

Xcodeでの開発で複数行に渡る一括コメントアウト。
すっすっとやりたいなあーって思ってたら下記参考サイトに出会いました。
ありがとうございました。

http://516k.blogspot.jp/2010/11/xcode.html

コメントアウト以外にも色々面白いショートカットがあるので使っていこうかと思います。

1.ヘッダファイル(*.h)と実装ファイル(*.m)の切り替え [Opt]+[Cmd]+[↑] 
2.対象シンボルへジャンプ [Cmd]+任意のシンボルをダブルクリック
3.対象シンボルのAPIリファレンスを表示 [Opt]+任意のシンボルをダブルクリック
4.選択行のコメントアウト [Cmd]+[/]
5.再インデント [Ctrl]+[I]
6.入力補完のウィンドウ表示 [Ctrl]+[,] ←カンマね
7.入力補完の実行 [Ctrl]+[.] ←ピリオドね
8.ビルドとデバッグ [Cmd]+[Enter]

2014年3月15日土曜日

【備忘録】処理中のお知らせ機能

画像処理など重い処理をする場合、処理中である旨を知らせる機能があると便利だと思い、くるくると回るアニメーションを追加しました。

問題なのは、くるくるの開始後すぐに重い処理を実行するとくるくるしないという事です。
くるくる開始と処理を別スレッドにする事で解決しました。

情報筋によると、メインスレッドでは重い処理をしないのが基本とあるので、重い処理は別スレッドでやろう。さらに情報筋曰く、くるくる開始と停止はメインスレッドでやると吉という。

[self->mIndicator startAnimating];
//1 処理を別スレッドで実行
[self performSelectorInBackground:@selector(ProcessingProgress) withObject:nil];
//2 処理を別スレッドで実行
[NSThread detachNewThreadSelector:@selector(ProcessingProgress)toTarget:self withObject:self];
//【スレッド】進捗の表示
- (void)ProcessingProgress{
    @autoreleasepool {
        //画像処理
        ConvertImage()
        //アニメーションの停止
        if ([self->mIndicator isAnimating] == true) {
            [self->mIndicator stopAnimating];
        }
    }
}

1と2はどちらもスレッドを実行するための記述ですが、今回は1を使ってます。

下記サイトを参考にしました。
ありがとうございました。

NSThreadを使ったスレッド処理
http://iphone-dev.g.hatena.ne.jp/sohei/20100524/1274704461

ARC時スレッド内
http://blog.natsuapps.com/2011/11/ios5-arc-autorelease-bridge-xcode.html

無題メモランダム
http://blog.mudaimemo.com/2010/05/iphoneuiactivityindicatorview.html

ソースコードをドラマチックに貼付け

ソースコードをハイライトするウィジェット「Code Prettify」を試しに導入してみます。

下記サイトを参考にしました。ありがとうございました。
貼付けに必要な変換処理もしてくれる便利なサイトでした。
http://www.kuribo.info/2008/04/code-prettify.html

    //UIActivityIndicatorViewのインスタンス化
self->mIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self->mIndicator.frame = CGRectMake(0, 0, 100, 100);
self->mIndicator.center = self.view.center;
[self.view addSubview:self->mIndicator];
self->mIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self->mIndicator.frame = CGRectMake(0, 0, 100, 100);
self->mIndicator.center = self.view.center;
[self.view addSubview:self->mIndicator];
self->mIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self->mIndicator.frame = CGRectMake(0, 0, 100, 100);
self->mIndicator.center = self.view.center;
[self.view addSubview:self->mIndicator];

2014年2月11日火曜日

【備忘録】スクロールビューを試しに使ってみました

スクロールビューを初めて使ってみました。
以下、参考サイトです。ありがとうございました。

・横スクロールの仕方
http://d.hatena.ne.jp/glpgsinc/20121204/1354612944

・スクロールビューの使い方導入部分
http://allabout.co.jp/gm/gc/410335/2/

2014年2月6日木曜日

【備忘録】イニシャルビューを設定する必要がある

アプリ起動時、画面が真っ暗で何も表示されない!というときはイニシャルビューを設定していない恐れがあります。設定は図中のis initial view controllerにチェックを入れるだけ。


参考サイト。ありがとうございました。
http://blog.77jp.net/iphone-perhaps-the-designated-entry-point-is-not-set-error

今回はタブのアプリを作っているので、タブで選択する先のビューではなく、ルートにあるメインタブビューをイニシャルビューとして設定する必要がありました。

2014年1月31日金曜日

【備忘録】タブを使ったテンプレート作成

次は画像処理アプリをつくります!
タブによる遷移は自動数独と一緒にしようかなーと思うので、タブのUI作成方法だけ覚え書き。。

・タブのプロジェクトを新規設定
・メインタブバークラスが呼ばれるようにコピー
・ViewController追加
・ThirdViewControllerクラスをViewControllerクラスの継承で作成
・メインタブバーからThirdへコントロールドラッグ
・インスペクタ画面からTitleをThirdで設定
・ナビゲーションはEmbedInで作成
・TabBarItemのインスペクタからタブの画像を指定

2014年1月30日木曜日

自動数独 AutoSudokuがApplivに掲載されました

iPhoneとiPadアプリの情報サイトApplivにて、以前作った自動数独AutoSudokuが紹介してもらえる事になりました。

Applivには他にもいろんなアプリが数多く登録されているだけでなく、各々にレビューが書いてあるので非常に参考になります。

欲しいアプリがあるときに使える情報サイトと思います。

2014年1月29日水曜日

【備忘録】アプリの販売元は本名か法人名

アプリがAppStoreにあがると販売元が表示されます。
とっても恥ずかしがりやな人たちはここはきっと本名でいれたくないはず!

ニックネームみたいなので登録しようと思ったけど、
個人で開発するという選択肢を選んだ場合は本名で、
法人で開発するという選択肢を選んだ場合は会社名とその関連情報の入力が求められるため、架空の会社名は登録できない。

という事で、本名しか無理みたいです。

以下のURL等を参考にさせていただきました。ありがとうございます。
http://d.hatena.ne.jp/HirosigeT/20101228/1293533243
http://yakoton.seesaa.net/article/343236595.html

ニックネームの登録方法、分かる方いたら教えてください^^

筋肉痛とおもいきや


筋肉痛になりませんでした。
もう歳になってきたから2日後にくるかと思ったけどそもそも来なかった。

【備忘録】ファイルの整理について

iPhoneアプリ制作のプロジェクトが大きくなってくると、フォルダの中のファイルを整理したくなってきます。これがなかなか難しい・・
結局整理できず、ファイルがばらばらとフォルダの中に散らばってます。

プロジェクトに、Add Files to ... からフォルダを追加すると、コンパイルエラーが出てきます。今まではグループを作っていたけど、フォルダだとちゃんと階層毎に分けてくれる感じだったからやってみたけど、うまくいかない!

ちなみに、グループだと黄色、フォルダだと青で表示されます。

コンパイルエラーの原因は、Build Phasesのコンパイル対象にファイルが設定されていない事が原因らしい。(下記サイト参考)
http://d.hatena.ne.jp/tanaponchikidun/20120618/1339979392

フォルダだと指定がうまくいかず、結局今まで通りに戻したらうまくコンパイルできました。

2014年1月27日月曜日

【備忘録】プロジェクト名の変更

プロジェクト名を適当に決めて作り始めると、そのうちもっといい名前があったなぁなんて思うことありますよね。あります。

そんなとき、下記サイトが非常に参考になります。ありがとうございます。
http://hocosoft.com/memo/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%90%8D%E3%81%AE%E5%A4%89%E6%9B%B4/xcode4-5%E3%81%A7ios%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

なんかすごい文字列になるんだけど・・・

もうひとつ。ありがとうございました。
http://tsurumura-seisakusho.blogspot.jp/2012/03/xcode4-user-guide.html


先にリリースした自動数独、数字の認識性能を上げるために新たにフォルダ作ったり、
次回作を作るときにフォルダ名を変更したくなったりすることがあると思うからメモっておきました。

2014年1月23日木曜日

【備忘録】cocos2dでのゲーム作り

次のアプリはなんとなく、ゲームを作って勉強してみようかなと思ってます。

cocos2dを使うと作りやすいということなので、使ってみることにしました。

まだ全然作りかけだけど、iphoneの加速度でボールを転がすゲームを試しに作ってみてます。


ボールが中央付近にあるときは背景固定。

両端にいくとボール固定の背景移動に切り替わります。

上下は見えない壁があってそれ以上進めなくしてます。

次は壁をつくって通れないようにしてみようかな。




以下、ざっくりメモ

・Directorクラスが大元に1つあって、Scene,Layerと続く

・Directorクラスはシングルトンで形成

・LayerにLabelやSpriteをAddしてゲームを作っていく

・Labelは文字関係、Spriteは画像関係を管理するクラス

・iphoneのフレームレートは60fps

・各フレームで加速度取得、実機移動、背景移動をする

2014年1月17日金曜日

【備忘録】無事Waiting For Reviewになりました

これが最後これが最後といいながら、これが最後になりました。
下記エラーを解決して無事審査までたどり着きました。

今は4インチiphoneに対応必須なんですね・・・最後のエラーはこれでした。




参考サイトの皆様、ありがとうございました。

・iosでの角ボタンをios6までの形になおす
http://d.hatena.ne.jp/unk_pizza/20131005/p1

・アプリのアップロードは輸出にあたる
http://tmurakam.hatenablog.com/entry/20111009/1318137457

・Xcode5でのProvisioningProfileの設定
http://seesaakyoto.seesaa.net/article/376280445.html

・Build For Archiving メニューが非活性で選択できない
http://onno.jp/dev/2012/02/ipa-xcode-build-for-archiving.html

・アプリ名のリネーム
http://d.hatena.ne.jp/paraches/20130211

・BuildSettingのPackagingのProductNameを設定しないとだめ
https://discussions.apple.com/thread/1124671?tstart=0

・aechive時のアイコンエラー解決策
http://tanakahiroki.com/?p=245

・アイコンに関するエラー
http://designleaves.com/wordpress/%E3%82%A2%E3%83%97%E3%83%AA%E7%94%B3%E8%AB%8B%E3%81%A7%E3%83%8F%E3%83%9E%E3%81%A3%E3%81%9F%E3%83%A1%E3%83%A2/

・Baseにもチェックが要る
http://tech-gym.com/2013/10/ios/1302.html

・タブを正しく使うには、EditorのEmbed Inで作成する

・アイコン画像は7種類必要になる

・20140117現在、配布アプリは4インチiphoneに対応しなければならない!!!
Default-568h@2x.png(640x1136)画像が必要になる。オートレイアウトしてない場合は単純にのびるためボタン位置などを適切に設定する必要があるかも。

2014年1月14日火曜日

【備忘録】iOS7で動かない&4インチで動かない&xcode5で動かない

iOSを7にアップデートして動かなくて、
4インチiphoneで動かなくて、
xcodeを5.0.2にアップデートして動かなくて、

という3つの壁にぶつかってました。が!解決(?)しました。
あとはバンドル愛伝ティファーを解決してアップロードの予定です。

メインは3.5インチ用の画面にして、4インチでは上下に黒帯が表示されるようにしました。
オートレイアウトOFFです。

主に下記サイトを参考にしました。ありがとうございました!

・ローカライズのやり方
http://secondflush2.blog.fc2.com/blog-entry-1078.html

・storyboardのオートレイアウトについて
http://nackpan.net/blog/2013/08/19/how-to-use-auto-layout/

・storyboardを3.5インチと4インチのときで変更する方法
http://yuki0n0.blogspot.jp/2013/11/iphone4inch35inchstoryboard.html

・アップルの公式ドキュメント
https://developer.apple.com/jp/devcenter/ios/library/japanese.html

・ナビゲーションバーの正しい使い方
http://qiita.com/cyan_ishii/items/0babccb20c0f183b1c5f

・4インチに非対応のやり方
http://syszr.com/s22.html

・その他重要なこと
アラート等のUIKit系はメインスレッドで呼ぶべし

・imageviewの位置がトップバーに重なるor実行時にずれる問題、
 下記図中のExtendEdges内UnderTopBarsのチェックをはずす

・ボタンを押したときに強調されるようにするにはShowsTouchOnHighLightをチェック

・ラベルの文字を行内に納めるにはAutoshrinkをMinimunFontSizeにして最小文字を決定してTightenLetterSpacingをチェック

2014年1月9日木曜日

今日の作業に入る前のきばらし~

もっと早く作業始めようと思ったのに22時くらいまで仕事が長引いた~

最近忙しいからなぁ

という言い訳は終わって、アプリ開発やな!

昨日の作業の続きからはじめちゃお

2014年1月8日水曜日

【備忘録】iOS7の変更点と解決法

自作したiPhoneアプリをiOS7で実行したらボタンが消える問題、とりあえずわかったことを下記。


・iOS7からはレイアウトが一新。以前のver.で作ったアプリをそのまま実行すると主にstoryboard上のレイアウトが崩れるので再構築の必要あり

・storyboardに変更後のレイアウトが反映されないときはシミュレータおよびテスト機のアプリを削除してからソリューションをクリーンして再転送すると直る
【参考サイト】http://blog.livedoor.jp/kururun1/archives/21837584.html

・多言語へのローカライズ、Baseを作成して各言語のstringファイルからローカライズが可能。これにより、ローカライズ後にstoryboard上でボタンを追加したときなど変更が楽になる
【参考サイト】http://d.hatena.ne.jp/paraches/20130225


とりあえず今は上記を進めてます。審査までの長い道のりが見えてきた気がする・・
参考サイト運営の皆様ありがとうございました。

2014年1月7日火曜日

ios7に対応しようと奮闘中

アップデートに次ぐアップデート。

作ったアプリがios7に対応していないので今まさに対応しようとしているところです。

しかし、また困ったことが。

アップデートに伴いXcode内のストーリーボードが何かしらおかしくなってボタンとかが消えました。

色々調べてみると、UIをもう一度再配置したりして直るらしい。

審査がまた遠のいていく!果たして終わるのか・・

2014年1月6日月曜日

最後(?)の関門

アプリの審査を受けるために色々頑張った。

このブログを始めるきっかけになったのも、サポートURLなるものが必要だった事がきっかけ。

いざ、審査請求!と思いきや、まだ問題が・・・



手元の書物によると、「Bundle identifierをApp IDのBundleIDと合わせる」と良いらしい。

しかし最後の1単語の変更ができずに合わせられない!

うーん、ばんどるあいでんてぃふぁー恐ろしい。



答えを求めてネットの海を泳いでいたら、Xcodeのバージョンが古いものでアプリを開発していたことに気づいたので、とりあえず最新版にしようと現在ダウンロード中。

それに伴ってmac os xにバージョンアップもしないとという事になった。

うーん、審査が遠のいていく!!バンドル愛伝ティファァァ!恐ろしい。

2014年1月5日日曜日

【新作アプリ】自動数独(AutoSudoku)

自動数独(AutoSudoku)に関するページです。














【アプリ名】
自動数独 AutoSudoku

【特徴】
普通に解いたら時間が掛かる数独ですが、このアプリを使うとほんの数秒で解くことができます。数独の検証用や懸賞用、その他にお使い下さい。
アプリの操作手順は以下1~5の通りです。

1.9x9マスの数独を撮影、またはフォトライブラリから画像を選択します
2.画面内の赤枠と数独の外枠が一致していれば決定ボタンを押します
3.解答表示ボタンを押します
4.数独に予めある数字と赤色の数字の位置が一致しているか確認します
5.赤色の数字を元に数独を解いた結果を青色の数字で表示します

【注意点】
・数独の撮影時、画面内の赤枠と数独の外枠は可能な限り一致させてください
(ズレの分だけ数字の認識が不安定になります)
・解答表示ボタン押下後に赤色の数字の位置を確認して数字認識が正しく行われているか確認してください

【キーワード】
数独 数字 認識 懸賞 検証 脳トレ パズル 人気 効率 自動 副業 新作 sudoku popular game puzzle business number new


【連絡先】
アプリに関する相談は下記アドレスにご連絡ください
issa.x.iphone●gmail.com (●は@に変えて下さい)


【追記】
2014.1.29
数字の書体によっては認識できない場合が有ります。色々な書体でも認識できるように改良したいと思います。こんな書体はできますか?こんな書体に対応してほしい等要望が有りましたら連絡先へ画像とともに一報お願い致します。(なるべく対応したいと思います)

2014.2.4
iPhoneとiPadアプリの情報サイトApplivにて、自動数独AutoSudokuが紹介してもらえる事になりました。

祝・ブログ開設


主にiPhoneアプリ関連の記事をアップするためのブログ始めました。

開発途中でメモしたい事あれこれや、

リリースしたアプリのサポートを書いていこうとなんとなく考えてます。