Simple gadget life programming diary

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

2014-01-01から1年間の記事一覧

Twitter認証を要求する際、謎の401エラーとなるときの原因のひとつ

サーバの時刻が実際の時間とズレている。 VirtualBoxで開発している場合、立ち上げっぱなしでクライアントマシンをスリープしていると、エミュレートしているOSもスリープしてしまう。 その場合、エミュレートしているOSの時刻を正しく修正する必要がある。 …

railsでgenerateで生成したあとで取り消すコマンド

[hoge@localhost app]$ rails g controller plan create app/controllers/plan_controller.rb invoke erb create app/views/plan invoke test_unit create test/functional/plan_controller_test.rb invoke helper create app/helpers/plan_helper.rb invoke…

railsでhas manyオブジェクトをViewで編集する方法

ネストされたオブジェクトの中身を画面表示する。 has_manyで紐付いているオブジェクトの中身を表示する方法がわからなかったのでメモ。 モデルの構成は以下のとおり。 class Event < ActiveRecord::Base # attr_accessible :title, :body attr_accessible :…

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

iOS

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

Ruby(Rails)にAPI作成支援ライブラリGrapeで任意の返却値を返す方法

サンプルを見ているとRailsのモデルをそのまま返すというサンプルが多く、モデルのなかでも必要な項目(idやタイムスタンプを除いて)を返すというサンプルがなかったのでメモ。 module TestApp class API < Grape::API prefix 'api' version 'v1', using: :pa…

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が定義されていることが必須。 コードは以下の通り。 ちなみにモーダル…

Rubyでファイルのコピーと拡張子の変更を行うプログラムを書いてみた。

あまり綺麗なやり方では無いと思いますが、こうすれば出来ますよというサンプルということで載せておきます。(バージョンは2.0.0) ディレクトリを削除するにはディレクトリ内が空である必要がるので、先にファイルの削除をした上でディレクトリを削除。 その…

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

iOS

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

WordPressでBootstrapを使う際、画像サイズを可変させる方法。

WordPressが出力するimgタグをそのまま使った場合、Gridシステムを使ったとしても画像サイズは変更されず横が切れて表示されてしまう。これを回避するために以下の対応を行う。 投稿記事の場合 functions.phpに以下のコードを追記する。 やってる事は、一度W…

UNIXマシンでのオプションコマンド、ハイフンが1つの時と2つの時の違い

ハイフン1つと2つの違い。 Yahoo!知恵袋より GNU系のマシンのオプション指定。 ハイフン1つだと重ねることができる。 ex. ls -aF ハイフン2つだと重ねられない。

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…