iOS Swift Objective-C

Setting up CocoaPods master repoが終わらない

pod setupで止まったままで何も進行ない状態の場合にすること pod setup --verbose でどこで止まっているのかを確認。 その他方法は、すでに色々とみんな書いているので、割愛

NSDictionaryから取り出したValueの型を判断するの巻(NSNumber)

NSDictionaryに bool or int を入れた場合、NSNumberに変換して入れると思いますが、 これを今度取り出す時にそれが元々 bool or int なのかを判断するのに手間取ったので備忘録を記載しておきます。 入れる時と取り出す時をこちらでハンドリングできれば、…

iphoneのホーム画面のように、デバイスを傾けたら、背景の画像も動く

iphoneのホーム画面のように、デバイスを傾けたら、背景の画像も動いて傾くっていうものを実装。 注意:imageViewは、画面のサイズよりも若干大きく設定をしておく x方向の指定 let xMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.x", type:…

Unable to find a specification for `XXXXXX`

[!] Unable to find a specification for XXXXXX エラーでPod installできない 下記をpodfileに追加 source 'XXXX.git' //GitのURL 参考:0.36以降では、プライベートのspecリポジトリを使っている場合、source指定が必要のようです pod installでのobjectiv…

iOSメモリ圧迫テストを実現する

iOSでメモリ圧迫時にkeyChainを読み込めないバグがあるという話を聞いたので、試してみる為に、 一旦メモリ圧迫時の環境をつくる事にしました。 今回やりたい事は、メモリ圧迫時の環境をつくる。なので、デブッグしたい処理の直前で、メモリを確保して圧迫し…

Xcode7.1にバージョンアップしたらAlcatrazが消えた!!

下記のコマンドで再度復活する! defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-7.1

import ""と<>の違い

ヘッダーのimport時に #import <hoge.h> と、書くか #import "hoge.h" と書くか迷う時がありますが、その違いについて、、、、 <>で囲む場合は、システムにあらかじめ用意されているフレームワークをimportする場合 ""で囲む場合は、自分で作成したフレームワークをi</hoge.h>…

xcodeのbuildsettingの情報を書き出す

xcodeのbuildsettingの情報を書き出す。 チーム開発していると、各Xcodeの環境がちがくてbuildエラーになることがあります。 xcodeの環境までは、ソース管理していないので、そこがネックになります。 なので、その設定を一覧で出せるコマンドを書いておきま…

xcodeビルドエラーとの戦い

Xcode6.3で実装中、ビルドが通らないエラーに遭遇したのでその時にやったのを備忘録的にのこしておきます。 ビルドすると下記のエラーに Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_nanostreamAVC", referenced from: __TTSf4g___TFC10xxxx…

自動ロックをさせない

[UIApplication sharedApplication].idleTimerDisabled = YES; 注意!アプリが終了する時は 「NO」に戻しておきましょうー!

充電器に刺さっているかをチェックする

