iOS

Xcodeで日本語の変数名が使えるようになりました

iOS

最近はiOS開発現場でもXcode4からXcode5への移行がすすんできました。 Xcode5ではUIも含めていろいろと変わった部分がたくさんありますが、実は日本語変数名が使えるようになっているんですよ。 Xcodeのコンパイラの歴史 Xcodeで使えるコンパイラは、古くはg…

クリスマスっぽいスクリーンキャプチャーにしてみる

iOS

※これはVOYAGE GROUP エンジニアブログ:Advent Calendar 2013の8日目です。 @TachibanaKaoruです。 今日はアドベントカレンダーの記事ということで、ちょっとクリスマスっぽいことをしてみますね。 スクリーンキャプチャーについて iPhoneでは、ホームボタ…

Botプロジェクトの設定(自サーバー上)

Botエントリシリーズの3つ目です。 Botの概要を知りたい方はXcodeでBotを設定するから、サーバー設定を知りたい方はBotのサーバー設定から読んでみてください。 このエントリでは、Botと同じサーバーにgitリポジトリを作り、それをBotで自動インテグレーシ…

Botのサーバー設定

iOS

Botエントリシリーズの2つ目です。 Botの概要を知りたい方はXcodeでBotを設定するから読んでみてください。 このエントリでは、Botのためのサーバー設定を行います。 Mac OSX Serverのインストールと、Xcodeサーバーの起動・設定をおこないます。 Macの準備…

XcodeでBotを設定する

Xcode5の新しい機能として、 Botという継続的インテグレーションツールが導入されました。 アプリ開発時に、ソースコードを書く以外の部分を担当してくれる、たよりになるツールです。 自動的にビルド・テスト・リリースまでしてくれるので、ちょっと楽に開…

AVSpeechSynthesizer による音声読み上げ

