Xcode5;謎のSecurityエラー
Xcode5で(実機をつないで)アプリを実行しようとしたら、こんなエラーが出て実行できなかった。一度アプリを削除しても、何度やってもダメなのだが、ホーム画面上にはアイコンが出来るのでとりあえずそれを実行してみたら、なんかメッセージが出た後に(はっきり読まなかったので失念)、実行できた。調べてみると、http://stackoverflow.com/questions/19112794/xcode-5...
View ArticleMac用LibreOfficeとApache OpenOfficeについて
ことMac版で、Calcについてのみ言えば、LibreOffice(v4.1.3.2)よりApache...
View ArticleMacOSでのファイルを開くアプリケーションの設定
MacOSでのファイルを開くアプリケーションの設定の覚書。Windowsでは拡張子別にしか開くアプリケーションの設定は付けられない(と思う)が、Macではファイル単位でもできるし、拡張子単位でも設定できる。まずファイル単位。ファイルを選択状態にしてマウス右クリック。「このアプリケーションで開く」で「その他」を選ぶと開くアプリケーションを選択できるので、「常にこのアプリケーションで開く」にチェックを入...
View ArticleiOS7のUITextViewのバグ
iOS7のUITextViewには前にも書いたとおり、非常にたくさんのバグが存在するが、またバグを発見してしまった。これは表に出てこないのでちょっとわかりにくいバグ。 (1)入力状態にある間中、メモリ利用量が増加し続ける64バイトずつメモリが確保され続けている。...
View ArticleBlock構文の罠
先日、ブロック構文で引っかかったので覚え書き。たとえば、 イカのようなブロック構文を引数に保つメソッドを実装したとする。- (void)blockTest:(id)arg onSuccess:(void(^)(void))successBlock onFailure:(void(^)(NSInteger...
View ArticleiOSシミュレーターのUITextView/UItextFiledの入力バグ
シミュレーター上でのUITextView/UITextFiledではMacのキーボードから日本語を含め入力できるが、たまに出来なくなることがある。シミュレーターで...
View Articleprintf()でdoubleを表示するにはどうするか
printf()でdouble値を表示する時の話。表示指定はfloat/double共に"%f"である。doubleはfloatの倍精度だから"%lf"・・・ではない。でもこれには1つ落とし穴があって、doubleを%fで表示すると精度いっぱいの表示がなされない。%fはfloatの精度7桁までしか表示しないようになっているからだ。なので、doubleの精度である15桁を表示させるには...
View ArticleXcode5で既存のプロジェクトにUnittestを追加する
今までUnitTestというものは使ったことがなかった、というかどうやって使うのかわからなかったのだけど、とあるところで使っている人のソースを見せてもらって、「こりゃ、うまく使えば便利かも」と思った。が、Xcode5でProjectを新規に作るなら勝手にテスト用プロジェクトも入るのでいいのだが、既存のプロジェクトにそれを追加するとなると、方法がわからなかった。検索してもXcode4の時のはあっても5...
View Articleクラスの内容をファイルに出力する方法(1)
とあるクラスの内容をファイルに出力しようと思った。NSArrayなどNS標準クラスならwriteToFile一発だが、自分で作ったクラスの場合はそうは行かない。そこで、いろいろ調べて&考えてそのための関数を作った。GitHubで公開すればいいのかもしれないが、それほど完成度は高く無いと思うので、ここで公開することにする。まずは、どんな関数を作ったか、その一覧を公開する。・・・BOOL...
View Articleクラスの内容をファイルに出力する方法(2)
ということで、その本体のソース。公開にあたって、一部書き換えたので動かなくなってたらごめんなさい。「確認してから出せ」ッて言われそうだけど、時間がなくて。//// saveClass.m : 全クラス内容を得る、保存する//// (C) 2014 by AIG-Soft// under Apache License/*...
View Articleクラスの内容をファイルに出力する方法(3)
さて、先の入出力関数の中では、NSArrayの中に別のクラスが存在する場合はそのまま処理できない。それも入出力する場合は、そのクラスの中に少し処理を追加する必要がある。追加するのはcoderという処理。これを入れるとクラスをNSDataにシリアライズして入出力出来るようになる。以下のように実装する。こんなクラスの場合↓@interface TestClass : NSObject{ int...
View Articleクラスの内容をファイルに出力する方法(4)
最後にヘッダー。//// saveClass//// (C) 2014 by AIG-Soft// under Apache License#import <Foundation/Foundation.h>BOOL saveClass( id object,NSString *basePath);BOOL deleteClass(id object,NSString...
View ArticleXcode5、そのコンパイラーの64ビットにおけるBOOLの扱いについて
Xcode5上のObjective-Cで、32ビットの時は正常なのに、64ビットでだけおかしくなるというバグの解析依頼が来た。64ビットでおかしくなるのは、主にビット幅による物が多いが、今回はそういうのではなさそうで、ぱっと考えられる原因がなくて難航した。...
View ArticleNSString initWithStringの罠
オブジェクトで配布されているライブラリの中で落ちるバグに遭遇した。落ちるときのログから判断するに、initWithString:nilしている部分があるらしい。initWithStringはnilを渡してはいけない。...
View ArticleiPadでsizeToFitを使う場合の注意
UILabelを使っている処理で、末尾の1文字が欠けるという現象が出た。よくよく調べると、・文字列中に半角文字が1文字だけある・sizeToFitを使っている・iPad(32/64bit共)のみであるであった。更に調査した結果、興味深いことがわかった。sizeToFitした結果のサイズを調べると、iPadのみ1ピクセル分少ないのだ。 CGRect frame=label.frame;...
View ArticleiOS7でのdrawAtPoint/drawInRectについて
iOS6までに存在したNSStringの - (CGSize)drawAtPoint:(CGPoint)point withFont:(UIFont *)font - (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)fontはiOS7で非推奨になった。代替メソッドとしては - (void)drawAtPoint:(CGPoint)point...
View ArticleiOS8のバグもしくは動作違い(随時更新)
iOS8で挙動がおかしくなった処理を書いておく。今のところ、多くは回避コードは見つかってない。(1)UIWebViewでローカル=リソース内のHTMLファイルもしくはPDFを表示している中から外部へのリンクをクリックすると、処理から帰ってこないローカルからローカル、外部から外部は大丈夫みたい。-(BOOL)webView:(UIWebView *)webView...
View ArticleXcode6のバグ
ついでにXcode6のバグ(6.0.1〜6.1)。(1)シミュレーターで時々一切のタッチを受け付けなくなる動作してない気もする。シミュレータの再起動で治る。6.1では発生していない。(2)シミュレーターでキーボードが表示されないbeginFirstResponderしてもキーボードが表示されない。当然でキーボードが閉じるときの通知も来ないため、そういう処理をしていると異常になる。自作のものは仕事で作...
View ArticleUITableViewCellの再利用について
UITableViewでは、画面内の表示に必要な分だけ、登録したセル(UITableViewCell)がシステム内部に用意される。あくまで表示分だけであって、全体ではない。スクロールで表示外に出たセルは新しく入ってくる表示分に再利用される表示外に出たセル→→→+---------- |表示内 |...
View Article