Simple gadget life programming diary

Simple gadget life の中の人によるプログラミングメモ

iOS

Swift事始め。サンプルプログラムを作ってGitHubへアップロードしてみた。

これまで、自分のアプリ作成(もう少しかかる。。)やサーバサイドの学習をしていた関係上、Swiftに手を出さないままここまで来てしまいました。 アプリ作成のモチベーションアップのためにもこの辺でSwiftにシフトするのもありかなと考えてちょっとGW中に触っ…

iOSでセクションタップ方式のアコーディオン型TableViewライブラリを作ってみた。

iOS

UIKitのUITableViewだとどこかをクリックすると伸び縮みするようなジャバラの構造にはなっていません。 また、 実現するためにはそこそこのコードを書かなければなりません。 幾つかサンプルのコードがあったけれど、セルの1行目をセクションヘッダーに使っ…

UITableViewの上にヘッダー分の隙間が開くときの対処法

iOS

発生するタイミング StoryboardでViewControllerに対してUITableViewを最初に貼り付けた場合。 ViewControllerのオプションで"Adjust Scroll View Inserts" がオン または "Under Top Bars"のチェックがオフになっている場合。 上記は以前ScrollViewで起こっ…

App Extensionでアプリ間連携をした際、host appの挙動調査

iOS

こちらのサンプルを使用させていただきました。 [iOS 8] App Extension #4 – Action Extension | Developers.IO ※今後追加していく予定。 ・host側のアプリはバックグラウンドには入らずcontain appを呼び出す。 ・contain appでは通信可能? →webViewは動…

iPhoneアプリでOAuth2.0認証からInstagramのAPIを叩いて情報を取得するまで。

iOS

InstagramなのでOAuthは2.0。 Webへのアクセスは有名ドコロのライブラリを使用。 使用するライブラリ OAuth2 : OAuth2Client HTTP通信 : AFNetworking 画像の非同期ダウンロード : SDWebImage 各ライブラリの詳細については以下の参考情報を参照。 参考情報 …

UIScrollViewで上に余分な隙間が出来てしまう時の回避方法

iOS

追記 こちらに解決方法を書きました。 UITableViewの上にヘッダー分の隙間が開くときの対処法 - Simple gadget life programming diary SCrollViewのエリアをグレーに、貼り付けるViewを赤にして再現。 ちなみにグレーのエリアと赤いViewは同じ高さ。下のキ…

プログラム上でStoryboardのViewControllerを呼び出す。

iOS

Storyboardの名前はファイル名。 デフォルトだと「Main_iPhone.storyboard」となっていて、拡張子より前の部分が名前となる。 呼び出すViewControllerはStoryBoardの定義でStoryBorad IDが定義されていることが必須。 コードは以下の通り。 ちなみにモーダル…

Mac移行後にiOSアプリをリリースする際は"Provisioning Profiles"の移行もやっておく

iOS

タイトルのままですが、リリースするときにすぐに分からなかったのでメモ。 リリースする際にXCodeの以下の場所で「Provisioning Profiles」の設定を行う。 Project→Build Settings→Provisioning Profiles うまくProvisioning Profilesが設定されていない状…

iOSアプリのバージョンアップ申請手順

iOS

iTunes Connectへログオンし、 Manage Your Apps→対象となるアプリアイコンを選択→New Versionと書かれたエリアのボタンをクリック。 書かれている内容に従って選択し、Waiting For Uploadとなるまで進める。 その後はこちらの「Xcode でアプリをビルドして…

Xcodeでコードに自動設定される"Created by"と"Copyright"の元ネタ

iOS

Xcode5にて調査。 "Created by"について →システム環境設定→ユーザーとグループ→現在のユーザーにて表示されているフルネーム "Copyright"について →Xcodeでプロジェクトを新たに作成する時に入力するOrganization name

デバッグ時のみ有効となるようにNSLogをマクロ化して使う

iOS

デバッグ時にNSLogを使って動作確認するが、本番モジュールでは無効化したい。 そのため、マクロを用いて別関数名で定義する。 //ヘッダーimport文の下あたりに定義 #if DEBUG #define MyLog(fmt,...) NSLog((fmt),(__VA_ARGS__)) #else #define MyLog(fmt,.…

Objective-Cのプロトコルの宣言と定義について。

iOS

ネット上で各種サンプルをみていると、宣言時と定義が同じタイミングで行われており、戻り値の定義でvoid以外が使えなかったり、引数にNSArrayや独自クラスなどが使えなかったりしていた。 どうすれば使えるかという事についてメモ。 //ヘッダーファイル #im…

XCTestによるユニットテストにおけるテストメソッドの書き方

iOS

