アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


Objective-C

iOSオールスターズ勉強会 発表資料まとめ

これ今日行きたかったけど家で仕事。 iOSオールスターズ勉強会 - dots.[ドッツ] 悔しいのでTwitter追いながら発表資料見てる。 『Swiftで使いやすいAPIを考える』 株式会社ユビレジ 岸川克己氏 『let UIWebView as WKWebView』 ヤフー株式会社 佐野岳人氏 le…

iOS の Launch Imageを多言語化

Splashに英語以外の言語を入れている場合、 Splashも多言語化対応が必要になります。 Asset Catalogが他言語化対応していればいいのですが、 そうはなっていない様子。 色々やってたら出来たので、やり方メモ。 1. Splash@2x.png / Splash-568h@2x.png を作…

Sony QX10 を Sony Camera Remote API を使って制御する

(adsbygoogle = window.adsbygoogle || []).push({}); 何だか面白いカメラ、Sony QX10を使ってアプリを作ってみます。 SDKやドキュメントの配布はこちら https://developer.sony.com/develop/cameras/ SDKはAndroidのみで、iOS用はありません。 Githubに個人…

iOSとAWS S3を連携する

Objective-Cで、iOSからサーバーアプリケーションを介さずに S3に直接アップロードしたり、ダウンロードしたりしたい。 そんな欲望に駆られる事があります。 Amazon公式から出ているこちらのSDKを使うのが良さそうです。 Getting Started with the AWS SDK f…

FireChatが流行ってる。Multipeer Connectivityの記事まとめ

革新的なiOSチャットアプリ「FireChat」が話題に WIRED http://wired.jp/2014/03/31/apple-multipeer-connectivity/ 興味深いのは「近所」(Nearby)というオプションだ。 ここで、アップル(「iOS 7.0」以降)の「Multipeer Connectivity」フレームワークが…

Objective-Cでシングルトンクラス

