だいたいそれでいいんじゃないの

つれつれなるkixixixixiの技術的なストック。http://reload.co.jp

こんなコードはいやだ【Objective-C】

最近うけた案件があるアプリの改修でした。 そちらのコードが御法度の詰め合わせのフルコンボみたいな記事になっていたので、 そのバッドノウハウの共有になればと思い記事にしました。 基本的には、「こうしよう!」というものでなく、「これはやめよう!」…

Xcode7(6?)とかでビルドするとiPhone6(+)対応していないアプリがScreenがiPhone4sサイズになってしまう問題

あまり想定されない事象ですが、はまったので。 結構むかしに作成されたアプリの保守をした際に、表題のように4sサイズで表示されしまう問題に直面した。 具体的に言うとiPhone6などで表示すると、解像度が 640 * 960(320 * 480)で表示されて余白となる上…

AU Wi-Fi マルチデバイスにつながらなくなった!

2016/2/1より、いつも利用していたAU Wi-Fiに接続できなくなった。 www.au.kddi.com こちらの変更のため、Wi2のネットワークへのログイン方式がかわった模様。 ブラウザだけでログインということは、いつもWi2 IDを入力してログインするということか。 便利…

Alamofireでsession(cookie)を永続化する

Bridge-Headerを使えば簡単にObjective-Cのコードを使えるのでずっとAFNetworkingをつかってました。 だけど、今更だがSwiftだけにしてみようと思ってAlamofireを使ってみた。 (単にGAがいらない案件がきたってわけではないよ...w) HTTPリクエストを投げる…

YAPC::Asia 2015にいってきました

タイトル通り。会場のビッグサイトの下のカフェで書いてる。 10回目で最後のYAPC。自分は最後の3回しか参加してないけど、Perlだけでなく様々な言語・様々なレイヤーの話がわいわいされててエンジニアのお祭りって感じですごくたのしかった。 トークいくつ…

UIAlertView/UIAlertControllerは極力使わないほうがいいと思うはなし

iOS

タイトルがほんのすこし釣りくさいですが、タイトル通り。 個人的な意見ですが、iOSのUIとしてUIAlertView/UIAlertController(以下Alert)を極力つかわないと思っています。 なぜかというと、 - ユーザの動きを強制的に止めてしまう - 基本的には警告表示す…

iOS強制アップデートの機構について

iOS

強制アップデートを実装しておいた方が、今後機能拡張した際に助かるはず! ということで実装したのですが、わざわざそれのためにエンドポイントを作るのは微妙だし毎回確認してたら無駄なオーバーヘッドが増えるなと思います。 なので、考えた手段は、 - HT…

TPKeyboardAvoidingTableViewがiOS8.3 SDKでうごかない

iOS

タイトル通り。 反応してくれないくてコードみてたらnotificationの登録が行われていないことがわかる。 TPKeyboardAvoidingTableViewではこのように記述されています。 Apps built using the iOS 8.3 SDK (probably: older SDKs not tested) seem to handle…

プロパティのsetter,getter

プロパティのsetter,getterが簡単にできるようなのでいじってみた。 private var _name = "" var name : String { get { return _name } set(newValue) { _name = "Mr. \(newValue)" } } こんな感じ。 set(newValue)はsetに省略できたり。 nameに代入された…

やはり俺のAdhoc配信はまちがっている。

続の放映前にぎりぎり間に合いました。 旧Testflight配信がサービス終了して一ヶ月ほど。 クライアントさんにリリース前のチェックをしてもらう際などにiOSアプリのテストではTestflightを利用して配信することが多かった。 それが、TestflightがiTunesConne…

メジャーアップデートしたLaravel 5を使い始めた話。3

表題の通り。3 1 -> http://kixixixixi.hatenablog.com/entry/20150320/1426836091 2 -> http://kixixixixi.hatenablog.com/entry/20150322/1426957792 実装したら、どこかでミスったらしくエラーに。 エラーのはずなのに画面が真っ白。。。。 .envで APP_DE…

メジャーアップデートしたLaravel 5を使い始めた話。2

表題の通り。2 1 -> http://kixixixixi.hatenablog.com/entry/20150320/1426836091 DBつくったからmigrateしよう!とやりました。 ミスったので備忘録。 php artisan make:migration create_table_name とかってしてmigrationファイル作ってmigrateした。 そ…

メジャーアップデートしたLaravel 5を使い始めた話。

php

表題の通り。 4で作ったものの改修案件とかあるけど、5が大きく変わったということでずっとLaravel 4を使っていてもだめだなと思い、勉強することに。 簡単に環境構築から。 ## インストール php5.4以上とcomposerをインストールした状態で composer global …

[swift] UIViewのsubclassでのinitの挙動

UIViewのサブクラスを作ったときにinitでの挙動がどうなっているのかなーって疑問になったので自分のまとめ載せておきます。 init()自体をoverrideして初期化時の処理を追加したいときにかくべきなのはinit()なのかinit(fram:)なのか。 とりあえず、下記の挙…

Android browserでFile APIを使って画像を読み込んで表示させる

