まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

iOS

GoogleAnalyticsのiOS SDKをpodspec側のdependencyにすると相性が悪い

GoogleAnalyticsのSDKのラッパーライブラリを作りたい そのためには、podspec側にdependencyを書いておく必要がある。こんな感じ。 Pod::Spec.new do |s| s.name = 'Example' s.version = '0.1.0' s.summary = 'A short description of Example.' 略 s.depen…

XcodeのSchemeで値を切り替える方法を探る

iOS

背景 APIの向き先とかをTargetを増やしてswiwt other flagsで#if DEBUGとか#if STAGINGでやってる。ので環境が増えるたびにtargetが増えていってしまうのでやめたい。 実行時に環境変数的に値を渡せないか SchemeのPre-actionsで追加する Build、Run、Test、…

Xcode上でImplicit declaration of function 'notify_cancel' is invalid in C99 でハマった

iOS

Pureeをcocoapodsで導入しようとしてたら Pureeが依存してるYapDatabaseというやつがCocoaLumberjackに依存してて、CocoaLumberjackのところでタイトルのエラーが出た。 Implicit declaration of function 'notify_cancel' is invalid in C99 notify_cancel…

SwiftでClassを作るときにNSObjectを継承するべき?

どっちを採用するべき? class Animal {} // or class Animal: NSObject {} こっちのにしておけばとりあえず間違いないとか、こっちを使うとこんな時に困るとかそういう指針が知りたい。 よさそうな回答 Swift native base class or NSObjectstackoverflow.c…

実プロジェクトにおけるSwiftっぽい書き方集が欲しい

勉強会とか開かれないかなー。こんなのを知りたい。自分用メモ。 UITableViewのDataSource、DelegateをジェネリクスでSwiftっぽく分離する。 UITableViewのSectionをEnumでうまいこと扱う Structの使いどころ Protocolの使いどころ カテゴリ拡張をProtocol E…

Swiftでreduceを使ってArrayからDictionaryを作る方法

how to convert array to dictionary swiftとかでググってもあんまでてこないから書いた。 以下、Qiitaに書いたやつ。 Swiftでreduceを使ってArrayからDictionaryを作る方法 - Qiitaqiita.com

iOSでのKenBurns効果

iOS

ポテチでKenBurns効果の発表がされてていいなと思ったのでちょっと調べたメモ。 発表の時に映画が趣味でとおっしゃっていて、だからこれに気づいたとのこと。そういう一見アプリ開発と関係ないことも何かに生きてくるってのはいい話だなぁーと思いながら聞い…

iOSでカメラと写真の利用許可の確認方法

iOS

