その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

Xcode

iOSの技術書をクラウドファンディングで執筆します - 共著者8人の紹介 #peaks_cc

「PEAKS」という技術書のクラウドファンディングサービスで、今日から9人の執筆陣によるiOSの解説書「iOS 11 Programming」のファンディングが始まりました。 PEAKS(ピークス)|堤 修一, 吉田 悠一, 池田 翔, 坂田 晃一, 加藤 尋樹, 川邉 雄介, 岸川 克己,…

API Diffsから見る iOS 11 の新機能 #WWDC17

今年はWWDC会場よりお送りしております。特に何も期待しないまま参加したのですが、開発者的には非常にワクワクする発表がたくさんありました。 基調講演の内容からではなく、ベータ公開されたiOS Dev CenterのAPIリファレンスを見て、個人的に/開発者目線…

iOS 10の新機能のサンプルコード集「iOS-10-Sampler」を公開しました

iOS 10でも大量のAPIが追加されました。が、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントやWWDCのセッション動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動…

【書評】初学者はもちろん、中級者にもオススメのAuto Layout解説書

著者の川邉さん(@jeffsuke)および出版社のリックテレコム様より『よくわかるAuto Layout - iOSレスポンシブデザインをマスター』をご献本いただきました。 タイトルの通りAuto Layoutの解説書で、豊富な図やスクリーンショットを用いて、非常にわかりやす…

iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました

iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一…

【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー

iPhone6,6Plus サポートとか LaunchScreen.xib とか Size Class とか考えると、もはや Autolayout は必須な感じになってきてます。 http://d.hatena.ne.jp/shu223/20141002/1412209257 で、Autolayout ✕ UIScrollView の例の問題(UIScrollView のサイズを s…

【oFセミナーメモ1】 boostライブラリの使い方

『デジタルアートセミナー#3 openFrameworksで学ぶ、クリエイティブ・コーディング』という一泊二日のセミナーに参加しています。 最終的なまとめは最後に書くとして、とりいそぎ本日受けたセッションのメモを載せていきます。 セッション1 : C++テクニック…

Xcode 6 時代のマルチデバイス対応 〜Size Classとベクター画像〜

とあるお仕事で、iPad をサポート(= Universal 化)してほしいという要望があり、せっかくなので iPhone 6 / 6 Plus (4.7 / 5.5 inch スクリーン)もサポートしようってことで、新しい Xcode 6 の新しい仕組みである Size Class を使って複数画面対応を行…

iOS 8 の新機能のサンプルコード集『iOS8-Sampler』を公開しました

WWDCでのアップルの発表によると、iOS 8 では4000以上もの API が追加されたとのことですが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりよくわかりませ…

【Xcode 6】delegateをセットするところで「incompatible type 'id'」なるwarningが出る件

