MD Blog

誰かの何かに役に立てることを書いていきたいです

[iOS] 連絡帳のデータを入力ができるキーボードアプリをリリースしました。

少し出遅れた感はありますが、iOS8の新しい機能で何かやりたいと思いキーボードアプリを作りました。 Xboardという、連絡帳のデータや現在位置のデータや事前登録した文言を入力できるキーボードです。 Xboard - iOS8用の便利キーボードMishima Designユーテ…

[ios] Unable to simultaneously satisfy constraints container view とエラーが出たとき

ios

問題が出るConstraintのPriorityを下げるとエラーが出なくなりました。 詳しいことはわかりません。

[Swift] Optionals またはSwiftの?と!について

SwiftにおいてOptionalsとは、値にnilを許す変数のことを指します (通常の変数はnilを許さない)。 Swiftでは?や!を用いてOptionalsに関する操作を行います。 型に対する操作 型の後に何も付けない 通常の変数 (値にnilを許さない)。 var label: String = "12…

[Xcode] 行末の空白を自動的に削除する

Xcode > Preferences > Text Editing Include whitespace-only lines をオン Reference http://stackoverflow.com/questions/1390329/trim-trailing-spaces-in-xcode

[iOS] library not found for -lPods エラーが出た時

PROJECT -> Info のConfigurationsに、CocoaPodsのxcconfigファイルが正しく設定されていない可能性があります。 podが何もインストールされていないのにxcconfigファイルが設定されているとエラーになるようです。

[iOS] UITableViewが一番下までスクロールした状態でModalViewを表示すると、UITableViewがずれる現象

UITableViewが、モーダル出現時にステータスバーが隠れたと判断し、ステータスバーの高さ分を調整しようとすることで起こるようです。 以下のようにステータスバーを常に表示する設定を行うことで回避できました。 [UIApplication sharedApplication].status…

[iOS] UINavigationControllerからpopされるイベントを検出する

UIViewControllerのプロパティ「isMovingFromParentViewController 」を使う。 - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // Pop if ([self isBeingDismissed] || [self isMovingFromParentViewController]) { } } U…

バッファロー製ルータへWifi接続している他の端末へIPアドレス指定で繋がらない時 (バッファローは糞)

Node.jsで立てたローカルサーバへ、iPhoneからアクセスしようとしたのですが繋がらずハマりました。 Safariに接続先「192.168.11.xx:xxxx」を入力してアクセスしようとするものの、何も表示されず。 しばらくレスポンスを待っているようなので接続先が全く見…

[iOS] xibファイルで作成したviewを、storyboardに配置する方法

複数のstoryboard上で共通したカスタムviewを使いたいとき、それぞれのstoryboardで同じ画面を設計するのは面倒なので、カスタムviewを1つのxibファイルで設計してそれを使いまわしたいことがあると思います。 その場合、xibファイルで作成したviewをstorybo…

[iOS] Storyboardで Prototype Cells を使うと、cellの生成にinitWithStyle:reuseIdentifier:メソッドは必要ない

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"XXX"]; だけ書けば、cellが自動的に生成されます。 References iphone - dequeueReusableCellWithIdentifier returns nil using storyboard static cells - Stack Overflow Table V…

さくらVPS初期設定でやったこと

VPS

初期設定 接続 VPSコントロールパネルからサーバを起動 ssh root@xxx.xxx.xxx.xxx で接続 最初接続できなかったが、ping送ったらできるようになった パスワード変更 passwd 更新 yum update ユーザの追加 useradd xxx passwd xxx ユーザをwheelグループに追…

[iOS] クラッシュログをsymbolicateする

atosコマンドがうまくいかなかったので別の方法で。 前提条件 アプリの審査でリジェクトされる iTunes Connect の Resolution Center 上でReviewerからクラッシュログを受け取る 方法 XcodeのOrganizer上で、Submitしたファイルの項目を右クリック ファイル…

[iOS 7] iOS 7 独特のアニメーションを実装する

iOS 7 から UIActionSheet や UIAlertView などが表示される際のアニメーションが変更されました。新しいアニメーションではアニメーション終了前に動きが極端に減速し、ふわっとした軽快な印象を与えます。 これを独自に実装しようとした場合に、UIView の…

[Node.js] 独自の Session Store を CoffeeScript で実装する

#building app.coffee SessionStore = require('./SessionStore') # ... app.use express.session( secret: 'keyboard cat', cookie: maxAge: 3600000 # 1 hour store: new SessionStore ) SessionStore.coffee express = require('express') class SessionS…

Sublime Package:Install Package が失敗するとき

