タグ

ブックマーク / www.toyship.org (18)

  • 君はAppClipを見たか - Toyship.org

    iOS14の新機能、AppClip。なんかあのにゅっとでてくるやつです。 対応しているアプリをあまり見かけないので実装してみました。 是非、実際の端末で動かしてみてください。 実装 どうやって実装するのかの情報はWWDCでもでていましたが、どんなタイミングでどう動くのかは、実際に動くアプリで試してみたいですよね。 動作確認用に使っている個人アプリで試してみました。 AppClip 起動トリガー WWDCで説明されていた起動トリガーはこの7種類。 URL Smart App Banner (App Clip用) (普通の)QRコードApple独自の)QRコード NFC Map 場所 まずはURLから……といいたいところなのですが、実は私の手元では、AppClipが(安定して)起動していないんですよね。 ちょっとほかの起動トリガーから見てみましょう。 Smart App Banner。 下

    君はAppClipを見たか - Toyship.org
  • SwiftにおけるAssertとFatalError - Toyship.org

    これはSwift Advent Calendar 2017の10日目の記事です。 assertはSwiftでコードを書く時の基的なデバッグ機能です。 いろいろな会社のiOSプロジェクトを拝見していますが、assertを有効につかっているプロジェクトは意外と少ない印象なんですよね。 書く癖をつけておくと、いざというときに楽ができますよ。 assert、fatalErrorとは assertとfatalErrorは、実行時に想定外のことが生じた場合にクラッシュしてアプリを停止するデバッグ用の機能です。 与えられた値(下記のコードのvalue)がtrueの時にはなにも発生せず、falseの時にはクラッシュします。 また、表示したいメッセージを付け加えることもできます。 assert(value) assert(value, "表示したいエラー文言") fatalError(false) fat

    invent
    invent 2019/04/05
  • ARKit 1.5で画像認識ができるようになりました。 - Toyship.org

    先日、iOS 11.3のベータがリリースされました。 ARKitがアップデートされて、ARKit1.5となり、画像認識や垂直面の認識などができるようになりました。 (この記事は、公開されている情報に基づいて書いています。) ARKit 1.5 ARKit1.5でのアップデート内容はこちらです。 垂直面の平面認識の追加 ARKit内での画像認識 ビデオ系処理の改善 それぞれの項目についてみてみましょう。 垂直面の平面認識 今までのARKitでも平面認識はできましたが、認識できたのは床などの水平面だけでした。 ARKit1.5からは、壁などの垂直面も認識できるようにになりました。 コードでみてみましょう。 まず、Xcodeで新規プロジェクトを選び、Augmented Reality App を選択します。 このプロジェクトはデフォルトでARが使えるようになっているので、初期設定を変えるだけで平

    ARKit 1.5で画像認識ができるようになりました。 - Toyship.org
    invent
    invent 2018/01/26
  • iOS9のコンテンツブロッカー - Toyship.org

    WWDCで新しいiOS9の機能がいろいろと発表されましたが、Safariでの表示項目を制限することが 「コンテンツブロッカー」機能については、Web業界の方はちょっと気になるのではないでしょうか。 さっそく調べてみました。 (なお、この記事はAppleが一般に公開している情報を元に書いています) コンテンツブロッカー コンテンツブロッカーとはiOSやMacでSafariに表示する項目を、自動的に制限してくれる機能です。 iOSでは、コンテンツブロッカーは、Today WidgetやShare ExtensionのようにApp Extensionとして提供されます。 Mobile Safariでwebを見る時に、cssで指定された特定の要素を非表示にしたり、特定のファイルを読み込まないようにすることができます。 Safari以外のブラウザ(Chromeなど)には影響がありません。 また、iO

    iOS9のコンテンツブロッカー - Toyship.org
    invent
    invent 2015/09/19
  • Xcodeコメントの基本 - Toyship.org

    これはiOS Advent Calendar 2014の12日目の記事です。 年の瀬もだんだん押しせまってきました。 年末年始のお休みの後に、「あれ、このメソッドどんな目的で作ったんだっけ?こっちのメソッドとの関係はどうだったんだっけ……」など無駄に悩まないために、このあたりでソースコードのコメントを見直してみましょう。 Xcodeでのコメント そもそもソースコードにコメントを書いた方がいいかどうかは長い議論がありまして……。 コメントによりコードの理解は深まるので、あったほうがいいという意見もありますが、コメントを書いたあとにコードを変更してしまうと、コメントとコードの内容が違ってしまい、かえってバグを生んでしまうためコメントを強制するのは害悪だ、という考え方もあります。 また、適切な命名規則を守ればソースコードを読むだけで理解できるという考え方もあります。 実際には、プロジェクトのライ

    Xcodeコメントの基本 - Toyship.org
    invent
    invent 2014/12/14
  • バスボタンでビルドしてみました - Toyship.org

    この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の13日目の記事です。 ちょっと前に、業務用のバスボタンを買ったので、バスボタンを押してiPhoneアプリのビルドができるシステムをつくってみました。 ビルドだけじゃなくて、バスボタンで起動、バスボタンでリリース、バスボタンでデプロイ……など、応用範囲が広いので、バスボタンをお持ちの方はぜひトライしてみてくださいね。 バスボタン 5月にやってた東急バス祭りでバスボタンを買いました。 https://twitter.com/TachibanaKaoru/status/462446028520570882 会社に持って行ったら、「やっぱりこれ押してデプロイできるといいよねー」と言われたので、とりあえずボタンを押してビルドできるシステムをつくってみることにしました。 Network処理が中心になるので、

    バスボタンでビルドしてみました - Toyship.org
    invent
    invent 2014/12/14
  • Xcode の Quick Look で艦娘をデバッグする - Toyship.org

    Xcode 5から導入された、デバッグ時の Quick Look機能、デバッグ時にオブジェクトの情報をグラフィカルに見ることができてとっても便利ですよね。 Xcode 5.1からは、システムクラスに加えて、カスタムクラスのQuick Look機能も使えるようになっているので、さっそく使ってみました。 普通の Quick Look 普通のってなんだよって感じですが、いわゆる、組み込みのシステムクラスのQuick Look。 何も特別な設定をしなくても使えるQuick Lookです。 使い方は簡単。 オブジェクトの上にマウスオーバーすると、ツールチップのような小さいダイアログが表示されます。 そのツールチップの上の、「目」のように見えるアイコンをクリックします。 すると、こんな感じでオブジェクトの中身がグラフィカルに見れるようになります。 なお、iOSのシステムクラスで Quick Lookに

    Xcode の Quick Look で艦娘をデバッグする - Toyship.org
    invent
    invent 2014/03/28
  • 複数の App ID Prefixとキーチェーンについて - Toyship.org

    先日、Appleから「複数のApp ID Prefixについて」(Technical Note TN2311:Managing Multiple App ID Prefixes)というTechnical Noteが出ていました。 ふだんあまり意識することのない App ID Prefixですが、使い方を間違うとキーチェーンに保存されたデータを消してしまうこともあるんです。 古参の iOS Developerと、キーチェーンを使ってる Developerは要確認です。 App ID Prefixとは何か App IDは、App ID PrefixとBundle Identifierの二つの部分にわかれています。 App ID PrefixがABCDE12345でBundle Identifierがorg.toyship.testappなら、App IDはABCDE12345.org.toys

    複数の App ID Prefixとキーチェーンについて - Toyship.org
    invent
    invent 2014/02/24
    複数の App ID Prefixとキーチェーンについて
  • 新審査基準、PIE Binary とは - Toyship.org

    どうやら、この2、3ヶ月の間に、Appleの審査基準にまた新しい項目が追加されたようです。 古いアプリを修正してリリースする方は注意してくださいね。 (最近新規プロジェクトを作成してビルドをした方はたぶん大丈夫だと思います。デフォルトの設定ではPIE Binaryになっているはずです。) 2013/9/11追記:今日発表になったiPhone 5sのA7チップは、いままでのiPhoneで採用されていた32bitではなく64bitです。64bitのiOSでは、non PIE binaryはサポートされないという情報がAppleからでているので、iPhone 5sで動作させたい場合にはPIE Binary対応が必要です。 Reject with Non-PIE Binary 今年の5月頃からApp Storeで下記のような理由でRejectされるアプリが出てきました。 *1 *2 Non-PIE

    新審査基準、PIE Binary とは - Toyship.org
    invent
    invent 2013/08/03
    新審査基準、PIE Binary とは
  • UITextField/UITextViewの文字入力で覚えておくと便利なこと - Toyship.org

    iPhoneで文字を入力してもらうときにはUITextFieldかUITextViewを使います。 UITextFieldとUITextViewはUITextInputTraitsプロトコルを継承していて、プロパティをちょっと変えるだけでいろいろと細かい設定ができます。 iPhoneの画面は狭いので、文字入力をするときにこのあたりのことを注意するようにすると、ユーザーの使い勝手がちょっとよくなりますよ。 (2012/03/31 iOS 5.0で追加されたUIKeyboardTypeTwitterを追記しました。) まずはUITextFieldを作ってみる まずはテキストフィールドの作成。 普通につくると、こんな感じのキーボードが表示されて文字が入力できます。 (図はクリックすると拡大します。) UITextField* inputText = [[[UITextField alloc] i

    UITextField/UITextViewの文字入力で覚えておくと便利なこと - Toyship.org
    invent
    invent 2013/04/10
    UITextField/UITextViewの文字入力で覚えておくと便利なこと
  • OpenURLを使ったデータ共有 - Toyship.org

    OpenURLを使った共有はiOSアプリ間の情報共有で一番基的です。 一番最初からあるファイル共有機能として、いろいろなアプリで広く使われています。 OpenURLで他のアプリを起動する OpenURLでは、それぞれのアプリに指定されている「URLSchema」という文字列を使って他のアプリを起動します。 例えば、「myreceivedatademo://」という「URLSchema」を持つアプリに「testinformation」という文字を送りたい場合には、このように記述します。 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myreceivedatademo://testinformation"]]; また、この仕組みはアプリ間だけでなくSafariやMailなどからでも使えるので、htmlにこち

    OpenURLを使ったデータ共有 - Toyship.org
    invent
    invent 2012/09/30
    OpenURLを使ったデータ共有
  • UIDocumentInteractionControllerを使ったデータ共有 - Toyship.org

    iOSアプリでUIDocumentInteractionControllerを使うと、他のアプリに画像ファイルやpdfファイルなどを送信することができます。 かなり古く(iOS3.2)から使える便利な機能なんですが、なぜかそれほど一般的ではないんですよね。 iOS5までとiOS6以降でだいぶ見た目がかわったので、まとめてみました。 iOS6でのUIDocumentInteractionController 実装方法はiOS6でもiOS5以前でも変わらないんですが、見た目はiOS6でがらっと変わりました。 iOS5までの見た目はこちら。 不透明なボードの上にシンプルなボタンが並びます。実直なUIですね。 iOS6での見た目はこちらです。 iOS6ではアイコンベースとなり、UIActivityViewControllerと同様の見た目になりました。 以前と比較すると、ベースのシートが半透明とな

    UIDocumentInteractionControllerを使ったデータ共有 - Toyship.org
    invent
    invent 2012/09/30
    UIDocumentInteractionControllerを使ったデータ共有
  • UIActivityViewControllerを使ったデータ共有 - Toyship.org

    UIActivityViewControllerはiOS6で新しく追加されたクラスです。 Facebook、Twitterなど、システムで用意された複数のアイテムに加え、アプリ独自の機能を追加することができる使い勝手のよい新機能です。 iOS6でしか使えないのが難点ですが、是非使いこなしていきたいですね。 UIActivityViewControllerとは UIActivityViewControllerは、指定したオブジェクトに応じて、ファイル共有やメール添付などの機能を自動的に表示してくれるViewControllerです。 UIDocumentInteractionControllerと違い、特定のファイルを指定するのではなく、複数のオブジェクトを指定します。 さらにアプリ独自の機能を追加することもできる、なかなか応用範囲の広いViewControllerです。 システムActiv

    UIActivityViewControllerを使ったデータ共有 - Toyship.org
    invent
    invent 2012/09/30
    UIActivityViewControllerを使ったデータ共有
  • iOS6で大きく変わったアプリ間データ共有 - Toyship.org

    先日、「iOS6でAndroidのインテントっぽいものができたって聞いたんですけど、ほんとですか?」と聞かれました。 うーん、聞きたいことはわかるんだけど、ちょっと違うんですよね。 ……というわけで、Xcodeでの設定方法もだいぶ前と変わったし、iOSの現時点でのアプリ間ファイル共有についてまとめてみました。 iOS6で大きく変化したところは…… まず、iOS6で大きく変わったのは次の二つです。 UIDocumentInteractionControllerを使った共有が、機能も見た目も大幅に進化したこと UIActivityViewControllerを使った共有ができるようになったこと それぞれ変更内容がいろいろあるので、三つにわけて書いてみました。 その1:OpenURLを使ったデータ共有 その2:UIDocumentInteractionControllerを使ったデータ共有 その

    iOS6で大きく変わったアプリ間データ共有 - Toyship.org
    invent
    invent 2012/09/30
    iOS6で大きく変わったアプリ間データ共有
  • スマートフォンUXの最前線 - Toyship.org

    スマートフォンUXの最前線というイベントで、HMDTの木下誠さんのセミナーを聞いてきました。 タイトルは「iOSデバイスの進化に伴うアプリ開発とデザインの変遷」 iOSアプリのインターフェース 受託開発というスタイル 技術者として、経営者として HMDT社では、iPhone SDKが公開されてから、この3年で60個以上のアプリを出しているそうです。 iPhoneSDKの公開で会社のすべてが変わった、とのこと。 駅探エクスプレス 最初は駅探エクスプレス。 このアプリはiPhone3GのCMにもとりあげられたそうです。 ミニマムなユーザーインターフェースをこころがけ、不必要なアイテムを可能な限り省いたそうです。 特にキーボードレス入力に注力したそうです。(駅探エクスプレスでは、UITableViewのインデックスを利用して一文字づつ選択し、キーボードなしで駅名が入力できます。) 歩きながら使う

    スマートフォンUXの最前線 - Toyship.org
    invent
    invent 2012/09/26
    スマートフォンUXの最前線
  • AndroidアプリをXcodeで作る方法 - Toyship.org

    ……とタイトルには書きましたが、正確には「AndroidアプリをXcode上でビルドする方法」です。 最近スマートフォンがはやってるんだけど、iPhoneだけじゃなくてAndroidバージョンも欲しいから一緒に開発してくんないかな?と無茶ぶりされてiOS/Android同時開発に勤しむみなさまへ。 手順はこんな感じです。 (図はクリックすると拡大します。) EcliplseでAndroidの新規プロジェクトを作る Xcodeで新規プロジェクトを作ってEclipseで作ったファイルを読みこむ Android updateをする Xcodeでプロジェクトのビルド設定を変更する ビルドする (念のためですが、EclipseとXcodeがインストールされている環境でのみ実行できます。あと、当然Macでのみ実行可能です。) プロジェクトの作成 まずはEcliplseでAndroidのアプリを新規作成

    AndroidアプリをXcodeで作る方法 - Toyship.org
    invent
    invent 2012/09/24
    AndroidアプリをXcodeで作る方法
  • アプリのiPhone5対応 - Toyship.org

    今までのアプリをiPhone5の640x1136の縦長画面に対応させるために私がやったことのメモです。 (たぶんこれで大丈夫だと思うんですけど、何か問題があったら追記します。) iPhone5画面サイズ対応 まず、アプリをiPhone5の640x1136サイズで起動するには、プロジェクトにこの画像ファイルを追加すること。(もちろん画像サイズは640x1136) Default-568h@2x.png 公式書類に一応書いてあるんですが、ちょっと記述がわかりづらいですね。(もうちょっとわかりやすくかいてくれてもいいと思うんですけど。) iOS App Programming Guide(App-Related Resources) 各画面のサイズ変更対応 次に、起動画面以外の各画面をiPhone5/iPhone4の両対応にするための変更です。 まずは、それぞれのxibファイルを開いて、ベースと

    アプリのiPhone5対応 - Toyship.org
    invent
    invent 2012/09/24
    ほほう。 アプリのiPhone5対応
  • iOS6でマップアプリを起動する - Toyship.org

    昨日「iOS6の3D Mapで観光地めぐり」の記事を書いていて気がついたんですが、マップアプリがGoogle製からApple製になったので、Mapの起動方法が変わっています。 今までのソースコードのままだとちょっと動作が違ってくるので注意が必要です。 Safariから起動する場合 まず、Safariから起動する場合。 iOS5までは、htmlファイルからこちらのリンクをよべば、iPhone体のMapアプリが起動していました。 <a href="http://maps.google.com/maps?q=cupertino">Cupertino</a> iOS6では、上のリンクは「Safariでhttp://maps.google.com/を開く」動作になってしまいます。 iPhoneMapアプリを開きたい場合にはこのリンクをつかってください。 <a href="http://maps.

    iOS6でマップアプリを起動する - Toyship.org
    invent
    invent 2012/09/24
    iOS6でマップアプリを起動する
  • 1