必ずメソッドの最初の文字は"test"とすること。 ex.testExample こう書かないと反映されない。 マニュアルは現在存在しない? 古いものならあるっぽい。→ Xcodeユニットテスト ガイド 上記のマニュアルではユニットテスト結果マクロの書き方が"STxxxxx"とな…

CocoaPodsの導入で参考になったサイト

iOS

CocoaPodsとは ライブラリ管理ツール。Rubyのgem、Linuxのyumみたいなもの。 参考になったサイト いろいろ見て回ったけど、これが個人的にわかりやすかった。 Objective-C - CocoaPodsでPodの利用&作成のメモ - Qiita [キータ] 導入後の注意点 XCode起動時…

gtm-oauth2を使ってinstagramのアクセストークンを取得する。

iOS

このサイトが分かりやすい How to Use OAuth 2.0 with KinveyKit iOS Tutorial | Kinvey 注意点 リダイレクトサイトを入力する際、最後にスラッシュを入れる事。 ○:http://goes-nowhere-does-nothing/ ×:http://goes-nowhere-does-nothing スラッシュを入…

Objective-Cにおけるカテゴリとは

iOS

既存のクラスにメソッドのみを付け加える事。 継承はクラスすべてを引き継ぎ、オーバーライドやインスタンス変数を加えたりできるが、それとは違う。 あくまでメソッドを追加するのみ。 カテゴリを使う場合の注意 Other Linker Flagsの設定に"-ObjC"をつける…

iPhoneアプリで3.5インチ端末と4インチ端末を見分ける判定文

iOS

突貫だったので、このメソッドをAppDelegateに作成。 スクリーンサイズを取得して4インチかどうかを判定するだけの文。 これをif文の条件として使い、Viewの配置の考慮に使う。 判定分 -(BOOL)is4inchDisplay { CGSize screenSize = [[UIScreen mainScreen]…

XCode5でリリースの際に参考になったサイト

iOS

XCode5用リリース手順 よく分かる!iOS アプリのリリース手順のまとめ | Developers.IO4-Inch Retina Display Screenshots ... XCode4時代にお世話になったページ 【まとめ】iPhoneアプリ Xcode4での iTunesConnectへ申請する方法まとめ - 暇人がゼロからiP…

OAuth認証ライブラリを探してみた。

iOS

OAuth1と2ってどっちを使えばいいか? 通信を行うAPI次第。現在の所多くは1を使っている。 ライブラリの導入でわかりやすそうなページへのリンク OAuth1 [XCODE] iOSアプリでOAuth認証を行う、はてブAPIを利用する - YoheiM .NET OAuth2 φ( ̄ー ̄ )メモメモ iOS…

Xcode(iPhoneアプリ)のプロジェクト名の変更メモ

iOS

こののサイトがとても参考になりました。 万が一のために必ず今あるプロジェクトをコピーした上で変更作業を行いましょう。

iOS7ではAlertViewの文字の色は変えられないのか?

iOS

困っている事 このView中の青い文字を違う色にしたいのだが出来ない。 やってみた事 UIAlertView *alert = [UIAlertView new]; alert.tintColor = [UIColor colorWithRed:0.498 green:0.275 blue:0.718 alpha:1.0]; 結果は青色のまま。 stackoverflowにも書…

iOSアプリのバージョンを表示するメソッド

iOS

TableViewなどに表示する際に使用するメソッドがこれ [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; NSString形式で取得できる。

iOS7用&4inch iPhone用のアイコン画像とスプラッシュ画像の設定方法

iOS

アイコン画像 用意する画像サイズ:120×120の.pngファイル ファイル名:Icon-60@2x.png Xcodoでの設定方法 ファイルの置き場所:多分どこでもよい どうすれば認識してくれるの?:Project→Targets→アプリ名の順にクリック Generalの中にApp Iconsという項目…

imagePickerのナビゲーションバーの文字の色を変更する

iOS

こんな事が出来る やり方 UIImagePickerController *picker = [UIImagePickerController new]; picker.navigationBar.tintColor = [UIColor colorWithRed:0.498 green:0.275 blue:0.718 alpha:1.0]; [self presentViewController:picker animated:YES comple…

UInavigationBarの色の変更とオリジナルボタンの設定

iOS

こんな事が出来る やり方 色の変更 self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.498 green:0.275 blue:0.718 alpha:1.0]; ちなみにツールバーの色の変更はこんな感じ UIToolbar *_toolbar; _toolbar.tintColor = [UIColor…

iOS内でアイコンフォントを使う方法

iOS

こんな事が出来る やり方 ionicons-iOSというライブラリを使用する。 CocoaPodsを導入していない場合、githubからライブラリをダウンロード。 plistへの設定も忘れずに。githubに詳しく書いてある 14/5/30追記 CocoaPodsに導入する際は、podfileに以下の記述…