iOS7からAPIが公開された音声読み上げ機能。 これを使うと、アプリに読み上げ機能をつけることができます。 メールを読んだり、ニュースを読んだりしてくれるアプリもできるかも。 ……と期待して、ちょっと使い方をまとめてみました。 (iOS7.0.2、Xcode5.0、i…

カテゴリーとクラスエクステンション

カテゴリーとクラスエクステンションは、Objective-Cで使えるクラス拡張の方法です。 既存のクラスにメソッドを追加したりクラスの分割をしたりすることができるので、中級以上のObjective-Cユーザーには必須の機能です。 カテゴリーによるメソッド追加 カテ…

表示されるテキストによって高さを調整する

iPhoneアプリで画面に複数行の文字を表示するにはUILabelかUITextViewを使います。 そのときに、表示するテキストの長さによってテキスト表示エリアの大きさを変えたいことがあります。 NSStringのメソッドを使う方法、NSAttributedStringのメソッドを使う方…

新審査基準、PIE Binary とは

iOS

どうやら、この2、3ヶ月の間に、Appleの審査基準にまた新しい項目が追加されたようです。 古いアプリを修正してリリースする方は注意してくださいね。 (最近新規プロジェクトを作成してビルドをした方はたぶん大丈夫だと思います。デフォルトの設定ではPI…

DevCenter Checker

先週の木曜日からAppleの開発者サイト、Developer Centerがクローズしています。 ニュースによると、セキュリティ研究者がペネトレーションテスト(サイトの弱点を検証するテスト)をAppleに無断で行ったんだとかいう情報も流れていますが、公式には確認され…

UIWindow.rootViewControllerって?

iOS

iOSの古いソースコードの初期処理をみていて、そういえば昔とだいぶ違ってきたなぁ……と思ったので、ちょっとUIWindowまわりを調べてみました。 初期化処理、古いコードと新しいコード。 まず、こちらが古いコード。 iOS2.0のころのAppleが出していたHello Wo…

iPad mini は予想より素敵でした

iOS

予約していたiPad miniが届きました。 白の16GB。赤いSmart Coverも同時購入。 届くまでは、ただの小さい iPad、と思っていたんですが、実際に触ってみると予想とはだいぶ違ってました。 薄くて軽い まず、やっぱり軽い。 iPadは初代が680g、2nd generation…

iOS6で大きく変わったアプリ間データ共有

先日、「iOS6でAndroidのインテントっぽいものができたって聞いたんですけど、ほんとですか?」と聞かれました。 うーん、聞きたいことはわかるんだけど、ちょっと違うんですよね。 ……というわけで、Xcodeでの設定方法もだいぶ前と変わったし、iOSの現時点で…

UIActivityViewControllerを使ったデータ共有

UIActivityViewControllerはiOS6で新しく追加されたクラスです。 Facebook、Twitterなど、システムで用意された複数のアイテムに加え、アプリ独自の機能を追加することができる使い勝手のよい新機能です。 iOS6でしか使えないのが難点ですが、是非使いこなし…

UIDocumentInteractionControllerを使ったデータ共有

iOSアプリでUIDocumentInteractionControllerを使うと、他のアプリに画像ファイルやpdfファイルなどを送信することができます。 かなり古く(iOS3.2)から使える便利な機能なんですが、なぜかそれほど一般的ではないんですよね。 iOS5までとiOS6以降でだいぶ見…

OpenURLを使ったデータ共有

OpenURLを使った共有はiOSアプリ間の情報共有で一番基本的です。 一番最初からあるファイル共有機能として、いろいろなアプリで広く使われています。 OpenURLで他のアプリを起動する OpenURLでは、それぞれのアプリに指定されている「URLSchema」という文字…

アプリのiPhone5対応

今までのアプリをiPhone5の640x1136の縦長画面に対応させるために私がやったことのメモです。 (たぶんこれで大丈夫だと思うんですけど、何か問題があったら追記します。) iPhone5画面サイズ対応 まず、アプリをiPhone5の640x1136サイズで起動するには、プ…

iOS6でマップアプリを起動する

昨日「iOS6の3D Mapで観光地めぐり」の記事を書いていて気がついたんですが、マップアプリがGoogle製からApple製になったので、Mapの起動方法が変わっています。 今までのソースコードのままだとちょっと動作が違ってくるので注意が必要です。 Safariから起…

iOS6の3D Mapで観光地めぐり

iOS6のMapアプリは本当にひどいですよねぇ。 情報はすかすかだし、鉄道路線は表示されないし……。 私は新しいMapアプリを使って目的地にたどり着けたことがなく、必ず迷子になっています。 でも、新しく搭載された3D地図は、世界の一部でしか対応していないも…

iPhone5発表!

今朝早くAppleのイベントが開催され、待望のiPhone5、iPod nano、iPod touchその他いろいろが発表となりました。 iPhone5 事前の予想通り、4インチのRetina Displayでした。 全体的にiPhone4Sとそれほど変わらない印象で、長さだけが縦に長くなった感じです…

スマートフォンUXの最前線

スマートフォンUXの最前線というイベントで、HMDTの木下誠さんのセミナーを聞いてきました。 タイトルは「iOSデバイスの進化に伴うアプリ開発とデザインの変遷」 iOSアプリのインターフェース 受託開発というスタイル 技術者として、経営者として HMDT社では…

キーボードが表示されたときに画面を動かす

iPhoneアプリでテキスト入力をするとき、出てきたキーボードの陰に文字入力エリアが隠れちゃって入力している文字が見えないことがありますよね。 そんなときには文字入力エリアを見える位置まで動かして入力しやすくすると、ぐっと使いやすくなります。 (…

UITextField/UITextViewの文字入力で覚えておくと便利なこと

iPhoneで文字を入力してもらうときにはUITextFieldかUITextViewを使います。 UITextFieldとUITextViewはUITextInputTraitsプロトコルを継承していて、プロパティをちょっと変えるだけでいろいろと細かい設定ができます。 iPhoneの画面は狭いので、文字入力を…