UIDevice* device = [UIDevice currentDevice]; device.batteryMonitoringEnabled = YES; UIDeviceBatteryState deviceBatteryState = [UIDevice currentDevice].batteryState; NSLog(@"%ld",deviceBatteryState); UIDeviceBatteryState typedef enum { UIDe…

カメラ許可を確認するの巻

カメラアクセスの許可についてコード側から確認するサンプルを作成したので、載せておきます。 #import <AssetsLibrary/AssetsLibrary.h> #include <AVFoundation/AVFoundation.h> + (BOOL)checkPermissionOfCamera { NSString *mediaType = AVMediaTypeVideo; AVAuthorizationStatus authStatus = [AVCaptureDevice autho</avfoundation/avfoundation.h></assetslibrary/assetslibrary.h>…

xcodeのデバックで式を入れたりしてみる

これまた、調べていたら、ほんとに参考になったブログさんがあったので、紹介。 ブレークポイントで止めて po self てやると、selfの中身が見えたりします。 参考 Xcode5でLLDBデバッガコマンドを使ってみる - Object for cutie Xcode5でLLDBデバッガコマン…

レガシーな書き方を改善せよ

レガシーな書き方はやめようという話があったので、レガシーってなんだって事で、 いいブログさんがあったので、それを熟読しておこう。 Modern Objective-Cで実現するシンプルコーディングのススメ

viewがどんな感じに乗っかっているのかを確認する

NSArray* array =[(UINavigationController *)self.window.rootViewController viewControllers]; //確認 NSLog(@"%lu",(unsigned long)[array count]); for (id hoge in array){ NSLog(@"%@",hoge); }

layoutSubviewsについて纏めている方のリンク

とっても参考になったので、リンクを残しておこう layoutSubviewsとsetNeedsLayoutとsetNeedsDisplayとlayoutIfNeeded - minimalab ヒビノアワ: loadViewとviewDidLoadとself.view

iOSシミュレータの初期化

iOSシミュレータを使ってて、設定をあれこれいじって起動しなくなったりした時の対処法。 「iOSシミュレータ(iOS Simulator)」>「コンテンツと設定をリセット(Reset Content and Settings)」を選びます。 参考 iOSシミュレータのリセット | AS blind side

projectで使ったライブラリの書き出し

プロジェクトでOSSを使用する事があるかと思いますが、 Xcodeの場合、基本的にcocoapodsでインストールする事が多いと思います。 で書き出しですが、 cocoapodsで紹介されていたので、ここに備忘録として書いておきます。 Podfileに下記を追記 post_install …

facebook,twitterに投稿する

Social.framework使用してfacebook、twitterに投稿したサンプルを載せておきます。 また、ネットワークがつながっていない時は、こちら側で検知できるようにしました。 networkの状態確認は、Appleが公式ライブラリ「Reachability」を使用します。 まず下準…

Lineに画像を投稿する

Lineに画像を投稿するサンプルを作りましたので載せておきます。 + (void)postImageToLine:(UIImage *)imageName { UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; [pasteboard setData:UIImageJPEGRepresentation(imageName, 1) forPastebo…

coredataのdbは、どこに保存されるの?シミュレーター編

sqliteで保存したデータを確認する事はよくあるかと思いますが、 そのsqliteのDBはどのにあるのでしょうか? 下記のパスにDBがあります。 /Users/ユーザー名/Library/Application\ Support/iPhone\ Simulator/7.1-64/Applications/プロジェクトの番号/Docume…

クラスメソッドとインスタンスメソッドについて

objective-cでは、クラスメソッドとインスタンスメソッドがあります。 その違いは何なんでしょう。 クラスメソッドは、「+」で始まります。 インスタンスメソッドは、「-」で始まります。 て本に書いてあって、見れば分かるかもしれませんが、 その使い分け…

dispatchのcancelの方法を実践してみる

別スレッドでタイマーなど処理を行いたい場合にカーネルに登録できるGCDを使用できます。 このGCDはキャンセルもできるのですが、 今回は、他のクラスからcancelをしたいと思ったのでそのような書き方をしています。 正しい書き方かは分かりませんが、備忘録…

UIUserNotificationSettingsでiOS通知設定確認

アプリの通知について、インストール初回に許可を請うと思いますが、 その後ユーザがどのような設定になっているのかを確認したい場合って結構あると思います。 その場合のサンプルの備忘録を残しておきます。 今回、「UIUserNotificationSettings」を使って…

addsubviewされてないviewを消す

addsubviewばっかやっているとメモリリークおこしてどぼんなので、 解放したいときってあるかとおもいますが、 その解放で、addsubviewされていないviewを解放してどぼんするのも嫌なので、 そんな時に便利なのが「removeFromSuperview」です。 これをいれて…

ブロック構文の基本

blockについて「ブロックプログラミングトピック」を読んで少し理解する。 基本概要 ブロックオブジェクトは、その場限りの関数の本体を、CやCから派生した言語の式として作成する手段を提供します。 コールバックとして特に便利です。それは、ブロックが、…

レキシカルスコープ

レキシカルスコープ A { var x; } B { var x; // A内のxとは別物 C { var y; // Cの内側からしか見えない } } ブロックAの変数xとブロックBの変数xは同じ名前をもつがブロックが異なる為別のものである。またBの中ではCのようにさらに内側の変数を見ることが…

CocoaControlsPluginは、便利なので入れましょう

Cocoaでいいのがないかなーって探しているときに、便利なのが、 CocoaControlsPlugin 画像があるので、イメージがわいてとっても重宝しています。 参考 yeahdongcn/CocoaControlsPlugin

インデント自動修正

xcodeでのインデント自動修正 ctrl + i

複数の変数をまとめて宣言

long hogelong, hogelong2 , hogelong3;