iOS

MultipeerConnectivityのセキュリティ

https://www.blackhat.com/docs/us-14/materials/us-14-Diquet-It-Just-Networks-The-Truth-About-iOS-7s-Multipeer-Connectivity-Framework.pdf MultipeerConnectivityを使ったアプリのアップデートの更新をしようとしたのですが… initWithPeer:securityIde…

CALayerでお絵かきpart2

CALyerでお絵かきで来てくれる方が結構居ますがそんなに詳しい事書いていない上にretinaに対応していないというお粗末な解説なのでもうちょっと再利用出来る解説に…できるのか? 描画した内容をCALayerにする大まかな仕様、 UIImageViewを用意し背景となるUI…

iOSでローカルのtextファイルを取得する。

やりたかったことは説明などのテキストをWebViewを使用してHTMLで表示したかったのと、 説明の記述はテキストファイルで保持し説明毎にテキストファイルを読み込むという流れです。 多言語対応にしようとするとLocalizable.stringsでは複雑化し面倒だなーっ…

そうCellにUITextView載せるなんて非効率的じゃないのかな?(遠い目

面倒になってUILabelに変えると爆速になった… 高コストなのにeditableもselectableもNOのUITextViewをわざわざCellに載せる必要無いのではないかというプリミティブな疑問にぶち当たりUILabelに変更。 変更なり参照したいなら別枠で開けばOKだと気付いたさ。…

高さが可変のUITableViewCellでdrawRectを使って角丸のcellを実現

角丸のviewを作りたくdrawRectで描画したもののvisibleのcellはdrawRect呼ばれるのですが、 表示されていないcellが表示される時にdrawRectが呼ばれません。 しっかりと使いまわすと宣言されてるので当たり前といえば当たり前なんですけど一回一回 呼び出す…

performSelector not working

iOS

動かない…何故? ということでstackoverflowで調べると即解決 曰く「ちゃんとメインキューで働かした?」って事で、でもそれ以前に記述したコードは 普通に動くのにこれだけ…あっ、そういえばこのメソッドの親部分が非同期でグローバルキューで動かしてんだ……

立体的なボタンをコードで作ってみよう

iOS

よくある立体的なデザインのボタンをコードだけで表現してみた。 後悔はしていない… github.com

UITableViewCell XIB Autolayout

XIBで作成したcellが崩れる崩れる。 'Detected a case where constraints ambiguously suggest a height of zero' こんな警告文まで出される始末。しかしxcode上では何も制約違反等は出ていない状態。 上手く動くコードと見比べてみて、ふと気付いたのが上手…

再帰SQL

実機で試すと片方は動くのにもう片方がsyntax errorで動かない事態が発生。 sqliteのversionを調べたところ片方が3.7でもう片方が3.8.5で実は調べてわかった事が 再帰クエリがsqliteで使えるようになったのが3.8.3からだそうです。 iOSが8.xのどこかの段階で…

transformの現在の値を取得する

keyPathの値がdeveloperに載ってたので参考までに。developer.apple.com >使用例 そして結構忘れやすいので CGFloat scale = [[view.layer valueForKeyPath:@"transform.scale.x"] floatValue];

Useful framework

github.com NoSQLのjson形式のデータベースMongoDBのiOS用frameworkです。 階層形式でデータを保持できるのでtree状のデータには有効だなっと。 NSDictionaryのデータとか扱いやすそうですね。

NSLayoutConstraintで子viewで自身を操作する。

カスタムビューを登録してこれを親ビュー内でAutolayoutで設定したとしてこれをカスタムビュー内で操作する方法。親で設定した配列を子ビューに渡してあげてそっちで登録してあげると操作できます。 同じ内容の配列を作っても配列のポインタ辺りで登録されて…

UITextViewに対する素朴な疑問

どう判断していいのか分からない事象です。 UITableView内にUITextViewをAutoLayoutで配置して高さを割り出して表示させて文字が全て表示されませんでした。 self. textView.scrollEnabled = NO; self. textView.textContainer.lineFragmentPadding = 0; sel…

NSLayoutConstraintを使ってみる

早速使ってみたがうん楽ですね。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)…

flickr.photos.searchで同じ画像が重複表示するんだけど!

それはね口すっぱく開発者サイトで言ってるでしょ?4000枚まで表示するけどそれ以上はしないよーそこにどんな意味が含まれているか分からなかったよ。 要は検索結果が4000件以下になるように調節しろって事です。 例えば「hot」で調べた場合1000*3924とか莫…

やっとこさ先日自作アプリがリリースされました