メモ。 SingletonClass.h +(SingletonClass *)sharedInstance; SingletonClass.m +(SingletonClass *)sharedInstance { static SingletonClass *_sharedInstance; static dispatch_once_t pred; dispatch_once(&pred, ^{ _sharedInstance = [SingletonClass …

iOS7以降、UITableViewCellのsuperviewはUITableViewではない

iOS6までは、UITableViewCellのsuperviewはUITableViewでした。 が、iOS7から UITableView -- UITableViewWrapperView -- UITableViewCell という構造になったみたいです。 UITableViewCell内から、UITableViewを参照するような 作りをしていたものがあった…

Google Maps iOS SDKで全てのマーカーが入るようにズームアウト

こんなかんじ - (void)zoomMapToShowAllMarkers { CLLocationCoordinate2D myLocation = ((GMSMarker *)_mapView.markers.firstObject).position; GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:my…

AVFoundationで動画をリサイズ + 反転する

前回の続きで、動画を反転させる処理を加えました。 というのも、iPhoneやiPadって、撮影時のデバイスの向きによっては 書きだした際に反転してしまったりするのです。 撮影 => 書出し まではよくても、AVAssetExportSessionを使って変換した際に たぶんVide…

AVFoundationで動画をリサイズする(+関連記事まとめ)

現在AVFoundationで動画撮影アプリを作っているのですが、 日本語のドキュメントがあまりないですね。 しかも結構他にない概念が多かったりして公式の英語ドキュメントを読んで理解するのは 結構骨が折れます。 で、動画リサイズするのは以下みたいな感じで…

iOSに「LINEで送る」機能を実装メモ

LINEで送る機能をiOSに実装するには以下の2つのライブラリを使えばよいらしい LineKit LineActivity Objective-C (iOS): LINE で送る http://snippets.feb19.jp/?p=414 iOS で「LINE で送る」を実装する http://griffin-stewie.hatenablog.com/entry/2013/02…

AFNetworking 2.0でファイルアップロード

Objective-Cでサーバーとの通信を手軽に書けるAFNetworking。 もう手放せません。 現段階で最新は2.0.1です。 ファイルのアップロードはこんな感じでできました。 -(void)uploadFile:(NSData *) fileData { AFHTTPRequestOperationManager *manager = [AFHTT…

iPhoneで通信速度を制限して色々試す

こんなことできたのか。便利。 iPhone実機(iOS6.x)で通信速度を制限する http://qiita.com/yimajo/items/efd3a033ac42afd93714

焼きそばパンと後輩で学ぶObjective-C入門① 関数について

関数とは 「私がこう言ったら、まずこれをやって、次にこれをやって、最後にこれをやってね」 というプログラムに対する命令のまとまりのことです。 これを使うことでプログラミングはグッと楽に、楽しくなります。 なぜ関数が必要なの? プログラムはある意…

Your build settings specify a provisioning profile with the UUID

最近Macを新調して、以前開発したXcodeプロジェクトから Adhocを書きだそうとしててハマりました。 Your build settings specify a provisioning profile with the UUID みたいなエラーが出ます。 結論から言うと、.xcworkspaceではなく、.xcodeprojの方のRe…

Google Maps SDK for iOS で地図の中心の座標を取得する

projectionメソッドを使うことで、CGPointをcoordinateに変換することができる。 CGPoint point = mapView.center; CLLocationCoordinate2D coor = [mapView.projection coordinateForPoint:point];

Provisioning Profile の書き出しでLoadingのまま画面が固まった時は

iOS Dev CenterでProvisioning Profilesを書きだそうとして、 Loading.... のまま何分立っても処理が終わらない、という事態に悩まされた。 ググっても何も出てこないので、Twitterで検索してみたら、 @naoya_ito さんが同じ事態に陥っているのを発見。 iOS …

XcodeでアプリをsubmitするときのValidationg Error

アプリをアップデートしようと、XcodeからValidateしようとすると、 何度やってもタイムアウト or 以下のようなエラーが。 Unable to process application info.plist validation at this time due to a general error これ、完全にappleのサーバー側のトラ…

Facebook iOS SDK (3.5.3) このアプリをインストールしている友人を取得したい場合

これは便利やなー。 Facebookさん、あざっす! FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me/friends" parameters:@{@"fields":@"name,installed,first_name"} HTTPMethod:@"GET"]; [friendsRequest startWithCompletionHandler: ^(FB…

Facebook iOS SDK で、SDK内で行なっている処理をコンソールに出したい場合

Facebook iOS SDK結構やっかいですね。すぐバージョン変わるし、 変わる度に結構な変更があってややこしいです。 で、SDK内でどんな通信をしてて、FacebookのAPIから実際に返ってきている レスポンスの内容なんかをみたい場合に、 通信する前に以下を書いて…

自作クラスでのdelegate実装方法

objective-cの自作クラスで、自分でdelegateを作りたい時があります。 そんな時にさくっと実装するためのメモ。 デリゲート元のクラス MySample.h // デリゲートプロトコルの定義 @protocol MySampleDelegate -(void)sampleMethod; @end @interface SampleOb…

UIViewController内にUIViewControllerを貼り付けたい

UIViewControllerの中に、別のUIViewControllerを貼り付けて使いたい場合、 どうすればいいのかイマイチわからなかったんですが、 こちらのスライドで理解できました。 UIViewController のコンテナ機能 from Yuichi Fujishige

MagicalRecordのロゴって...

何で「棒」なんでしょうね。 MagicalRecord Objective-cの CoreData を簡単に扱えるようにするライブラリです。 すごくオススメですよ!

Facebook の SLRequestでエラーが返ってくる場合の対処法

Objective-cで、SLComposeViewControllerを使わずに SLRequestでFacebookへの投稿機能を実装したくて、 以下の記事を参考にさせてもらいながら実装していたのですが、 iOS6のSocial.frameworkを試してみた - 中継地点 何度試しても The Facebook server coul…

SLRequest に setAccountすると "Invalid account type for this request"というエラーが出る場合の対処法

iOSアプリ内にTwitterアカウントを保持しておく仕様のアプリを作っている時に、 アプリを閉じて復旧した際にNSUserDefaultに保存しておいた ACAccount.identifierからアカウントを復帰させると、 TweetしようとしてSLRequestにsetAccountすると "Invalid acc…

Blocks内でUIActionSheetやUIAlertVIewを表示したいとき

何か処理をした後にblocksのcompletion blocksハンドラ内で UIAlertViewやUIActionSheetを出したい場合、普通に実装しても出て来ません。 解決策として、メインスレッドで実行するようにすれば、 通常通り出ます。 ACAccountStore* accountStore = [[ACAccou…

UIView内に配置したUIButtonが反応しない場合の対処法

xibファイルで UIViewController |- UIView |- UIButton みたいな構成を作成したのですが、 プレビューしてもUIButtonがタップに反応しなくて、めちゃはまりました。 このような問題を生まれた手順 iPhone5ディスプレイサイズのxibファイルでUIButtonを配置…

AVCaptureVideoPreviewLayer の Video Gravity3種

AVLayerVideoGravityResize アスペクト比を変えてレイヤーに収める AVLayerVideoGravityResizeAspect アスペクト比を変えない。はみ出さないようにレイヤー内に収める。 AVLayerVideoGravityResizeAspectFill アスペクト比を変ない。レイヤーからはみ出した…

iOS5からデフォルトで用意されているJSONパーサー、NSJSONSerializationを使う

Objective-CでJSONをパースするには外部ライブラリを使わないといけなかったのですが、 iOS5から標準でNSJSONSerializationというクラスが用意されました。 使い方は以下。 url = @"http://url.json"; NSURLRequest *request = [NSURLRequest requestWithURL…

facebook SDK for iOS を落としたのに FacebookSDK.frameworkがリンク切れしてる!という場合の対処法

ターミナルでfacebook-ios-sdk-masterディレクトリに入り、 scripts/build_framework.sh コマンドを叩くと、FacebookSDK.frameworkが生成されます。