You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
iPhone アプリを Xcode のメニューからユニバーサル化できますが、多分やり方が悪いのだと思うのですがどうもうまくいかないので面倒なので手作業でやることにしました。(アップルのマニュアルには必ず Xcode のメニューからやれって書いてあるので、やるときは自己責任でお願いします。) 手作業でできると iPad アプリを先に作ってそれをユニバーサル化することもできるので覚えておいて損はないと思います。 plist で iPad 用の Main nib ファイルを設定する info.plist で Main nib file base name に “MainWindow” が指定されていると思います。この nib ファイルがアプリの起動時に使用されます。そこで iPad のときに使用する nib ファイルを “Main nib file base name (iPad)” を追加して
多くのiOSアプリはサーバーとの通信が必要で、やりとりされるデータのフォーマットにはJSONが採用されることが多いと思います。 iOS 5からは標準ライブラリにNSJSONSerializationが導入され、特に理由がなければJSONのエンコード/デコードにはこれを利用します。 NSJSONSerializationが扱うオブジェクトは以下の5種類のオブジェクトです。 NSString NSNumber NSArray NSDictionary NSNull そこで心配になるのが、予期しないところにNSNullが入ってきて”unrecognized selector sent to instance.“となってしまうことです。 NSNullではなくてnilが入っていてほしいと考える人は多いようですが、そもそもNSArrayやNSDictonaryはnilを含むことはできず、 そのような状
iOS7のリリースは、アプリに関わる企業や開発者にはビッグインパクトとなった。フラットデザインに一新されたiOSに対し、どのような開発戦略をとるべきか。率直に言えばiOS6をサポートすべきか、あるいはいっそiOS7専用アプリを作るべきか。この問題に頭を抱えている担当者は多いだろう。 多くの企業は条件反射的に、「1世代前のバージョンはサポートすべき」と保守的な安全策を考える。だが本当にその選択は安全策なのだろうか? 見えていないコストやリスクはないのだろうか? 本記事では、mixpanel.com が公開するiOS推移の統計データと過去のiOS移行をベースに、iOS7のサポートとどう向き合うべきか考える。 iOS7は史上最速で普及しているChitika.comの統計データによれば、iOS7への移行は、前年のiOS6時よりも急ピッチで推移してる。 リリース7日間におけるiOS6とiOS7の普及
x-callback-url とはURLスキームを利用したアプリ間連携の仕組み。他アプリを呼び出すだけでなく、その名(コールバック)の通り呼び出し元で結果を受け取るまでの一連の動作を定めている。 x-callback-url 現在は 1.0 DRAFT...
iOS 6から導入された Autolayout(オートレイアウト)を最近になって本格的に使うようになりました。 4-inch の iPhone が主流になりつつある中、アプリを Autolayout に対応させるのはほぼ必須といっても良いと思います。Storyboard と格闘してなんとかコツはつかめたものの UIScrollView だけは一筋縄ではいかず苦労しました。 というわけで Autolayout に対応した画面で UIScrollView を使う時のコツをまとめてみました。 なおこの記事で説明する内容は Storyboard 上で Autolayout がオンになっていることが前提になっています。 Autolayout 対応画面で UIScrollView を使うための2種類の方法 Autolayout に対応した画面で UIScrollView を使うには以下の2つの方法があ
CocoaPodsって何? CocoaPods/CocoaPods · GitHub CocoaPods は Objective-C のライブラリ管理ツール。Ruby の Bundler みたいなもの。 開発中の iPhone アプリでカレンダーが使いたくなって TapkuLibrary を README を見ながら導入したんだけど、プロジェクトにファイルを追加したり設定を変更したりと苦労した。 ライブラリを追加するたびに毎回同じような思いをするのは嫌だと思っていたところに、CocoaPods の存在を知ったんで飛びついてみる。 CocoaPods のインストール CocoaPods は Ruby の gem として提供されている。以前は MacRuby が必要だったみたいだけど、今ではシステムの Ruby でもインストールできるようになった。 gem install cocoapods
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
社内で書き残していた内容をブログに書き写した内容となります。個人アプリをiOS7に対応させた時に書き残した内容なので掲載画像がアレですが気にしないでください。 ①アイコンの追加対応 iPhoneで1種類、iPadで2種類増加されました。iPhoneが1種類しか必要ないのは対応バージョンに非Retinaが無いためです。 iPhone(120x120) ・Icon-60@2x.png iPad(76x76/152x152) ・Icon-76.png ・Icon-76@2x.png ②storyboardで作成した箇所のレイアウトが崩れる対応方法 Xcode4.6以前で開発していたプロジェクトをXcode5で起動し、初めてstoryboardを開いた時にstoryboardで作成した全レイアウトを自動調整してくれる。もしくは警告にそれっぽいメッセージがあるのでクリックすると自動修正されます。それ
iOSについては環境の進化が速く、書籍の内容が古くなっていることがほとんどなのですが Android開発を始めたばかりの僕が読みたかった本が面白かったので自分も似たようなことを書いておきます。 詳解 Objective-C 2.0 Objective-Cのメモリ管理の仕組みであるリファレンスカウンタについて理解するために購入。現在発売中の第3版ではARCについても記載されているので最新のものを買うのが良いです。 Objective-Cの特徴であるカテゴリやプロトコル、KVOについても詳細に記載されているので何度も読み返すことになると思います。 Amazonへのリンク: 詳解 Objective-C 2.0 第3版 iOS開発におけるパターンによるオートマティズム マイナビでiPhoneアプリ開発の連載を持たれていたHMDTさんの書かれた本です。 UIやメモリ管理、実際のモデル設計など盛りだ
kishikawakatsumi/SECoreTextView · GitHub iOS/Macの両方で使えて、文字の選択やリンクのクリックに対応したテキストビューをテスト公開しました。 - 24/7 twenty-four seven 前に書いたSECoreTextViewに編集機能を実装しました (iOSのみ)。 SECoreTextViewはCoreTextを使って簡単にクリッカブルなリンクや画像付きのリッチテキストを表示できるテキストビューの代替実装としてのライブラリです。 以前のものはそこそこ簡単に豊かな表現ができるのでこれはこれでけっこう実用的だったと思います。 ↓ このように画像を含めたテキストを表示したり、リンクはクリックに反応して任意の処理をすることができます。 画像に限らず、画面に表示できるものはボタンでもその他のビューでもブロックを渡して任意の描画をすることも可能です
iOS 開発で QR コードや JAN バーコードを読み取ろうかと思ったら、ZXing, ZXingObjC, ZBar などの利用が考えられますが、ZXing は組み込みが少し面倒で、ZingObjC は導入が簡単でも動作が(ZXing, ZBar に比べて)少し遅く、ZBar は認識が早いがライセンスが LGPL でクライアントへの提案が難しかったりとしっくりくる物がなかったのですが、iOS7 アップデートで標準 SDK に QR の読み取り機能が追加されたおかげで一気に問題が解決しそうです。iOS7 SDK 以降というのが少し痛いですが標準 SDK で利用できるというのは大きな利点です。 早速実装コード 以下、実装コードです。iOS7 SDK, Xcode 5 で、 Single View Application を選択して、ViewController を実装します。 ビルド設定で
Xcode4.2 エラー画面 Xcode4になってから、いまいちデバッグがうまくいかない理由に、止まってしまう場所が、 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); の行で止まってしまう場合が多いのがありますよね。この時に、どこで止まったのか分かるときはいいですが、いろいろな画面の中でどこで止まったか分からないときはデバッグ困りますよね。その対策法を見つけたので書いておきます。 試しに、エラーが起こるプロジェクトを作ってみました。 - (void)viewDidLoad { NSMutableArray *arrray = [NSMutableArray arrayWithCapacity:0]; [arrray objectAtIndex:10]; [super vie
Leopardで大幅に手を加えられたObjective-Cのランタイムですが、Snow Leopardでもちょこっとだけランタイムに手が加えられました。それがAssociated Objectです。こいつはあるオブジェクトに対してキー付きで任意のオブジェクトをひも付けすることができるもので、ランタイム関数を使うことで簡単に扱えます。コードはこんな感じ。 id obj = ...; // 任意のオブジェクト NSString *key = @"key"; // キー objc_setAssociatedObject(obj, key, @"value", OBJC_ASSOCIATION_RETAIN); objc_getAssociatedObject(obj, key); // → @"value" が取り出せる objc_setAssociatedObject()で、オブジェクトに他の
Tweet iOS 3.1からobjc_set|getAssociatedObjectが使えるになりました。 これにより、カテゴリでできなかったインスタンス変数の追加もできるようになります。 百聞は一見にしかず。 例として、UIColorにtagというプロパティを追加して値を保存するようにしてみましょう。 #include <objc/runtime.h> @interface UIColor( aso ) @property (nonatomic,readwrite) int tag; @end @implementation UIColor ( aso ) - (void) setTag:(int)value { objc_setAssociatedObject( self, @"tag" , [NSNumber numberWithInt:value],OBJC_ASSOCIATIO
Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n
はじめに いろいろと iOS アプリ開発を勉強中の諏訪です。 今回はデバッグ時に特定のブレークポイントを指定した場所で変数の値を変更する方法を調べたのでメモしておきます。 何かの処理中にここの値が変わったら、どう動くかという確認をしたいときに便利です。 デバッグ中に変数の値を変更する 今回は以下のコードで試したいと思います。Button をタップすると Label の text に value を代入するというシンプルなコードです。この value の値をデバッグ中に変更します。 - (IBAction)button:(id)sender { NSString *value = @"Button clicked."; _label.text = value; } 1.ブレークポイントを設定する ブレークポイントを設定するには行番号をクリックします。すると下図のように青色に変わります。 この
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 最近よく使っている省略記法を紹介する。これらを使うとなんとなく気分がいい。 クラスメソッドの . (ドット)アクセス 実はクラスメソッドも .(ドット)表記が可能になった。 [SomeClass sharedInstance] ↓ SomeClass.sharedInstance当然ながらさらにメソッドも重ねられる。 SomeClass.sharedInstance.localNameXcodeではクラスメソッドの.表記は補完が効かないのが難点。ただしそれ以降のメソッドは補完してくれる。 例えば SomeClass.share... ここまでは補完しないが、SomeClass.sharedInstance.local.. ここまで来ると補完できる。 インスタンス作成 (1)newお馴染
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く