View Controller Programming Guide for iOS.md iOS View Controllerプログラミングガイド View Controllerの使い方 Storyboard上でのView Controllerの使い方 storyboard上で、initial view controllerから他のview controllerに対してrelationshipを確立します。同様に、それらのview controllerから他のview controllerにrelationshipを確立します。最終的に、storyboard上のほとんど、あるいは全てのview controllerを一つのグラフに接続します。接続されたview controllerが、iOSによっていつインスタンス化されるかは、relationshipのタイプによって決まります。 rel
これまでxibファイルで[Top Bar]からNavigationBarを選択して、そのNavigationBarの下にViewを配置していたのだけれども、 iOS7でビルドするとNavigationBar領域に配置したViewが食い込んでしまっていた。 コードの場合は下記で対応。 - (void)viewDidLoad { [super viewDidLoad]; if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone; } もしくはStoryboardの該当のViewControllerを選択して[Extend Edges]の[Under Top Bars]のチェックを外す。 こうすることでiOS7でNavigationBa
起動中の iOS アプリの情報を取得するには、次のように書きます。 // アプリバージョン情報 NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; // ビルドバージョン情報 NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 例えばアプリ上でお問い合わせメールを送れるようにした場合、これを使えばお問い合わせをしてきたユーザがどのバージョンのアプリを使っているのか知ることができますね。 iPhone ユーザはしばしば古いバージョンのアプリを使っていることがあるので。 参考: iOS アプリでバージ
iOSアプリから、そのアプリが実行されているデバイス(端末)の種類を取得する方法を紹介する。 用途としては、サーバ連携があるアプリで、実行デバイスの情報を収集する等が考えられる。 <ソースコード> // 使用するクラスで「<sys/sysctl.h>」をインポートしておく size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *deviceName = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; free(machine); NSLog(@"デバイ
iPadだったらこうするiPhoneだったらこうする。はたまた、iPhone 4は良いがiPhone 3GとiPod touch 2Gはメモリが少ないのでこの機能をドロップするなど、端末のモデルによってあれしたいこれしたいという事が多々あると思います。 端末情報を取得する方法についてご紹介したいと思います。 iOSのシステムバージョンを取得する iOSのシステムバージョンを取得するには、UIDeviceクラスのsystemVersionプロパティを使用します。 UIDevice* currentDevice = [UIDevice currentDevice]; NSString* sysVersion = [currentDevice systemVersion]; モデル(機種名)を取得する モデル(機種名)を文字列で取得することができます。UIDeviceクラスのmodelプロパティ
iOS9からURLスキームの使用に関する変更があり、 従来のopenURLを実行するだけではカスタムURLスキームの遷移が使用できなくなりました。 ※Apple公式のURLスキーム(ブラウザを開くなど)は正常に動作します。 状況と対策についてまとめます。 iOS8までは有効なカスタムURLスキームによる遷移 // Objective-C NSURL *url = [NSURL URLWithString:@"originalscheme://"]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; } // Swift let url = NSURL(string: "originalscheme://")! if (UIApp
iPhone - UDID確認アプリが全くアテにならない件 - Qiita というのを見かけて、なんとなくまとめてみたくなりました。 Appleは端末を固有識別しようとする試みを挫こうとします。ただそれは 横断的に固有識別を行おうとしている ケースだけであって、UUID(Universally Unique IDentifier)の生成・利用に対しては基本的に寛容です。 UDID (Unique Device IDentifier) AppleのiOS製品にはUDIDという概念があり、端末毎に一意の識別子が振られています。 [[UIDevice currentDevice] uniqueIdentifier]; によって取得ができましたが、iOS6からは利用するとリジェクト対象となり、iOS7からは返却される値がUDIDではなくなり、FFFFFFFFとidentifierForVendor
UIWebViewのインスタンスを生成した後にUserAgentの設定をしようとしても反映されません。 実際に使うWebViewを生成する前に設定処理を書きます。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //デフォルトのUserAgentを取得するために、サイズゼロのUIWebViewのインスタンスを生成 UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero]; //デフォルトのUserAgentを取得 NSString *userAgent = [webView stringByEvaluatingJavaScriptFromStri
こんにちわインケンです。 先月からswiftを始めました。Obj-Cもまともに触ったことないし、全くのiOS初心者です。 「はじめてのアプリ」みたいな初心者本はいくつか読んだのですが、もうちょっと突っ込んだ情報が欲しいなーと作りながら思っていたので、同じような境遇にいる初心者の方の参考になれば。 Xcodeのバージョンは6.3.1です。 完成はこんな感じ ソースはこちら https://github.com/inkenkun/RssReader ストーリーボードは使わず、カスタムセルのxibとコードのみで作りました。 タブというかメニュー型のカテゴリがあってスワイプすると、そのカテゴリの記事の一覧に切り替わります。 一覧の記事をタップすると右の詳細ページへ。詳細ページはWEBブラウザになっています。 使用するライブラリ 使用したライブラリはこれ Alamofire https://gith
こんにちは。iOS / Mac 開発担当の金内です。 使って幸せなアプリには、サクサクとした動きが欠かせませんね。自分たちで作っているアプリが「サクサク」でなく「もっさり」と言われてしまうと残念な気持ちになりますが、反面「よし。こうなったら超最適化して超サクサクなハイパフォーマンスアプリを目指す!」と誓いを立てるよい機会でもあります。 そんな誓いを立てたあなたにピッタリのツールが Xcode に付属している Instruments(インストゥルメンツ)です。フェンリルのウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad の開発でも大活躍しています。 Instruments は、一般的にはプロファイラという種類のツールにあたります。プロファイラは、どのオブジェクトがどれくらいメモリを消費しているとか、どのメソッドにどれくら
Naming MethodsMethods are perhaps the most common element of your programming interface, so you should take particular care in how you name them. This section discusses the following aspects of method naming: General RulesHere are a few general guidelines to keep in mind when naming methods: Start the name with a lowercase letter and capitalize the first letter of embedded words. Don’t use prefixe
iOS アプリから GitHub のアカウントで OAuth ログインするというのをやってみた。環境は Xcode 6 beta 4 と Swift。 参考にしたサイトはこちら。 » iOSアプリでGithubにOAuthする – yaakaito.org それから公式ドキュメント。 » OAuth | GitHub API 最初に GitHub の Applications にてアプリケーション登録をして Client ID と Client Secret を取得。Authorization callback URL にはカスタムURLスキームを設定する必要がある。 ちなみにカスタムURLスキームのスキーム部分にピリオドが入っているとエラーになるので、 com.fkoji.someapp:// のような Bundle ID を元にしたURLスキームは使えない。someapp:// のよう
https://itunes.apple.com/search?term=beatles&country=JP&lang=ja_jp&media=music { "resultCount":50, "results": [ { "wrapperType":"track", "kind":"song", "artistId":136975, "collectionId":458032395, "trackId":458032429, "artistName":"ビートルズ", "collectionName":"1", "trackName":"Let It Be", "collectionCensoredName":"1", "trackCensoredName":"Let It Be", "artistViewUrl":"https://itunes.apple.com/jp/artis
RedditAPIのSwiftラッパーがないのでswiftでAPIのラッパーを作ってみた -> reddift ダウンロード後のコールバックをブロックで渡す エラーオブジェクトをひとつにまとめる genericを使う result型を作ってSuccessとFailureを定義すればひとつのオブジェクトで成功とエラーを内包できる 演算子定義と組み合わせると綺麗だけどぱっと見よくわからないコードになる 議論 Result<A>とかで書くと綺麗 他の書き方もある -> flatMaps 読みやすいか、書きやすいか、デバッグしやすいかを議論したい [Android] Fragment in Fragment nankiti様 初心者がAndroidを作って詰まったところ 親Fragmentによって子のFragmentの状態を変えたかった 子Fragmentの実装で、標準のライブラリで横にスクロール
iOS/Androidアプリを作る際に理解しておいて欲しい「Model」という役割について説明します。わりと意識していないケースがあるので、チェックしてみてください。Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く