たとえば下記のように、delegate プロトコルと、それをプロパティに持つクラスを定義し、 @protocol HogeManagerDelegate <NSObject> @end @interface HogeManager : NSObject @property (nonatomic, weak) id<HogeManagerDelegate> delegate; @end HogeViewController で下記のように `setD</hogemanagerdelegate></nsobject>…

【書評】中級者向けのUIKit解説本『UIKit徹底解説』

インプレスジャパン様より *1 献本いただきました。 UIKit徹底解説 iOSユーザーインターフェイスの開発posted with amazlet at 14.06.21西方 夏子 インプレスジャパン 売り上げランキング: 8,651Amazon.co.jpで詳細を見る 著者の西方夏子さんは、『上を目指…

【iOS8】HealthKit の Apple 公式サンプルを実機で動作させようとすると出るエラーの対処方法

アップルが公開している HealthKit のサンプル をビルドして実機にインストールしようとすると、 The excutable was signed with invalid entitlements. というエラーが出てアプリが起動しません(2014年6月10日現在)。 この対処方法について、WWDCのラボで…

開発者向け公開情報から見る iOS 8 の細かい新機能8つ

今まさに開催中のWWDC2014のキーノートでは、Swift、HealthKit、HomeKit、Metal、Extensions と、iOS 8 の言語レベル、新規フレームワークレベルでの大きな新機能について発表されましたが、従来フレームワークにもいろいろと有用な機能が追加されています。…

Xcodeの「全機能」を網羅した全752ページの超大作『Xcode 5 徹底解説』書評

先日 yidev 恵比寿勉強会 に行った際、隣の席にいらっしゃった @es_kumagai さんより、すごいプレゼントをいただきました。 この本を手に取ってまず驚くのが、その 752ページ(!!!!) という超特大ボリュームです。世の中に「徹底解説」を謳う解説本は数あれ…

第5回、第6回 #potatotips で勉強になったことのまとめ

例のごとく、『第5回 #potatotips』『第6回 #potatotips』について @hirama2 さんの記事を読んでキャッチアップさせていただきました。 第5回 #potatotips で発表された12個のiOSのtipsをまとめる - Think Big Act Local 第6回はUIEvolution開催! #potatoti…

IB上でカスタムフォントを選択してプレビューできるXcodeプラグイン『MoarFonts』

iOSでカスタムフォントを使う場合、いままで(自分の場合)は UILabelやUIButtonのサブクラスを作成(内部でfontプロパティをカスタムフォントで差し替える) IB 上で UILabel オブジェクトを置いて、"Custom Class" に 1 で作成したクラスを指定 IB 上でフ…

Objective-Cのクラスの依存関係を「D3.js」でビジュアライズするライブラリ

Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依…

iOSアプリ申請時に『The network connection was lost』エラーが出る場合の対処法

ずばり、 Xcodeを再起動する これでいけました。 ググって出てきた情報の中には「Apple社のサーバーの問題だからしばらく待ちましょう」みたいに書いてある記事もあったのですが、一晩待っても改善しなかったし、Twitter検索してみても同時間に同じように困…

【iOS7】プッシュ通知のバックグラウンド処理でハマったメモ

やりたかったこと: プッシュ通知を受け取ったときにアプリを起動することなく(バックグラウンドで)APIを呼ぶ これはおそらく「サイレントプッシュ通知(Silent Remote Notification)からの Background Fetch」の最も一般的な実装事例だと思うのですが、…

『上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編』書評

加藤さんをはじめとする豪華執筆陣による名シリーズの最新刊です。 上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編posted with amazlet at 13.12.20加藤 寛人 西方 夏子 藤川 宏之 鈴木 晃 高丘 知央 インプレスジャパン 売り上げランキ…

達人出版会で買えるiOSアプリ開発関連の電子書籍一覧

達人出版会から出ているiOS関連書籍では、『iOS5プログラミングブック』と、『エキスパートObjective-Cプログラミング』を購入済み(どちらも超良書なので紙で持っててさらに電子版も購入)なのですが、改めてサイトを見てみるとかなりの数が出ています。達…

バイナリに arm64 アーキテクチャが含まれているかを確認する

xcrun コマンドを使用します。 $ xcrun lipo -info <path_for_binary> たとえば AppSocially SDK について調べてみると、 $ xcrun lipo -info AppSocially.framework/Versions/A/AppSocially 下記のように、出力されました。 Architectures in the fat file: AppSocially are:</path_for_binary>…

iOS 7 の新機能のサンプルコード集『iOS7 Sampler』を公開しました。

iOS7にどんな新機能があるのかも把握しきれないままベータ期間が終わってしまい、せっかくのメジャーバージョンアップ祭に乗り遅れた感があったので、先週末に開催された『もくもく開発会@鎌倉 #2 by Qiita』にて、 iOS 7 で新たに加えられたAPI の使い方等…

Xcode の旧バージョンも Dev Center からダウンロードできるようです

昨日ついに Xcode5 が正式リリースされましたが、現行バージョンだけでなく、Xcode4.x、Xcode3.x や Xcode2.x も引き続き Dev Center からダウンロードできるみたいです。 まあXcode 4.6.3はダウンロードできるので。 https://t.co/IEcIelmHrU— kishikawa ka…

『iOS Simulator failed to install the application』エラーが出る場合の対処方法

Xcodeの某バージョンをつかっていると、某7.0では動くのに、6.1のシミュレータで動かそうとすると『iOS Simulator failed to install the application』って出て困る、という事態によくなります。 そういう場合は、iOS Simulatorメニュー > Reset Content An…

評判のいいiOSアプリ開発のTips ベスト20

『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿(※)を 20 個ほど紹介します。 (※) Facebook ページの insights にある「クチコミ度」で判断しました アプリ実行中にコードを修正してそのまま実行中の…

.ipa ファイル生成を自動化する

通常.ipaファイルを作成するには、Product メニューの Archive 実行後に、 Organizer から アーカイブを選択し Distribute ボタン押下 "Save for Enterprise or Ad-Hoc Deployment" を選択し Next ボタン押下 ドロップダウンリストから該当するプロビジョニ…

いまさら Git のブランチについて勉強したメモ

だいたい開発はひとりだったので、ローカル Git で master だけ使ってて不自由してなかったのですが、最近「ちょっとこれ試してみて」と言われたリポジトリを見てみたら、develop なるブランチを使用している。。 とりあえず git clone してみると、master …

$(SRCROOT) や $(BUILD_DIR) 等の Xcode で使用しているマクロの置換内容の一覧を調べる方法

Info.plistや、ビルド設定をいじっていると、こんな文字列に出くわすかと思います。 $(PRODUCT_NAME) $(TARGET_TEMP_DIR) $(SRCROOT) これらはそれぞれ特別な意味を持ち、Xcode がビルド時だか何だかのタイミングでプロダクト名とか環境に応じたパスとかに置…

Beta 版の Xcode で開いたプロジェクトが現行 Xcode で起動しなくなった場合の対処法

NDA があるので Xcode のバージョンがいくつとか、環境の細かいことは省きますが(そしてこの問題が他の環境でも起きているのか、起きているとしてこの対処法が通用するのかは不明ですが)とりあえず僕のところでは以下で直りました。 Xcode を閉じる(Beta…