スマホ向けサイトでユーザが画像投稿する際に画像のプレビューを表示させる機能の実装する機会がありました。 FileReaderを使って読み込む仕組みにしたんですが、iOSやPCでは動くのにAndroidでは動かない。。。 AndroidでもChromeなら動くのですが、標準のAn…

URBMediaFocusViewControllerがかっこよくてすごく便利!

URBMediaFocusViewControllerがかっこよくてすごく使いやすかったので。 u10int/URBMediaFocusViewController これはダイナミックな画像表示のできるビュワー。 すごく便利! let mediaFocusCtr = URBMediaFocusViewController() mediaFocusCtr.showImage(im…

Swiftでpragma markをかく

Xcodeでコードの可読性を上げるためにpragma markを使うのでその紹介です。 参考: #pragma markの意味| ずっとMegane。 Swiftで pragma mark を書きたいけども#pragam markってSwiftでかけない! 調べたら、方法ありました。 // mark: で書けるようです。 コ…

SwiftのLiteralなCGPoint

CGPointを定義するときにCGPointMake(<#x: CGFloat#>, <#y: CGFloat#>)をいちいち書くのは面倒! だからliteralに定義できる方法ないかなと思って調べた。 Objective-cなら (CGPoint){<#x: CGFloat#>, <#y: CGFloat#>} swiftなら (CGPoint)(x:<#x: CGFloat#>…

UIWebViewでの広告クリックでコンバージョン計測したい

iOS

表題の通り。 要望があったので書きますー。 どういうことかというと、 - iOSアプリでwebviewを使ってコンテンツの表示等を行っている - webview上で広告を配置 - 広告がリダイレクトを挟んでいるのでコンバージョン計測をしていそうだ - コンバージョン計測…

swiftのfor文

iOS

for in を使った簡単なループの書き方 なんど書いてても忘れてしまい、なんども調べてるので備忘録。 0から10まで繰り返します。 for i in 0...10 { // do something } 最後の処理がいらないときは for i in 0..<10 { // do something } これだけ

SwiftのForeachをかく

iOS

foreach的なことをswiftでするための備忘録 for element in list { // do something } 同時にIndexを追うこともできます。 for (index, element) in enumerate(list) { // do something } 型の定義は大丈夫なのですかね。 以上。

SwiftでのLiteralTypeってなんだ!?

iOS

きっかけは些細なことでした。 UIView.animateWithDuration( delay: options: animations: completion:)を書いているとき、delayに変数を代入しました。 コンパイルエラーでswiftでがエラーを返します。 !? animateWithDuration with an argument list of …

cocoapodsで複数ターゲットにライブラリーをいれてみた

iOS

プロジェクト内にターゲットを追加して同じライブラリを追加するときにハマったので、備忘録として。 あらまし cocoapodsで作ったプロジェクトに新規でtargaetを追加して同じライブラリを利用したいと思った。 XCodeからターゲットを追加して、pod installす…

xcode6でstoryboardなしでprojectを作る方法!

iOS

ios8とかでたんで、xcode6に切り替えたら、 empty projectがない! なのでsingle view framework でつくってstorybordを消すことに。 appdelegate.m に下記を追加して self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self…

nendのcocoapodsつくってみた

iOS

nendをわざわざ毎回frameworkいれるのが面倒だなーと思っていたので下記のものをつくりました。 kixixixixi/nend cocoapodsで pod 'nend', :git => 'https://github.com/kixixixixi/nend.git' みたいなものを書いてインストールするだけです。 まぁフレーム…

UITableViewCell内でのUIViewのTouchBeganイベントをUIViewControllerであつかいたい!

iOS

表題のまま(UITableViewCell内でのUIViewのTouchBeganイベントをUIViewControllerであつかいたい!)のことをしたいから、UITableViewをカテゴリー拡張してみたよ。 UITableView+TouchableExtension.h #import <UIKit/UIKit.h> @interface UITableView (TouchableExtension) </uikit/uikit.h>…

UIStatusbarの操作でハマった

iOS

今更ですがiOS7で statusbarを編集しようとしたけどもハマるという事案が何度か起きているけど、なんどもわすれてしまっているので備忘録です。 Navigationbarの部分を画像などで代替して実装する際にUIStatusbarを黒背景で表示したい!という場合がありまし…

UINavigationControllerをカスタムしたらUIViewControllerのviewWillAppearが呼ばれなくなった!そのときの

iOS

CustomNavigationControllerみたいものをつくってUINavigationCntrollerをカスタムしてiOSアプリをつくっていたら、起動時にCustomNavigationControllerに紐付いたUIViewControllerの viewWillAppear 等が呼ばれずはまったのでその備忘録を残しておきます。 …

UIViewだけでフラットなボタンをつくろう

iOS

iOSアプリでは、PhotoshopなどでボタンをつくってUIImageViewやUIButtonでボタンを表示することがあると思います。 フラットなボタンだったらわざわざ画像を作る方がめんどい!なんてことがあったので簡単なボタンをUIImageViewもしくはUIViewでつくる方法を…

UIWebViewで動いているアプリをネイティブっぽくしてみた

iOS

かなり既知なことと思いますが、UIWebViewでの挙動をネイティブっぽくするコードの備忘録。 経緯 iOSアプリは審査が1週間あり、ちょっとした変更のためにアップデートするのはかなりコストがかかり大変だったりします。 なので自分のアプリには頻繁に変更を…

弱小iPhoneアプリをブーストしてみた結果

今回は自分のアプリを広告してみた結果についてまとめたいと思います。 -まえおき- 個人のアプリデベロッパーで自分のアプリをPRしたことがある人はあまりいないでしょうか。自分のサービス(アプリ)を作って公開して利用してもらえるフローはAppleやGoogle…

UIStatusBarが消えない。

iOS

iPhoneアプリでuistatusbarが消えなくて5分くらいつまったので、備忘録として記事にしておきます。iOSで上に出てる20pxくらいの時間を表示してるあいつです。ゲームとか作ってるとあいつ消したいですよね。あの消したいやつです。 iOS7SDKでの話です。 起動…

iPhoneアプリでApple審査に7回リジェクトを受けながらもリリースをおこなった話

先月からApp Storeに申請しているアプリがAppleに何度もリジェクトを受けていました。 今回はそのアプリでやってきたことのまとめについて書きたいと思います。 申請したアプリはこちらhttps://itunes.apple.com/jp/app/love-diagnose/id796328387 単純にYes…

Google Analytics SDK 3.0 for iOS の実装について

iOS

アプリを出したら、ダウンロード数とランキングを追って分析しますね。 でも、継続されて利用されるものであれば、一日(月間)あたりの利用者数や滞在時間・利用されるViewの割合などがKPIとなってくると思います。 そこで参考になるのが、Google Analytics…

evernoteにプレーンテキストで貼付ける方法

evernote便利ですよね。 よくつかっていたのですが、evernoteに貼付けるテキストが貼付ける元のスタイルが反映されてリッチテキストになってしまうことに失望してすこし疎遠になってました。 プレーンテキストだけはれればいいのに! (疎遠になってただのエ…

iPhoneアプリにMAPPSを導入してみてーCPI型動画広告ー

紹介されてMAPPSの広告を自分のアプリ(https://itunes.apple.com/jp/app/id668291003)に導入した所感について書きます。 MAPPS : http://www.infonear.co.jp/services/mapps # 経緯 もともとは、セミナーであった方に紹介されたのがはじまり。 自分のアプリ…

iPhoneアプリでpush通知が広告収益の増加に効果があるのか2

push通知で広告収益に効果があるのか調べる検証の2回目。 (前回: http://kixixixixi.hatenablog.com/entry/20140119/1390061489 ) 通知を行うアプリ: https://itunes.apple.com/jp/app/id668291003 主なユーザは中高生。 DAU(Daily Active User)は4000…

ネット企業家の「家入一真」が出馬する都知事選挙について

知人の方から聞いた話が大変面白く、納得したのでここに記させていただきます。 ペパボ創業者の家入さんが先日出馬しました。自分は家入さんに出馬には好意的です。Camp FireやOn The Conerなども手がけていてIT関連で成功していて頭もキレるし、弱いものの…

iPhoneアプリでpush通知が広告収益の増加に効果があるのか

自身の運営するアプリでpush通知を行い、その影響で広告収益に効果があるのか検証してみた。 https://itunes.apple.com/jp/app/id668291003 こちらのアプリはボーカロイドの動画をキュレーションしていてユーザはそれを再生できるアプリ。 中高生などがユー…

iOS7で(iOS6っぽく)黒いstatusbarを表示する方法のメモ

iOS

すごい小手先で簡単なことなのに思わずに時間がかかってしまったので、備忘録として。 i0S7の画面でも黒いstatusbarを表示したいときに。 AppDelegateで navigationBar.barTintColorを黒に(navigationbarも黒くなります) Info.plistで Status bar styleをOpa…

Amazon SNS から iOS Push Notification を送ってみた

自分のアプリ(https://itunes.apple.com/app/id668291003) へ Push Notification 送ってみました。 AWSから格安で送信できるときいて飛びついてみました。 http://aws.amazon.com/jp/sns/ 参考にしたサイト: http://www.aguuu.com/archives/2013/09/amazon-…

AngularJS触れてみた

AngularJSというさくっと使えるJavaScriptフレームワークがあるときいて初心者の俺が少し触れてみました。 AngularJSとはフラウザ上でMVCを簡単に実現できるフレームワークです。 なにができるのかってことの前にMVCについて。 MVCとは M = Model (データの…

カジュアルゲームアプリをリリースしました

個人でつくったiPhoneアプリをリリースしました。 まいすぱ(仮) -美少女マインスイーパー-https://itunes.apple.com/app/id733497657 簡単なマインスイーパーのできるアプリです。 チュートリアルが必要なくて、再訪率が高いゲームというコンセプトでマイン…

ブログをたてました

このブログをたてました。 iOSエンジニア兼マークアップをしてまいます。 技術的なメモを残していく場所にします。