以下のメッセージが出るときの対処法 Package Control: There are no packages available for installation. Preferences > Package Settings > Package Control > Settings - User に以下を追加 { "repository_channels": [ "http://sublime.wbond.net/repo…

遠隔操作事件におけるセキュリティ攻撃まとめ

2012年に起きた遠隔操作ウイルスおよびクロスサイト・リクエスト・フォージェリによる連続威力業務妨害等事件[1]において、犯人が行ったセキュリティ攻撃を個人的にまとめます。 クロスサイト・リクエスト・フォージェリ 保土ヶ谷区桜台小学校への無差別殺人…

[Java] public static final を使わない方がいい理由

public static final で定義した変数は、コンパイル時に呼び出した場所へインライン展開されるから。定数の値を再設定してそのファイルだけを再コンパイルした場合、定数を呼び出す側のファイルは以前の定数を使用したままになる。 private static final で…

HerokuのPostgreSQLをpgAdminから見る方法

すこしハマったので。 PostgreSQLを追加する heroku addons:add heroku-postgresql:dev PostgreSQL接続情報を確認する heroku config これで出てきたURLを以下のように読みます。 postgres://<Username>:<Password>@<Host>:<Port>/<DB Name> pgAdminからサーバに接続 左上の接続アイコンから、Username</db></port></host></password></username>…

Webサイトの更新を捕まえるRubyスクリプトを書きました

不定期にイベント情報が更新されるWebサイトがあるのですが、いつも見逃してしまうので今年こそは見逃さないようにスクリプトを書きました。 特定URIのHTMLを定期的に取得して、前回のHTMLと比較して追加分だけを抽出し、設定したワードが書き込まれていたら…

デジタル署名についてのメモ

送信者 文書のハッシュ値を秘密鍵で暗号化して署名を作成する。 受信者 公開鍵で署名を復号して、文章のハッシュ値が正しいか確認する。 以上から、通信経路において文書が改竄されていないことを確かめられる。 しかし、文書の作成者が文書に記されている本…

MVCの本質

MVCの古典的定義を読んで思ったこと。 MODELS - VIEWS - CONTROLLERS http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf モデル・ビュー・コントローラ - Trygve Reenskaug http://d.hatena.ne.jp/digitalsoul/20100913/1284330448 Model, View, …

アウターシャドーとインナーシャドー

PaintCodeというMacアプリを購入しました。 これでボタン画像などを制作すると、そのObjective-C用のコードが自動生成されるというのが売りです。 ですが、単純に画像制作アプリとしてとても使いやすく優れていて、簡単な操作で誰でもそれなりの質のボタンや…

テスト用UIViewと本番用UIViewを使って開発する(iOS)

iOS用アプリの開発をしているとき、仮のUIViewを使いたいことがあると思います。 例えば、凝ったジェスチャーで何らかのアクションをトリガーしたいけどまだジェスチャーを実装できてないときに、簡単なボタンを設置してアクショントリガーしてテストしたい…

超簡単にiOSへシェイクジェスチャー検知を実装する方法

シェイクジェスチャーを検知したいUIViewControllerに以下のコードを記述してください。 - (BOOL)canBecomeFirstResponder { return YES; } - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { if(event.type == UIEventTypeMotion &…

はてなブログでSyntaxHighlighterでObjective-Cを表示

SyntaxHighlighter からダウンロードしたフォルダ中の shCore.js と shCoreDefault.css 、そしてここの shBrushObjectiveC.js を導入すればいけるみたいですが、少しハマったのでうまくいったやりかたを書き残しておきます。 Step 1 shCoreDefault.css の追…

Test

- (void)test{ }

JSONObjectWithData:options:error: のオプションの意味

iOS 5から標準ライブラリとしてNSJSONSerializationクラスができました。 このクラスにはクラスメソッドが5つあり、このうち JSONObjectWithData:options:error: と dataWithJSONObject:options:error: を使えば、簡単に JSON NSArray or NSDictionary の変…

Draw Somethingの凄さ

Draw Somethingというアプリが流行っているそうで。 お絵かきクイズ・ゲーム、Draw Somethingがあっという間に1200万ダウンロードを記録―iOSとAndroid双方でトップお題にそった絵を描いてそれを相手が当てるという、アイディアとしてはありがちなものです。…

才能と精神力について論理的に考える

あなたの作ったものはゴミである、あるいはプロとアマの分岐点:プロジェクトマジック:ITmedia オルタナティブ・ブログを読んで思ったことがあるので書きます。 人が持っている能力のうち、才能と精神力の2つをとりあげて考えます。 よくある2x2のマトリッ…

縁故採用について論理的に考える

コネを持っている人物は人間関係を築く能力があるのだから縁故採用は妥当だと言う人がいます。これについて P「Aはコネを持っている」 Q「Aは人間関係を築く能力を持っている」 という2つの命題に分けて論理的に考えてみようと思います。P⇒Q 親がコネであっ…