そもそもどんな制限が可能か 機能制限(デバイス全体で使わせない) プライバシー制限(アプリごとに選べる) iOS7とiOS8でブライバシーの概念が違う 要はカメラの利用をアプリにさせるかってのはiOS8からできるようになったって話。 OS カメラ 写真(ライブ…

【第14回】potatotips(iOS/Android開発Tips共有会)で発表してきた

もう1ヶ月前の話だけど。メモ的な感じで残しとく。初めての参加だったけど色々な人と話せてよかった。聴いてるだけだといつも話しかけにくいけど、発表すれば誰かが話しかけてきてくれる。今年は話す側に回れるようにこれからもがんばっていこうと思う。 【…

【Swift】UIKitベースの画面でSpriteKitでエフェクトを追加する

iOSオールスターズでSpriteKitがUIKit上で使えることを知った iOSオールスターズというイベントに行ってきた。イベントレポート書こうと思ったけど、最速でいいのがまとまってたのでさぼりましたw ためになる発表が多かったけど、その中でも @ryusukefuda …

UIViewControllerTransitioningDelegate入門

iOS

背景 recruit-mp/RMPScrollingMenuBarController recruit-mp/RMPScrollingMenuBarController · GitHub このコードを見て初めてUIViewControllerTransitioningDelegateという存在を知りました。コード読んで少し理解はできたんだけど自分で最初から作れるかっ…

Swiftでジェネリクスが使われているメソッドを理解する

ジェネリクスが分からない BondっていうSwiftで関数型リアクティブプログラミングをするためのオープンソースがあります。試しに使ってみようと触ってるんですが、README通りに動かないのでライブラリのコードを眺め始めました。しかし、書いてあるコードが…

UIButtonをUITableViewCellっぽいハイライトにする

標準のUIButtonのSystemだとハイライトが文字が白くなるだけなので、それをUITableViewCellっぽくするというtipsです。 実装方法は、UIButtonのサブクラスを作ってStoryboardでカスタムクラスで指定するだけです。 1. UIButtonのサブクラスを作る @interface…

iOS8からの日付(NSDate)操作・比較

日付操作とか比較とかしようとか思ってググると、NSDateComponentsを使ったやつがよく出てきます。一旦NSDateComponentsを作ってから一つの要素ごとに足し算したりとか色々めんどいなーと思ってリファレンス見てたら、日付操作とか日付比較で便利なメソッド…

SwiftでバックグラウンドでもiBeaconを検知する方法

Swfitの練習のためにiBeaconのサンプル作って練習してみました。 mpon/BeaconSample iBeaconをバックグラウンドでも受信するポイントは、 Info.plistにNSLocationAlwaysUsageDescriptionを追加 CapabilitiesでBackground Modesでの位置情報の更新の設定を追…

SwiftでisKindOfClass:するにはダウンキャストを利用する

Objective-CでisKindOfClass Objective-Cだとid型で何かを受け取ることがあって、それを検査するのにisKindOfClass:使いますね。例えばこんな感じ。 - (IBAction)buttonDidPush:(id)sender { if ([sender isKindOfClass:[UIButton class]]) { NSLog(@"This i…

JenkinsのXcode pluginでXcodeのバージョンを切り替える方法

iOSアプリのビルド、テスト、アーカイブをJenkinsのXcode Pluginでやってる人向け。 古いiOSバージョンのアプリに対応するために古いXcodeが、 逆にiOS8をビルドするためには最新のバージョンのXcodeが必要です。 そのときに、Xcode Pluginで利用するXcodeの…

JenkinsのXcode pluginのCodesign Error

Xcodeを複数バージョン入れたせいなのかよく分からないけど、 JenkinsのSlaveで動かしてるXcode Pluginが以下のようなCodesignのErrorでビルドが通らなくなってしまった。 [BEROR]Code Sign error: No matching provisioning profiles found: No provisionin…

iBeaconのエントリポイント

1. Beaconに関するCLLocationManagerを作成する // 以下のメソッドの内容をinit系の処理で呼び出す - (void)initLocaitionService { // CLBeaconRegionを作成 // このとき、ProximityUUIDは、beacon製品で提供されたUUIDを使用する。 // identifierについて…

iOS Simulatorをコマンドライン (terminal) から終了する

Jenkinsで自動テストしてると、たまにiOS Simulatorがなんか固まってしまって、 次のビルドがこけてしまうときがある。 なので、ビルド開始時に起動しているiOS Simulatorを終了させたかった。次のコマンドでOK killall "iPhone Simulator"

Xcode5でcocoapodsを入れつつJenkinsでCI環境を作りつつXCTestが動くようにするまで

最近は、html、js、cssまわりをやっていたので、Objective-Cの案件に関わるのがすごく久しぶり。 cocoapodsはそろそろ当たり前っぽくなったのかな。 テストはXCTestというFrameworkになったことは、twitterとかでなんとなく見ていたので、その辺りを試してみ…

Xcode5でのOrganizerのRepositoriesがどっかいった

iOS

久しぶりにXcode5にあげたらOrganizerのRepositoriesがどっかいっちゃいました。 Xcodeの環境設定にあるよとのことだったんですが、そういうことじゃなくて、 iOSのプロジェクト以外でも、あのRepositoriesのところから、 Diffがグラフィカルに見れて、SVNの…