長い戦いでしたが、無事出せたのは嬉しいです。 ただし正直まだまだ機能不足感が否めないしUIなどに不満が残りますね。 というか少々不具合が残ってることに気がついてしまったよ。ICOIShunya Kuramoto仕事効率化無料 めげずに宣伝も兼ねて! 複数の人が同じ…

xibで透明のcellを作ってみよう!

最近UITableViewの記事ばっかり書いてるような気がする。 気のせいか…それでは透明なcellを作ってみよう! new fileでCustomCellとともにxibも作成してください。 CustomCell.h @interface CustomCell : UITableViewCell @property (nonatomic) IBInspectabl…

UITableViewのcellの高さを動的に変えてみよう。

アニメーションでViewを表示させる。 cellのcontentViewに2個のviewを登録し、1個だけ表示させてUISwitchの変化で2個目を表示するようにさせています。 この時cellの高さを1個だけの高さから2個表示出来る高さに変えてあげてから、reloadRowsAtIndexPat…

iOS8での画面の回転制御(Universal)

横向けてアプリを起動すると縦画面表示で横画面表示するという奇怪な現象が起きてたので。 BOOL isStart; isStart = NO; - (BOOL)shouldAutorotate; { return isStart; } - (NSUInteger) supportedInterfaceOrientations { return isStart == YES ? -1 : 1; …

UIActivityViewControllerにFlickrが表示されない

iOS

どうやら配列の中に画像データ以外が入っていると表示されなくなるらしいですね。 画像データだけだと表示されました。 なぜに…

Tips(自分用) NSString万能編

文字列からの変換 百聞は一見にしかずということで UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN NSString *NSStringFromCGVector(CGVector vector); UIKIT_EXTERN NSString *NSStringFromCGSize(CGSize size); UIKIT_EXTERN N…

Tips(自分用) タッチイベント編

タッチイベントを使ってUIViewを移動させる。 簡単なようで面倒。何故なら指の位置が誰も真ん中や左上とは言っていない。 そこで簡単なマクロを製作。ありそうで無いのか有るのに気づいてい無いか。 #define CGpointSum(a,b) CGPointMake(b.x - a.x,b.y - a.…

Tips(自分用) 配列とか編

高度な走査は取り敢えずenum系で調べて下さい。 [list enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) { if ([obj isEqualToString:keyWord]) { [list removeObjectAtIndex:idx]; *stop = YES; } }];

Tips(自分用) Device編 

デバイス種類判定(詳細な型番) #include <sys/types.h> #include <sys/sysctl.h> //詳細な機種名 +(NSString *)device{ size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSStrin</sys/sysctl.h></sys/types.h>…

Tips(自分用) Audio編 

音楽ファイルの使用(効果音等の短い音専用) #import <AudioToolbox/AudioToolbox.h> //定義 SystemSoundID mySound; //実装 NSURL *mySoundURL = [[NSBundle mainBundle] URLForResource:@"mySound" withExtension:@"mp3"]; AudioServicesCreateSystemSoundID ((__bridge CFURLRef)mySoun</audiotoolbox/audiotoolbox.h>…

2度目の申請

広告IDとAdSupport.frameworkの指摘されたがiAdでは使ってませんがAdMobではがっつり使われているのでどうしようもないので説明文を記述してみました。後は色々なバグを修正。今回最大の苦労はビデオ作りですね。最初に作っとけよって?(必須になってたの知…

あれ?仕様がかわったのかな?

Bluetoothキーボードを接続した状態でbecomeFirstResponderで普通にUIKeyboardWillShowNotificationが呼ばれている… 呼ばれないから頑張った苦労は何だったんだ。と思ったら呼ばれない時もあるのか…何だこの面倒な仕様はw textFieldShouldReturnが呼び出され…

リジェクトされたった!

ビデオ登録するのを忘れてたのと、ログイン時のアカウント未作成時のアクションを明確に作ってなかった所です。 あと広告ね…iAd側が文句言われてadMobは何も言ってこないのでiAd消してやろうかなw で、調べてみて物凄い事実がiAdって広告識別子使ってないの…

break point 1.2

何だかよく分からない理由で止められ続けて理由を色々調べたが1.1などは見つけれたが1.2は情報がほぼ無し。 とりあえず分からないけどbreak pointって言い張ってるのでxcodeのナビゲーターのShow the Breakpoint Navigatorで見るとbreak pointがわんさか有っ…

CALayerとUIScrollViewとタッチイベントと混乱

以前CALayerでお絵かきする記事を書いたんですがそれのちょっと発展版です。お絵かきに付き物の拡大と縮小を実装するとします。 拡大と縮小をタッチイベントでやるかScrollViewでやるかはともかくtransformで変更すると思います。 実際の絵を大小させると確…