タグ

ブックマーク / ez-net.jp (7)

  • Xcode のコマンドラインツールをターミナルから切り替える

    g08m11
    g08m11 2017/11/06
  • 自作ライブラリのリンク時に Undefined symbols for architecture エラーが発生する。

    これを見ると、なにやらライブラリの組み込みが無視されたということが伺えます。 具体的にはmissing required architecture arm64 のところで、おそらくarm64 用のバイナリが見つからなかったためにライブラリが無視されたということのようでした。 原因 原因は警告メッセージのとおりで、今回の場合はビルドされたライブラリに適切なバイナリが存在しなかったために発生したエラーでした。 ライブラリの場合は複数のバイナリをビルドしてまとめられたりするようですけど、デバッグビルドの時には効率優先で、現在のアーキテクチャーだけのバイナリを作るようにBuild Settings で設定されているようです。 Xcode 6 ではこれが推奨設定のため、プロジェクト設定を自動で調整してもらうと、この設定が有効になってビルドに失敗する場合もあります。 対処方法 対処方法は簡単で、Bui

    g08m11
    g08m11 2017/02/11
    “uild Active Architecture Only”
  • UISearchBar 検索後にキーボードを非表示にする : Objective-C プログラミング

    UISearchBar での検索ボタンを押した後に、キーボードを非表示にしたい場合には、検索ボタンを押した際に呼び出される UISearchBarDelegate の "searchBarSearchButtonClicked:" メソッドで、次のように実装します。

    g08m11
    g08m11 2017/01/23
  • Travis CI を使って GitHub 上の Swift プロジェクトをテストする

    ここの Build only if .travis.yml is present は最初は無効に設定されていて、特に .travis.yml がない場合は既定の実装が使われるみたいな話をどこかで見ましたが、とりあえず Xcode の Swift プロジェクトについては .travis.yml を用意しないとテストが実行されない様子だったので、ここでの設定に限らず必ず用意することになりそうです。 ここでは環境変数も指定できるようになっているようです。また、同時ビルド数の設定については、Travis CI の無料プランでは同時に1つまでに限られているようなので、今回は設定する必要はなさそうでした。 Travis CI でのテスト内容を決定する Travis CI と GitHub との連携設定が完了したら、どのようなテスト実行するかをリポジトリで指定します。 .travis.yml ファイルを

    Travis CI を使って GitHub 上の Swift プロジェクトをテストする
    g08m11
    g08m11 2016/05/25
  • Swift 2 シンポジウムでたっぷり談義を楽しんできました。

    全く同じメソッドが、複数のプロトコルから既定の実装として与えられている、要は「曖昧な実装になっている」ため、どれを呼び出したら良いのかがわからないということを主張しているのでしょう。 そしてこのとき面白いのが、構造体 Picture を両方のプロトコルに準拠させようとしているところで、不可思議な次のビルドエラーが発生します。 既定の実装だけしかないのに、なぜ両方から「準拠できていない」と指摘されているのか。 これを見させてもらった最初は「Protocol Extension ってまだまだ甘い実装なのかな」と思ってみたりもしたんですけど、それからゆっくり考えていたら、なんとなく Swift の気持ちが分かってきました。 エラーの理由は曖昧性 まず、そもそもの大事なポイントなのですが、既定の実装を extension で添えるに当たって、その機能のシグネチャを protocol に宣言しておく

    Swift 2 シンポジウムでたっぷり談義を楽しんできました。
    g08m11
    g08m11 2015/11/27
  • 自作アプリから電話発信する : Objective-C プログラミング

    // tel: で始まる URL を作成します。 NSURL* url = [NSURL urlWithString:@"tel:000-000-0000"]; // 作成した URL を、アプリケーションの openURL メソッドで開きます。 [[UIApplication sharedApplication] openURL:url]; これで、iIPhone の携帯回線を使って、指定した番号に電話を発信することができます。 ただしこのとき、アプリの制御が iPhone 標準の電話アプリに移ってしまうので、それを踏まえて上手に使ってあげる必要がありそうです。 [ もどる ]

    g08m11
    g08m11 2015/07/03
  • カスタム URL スキームを実装する : Objective-C プログラミング

    あるアプリが別のアプリを呼び出す方法にURL スキームというものがあります。 たとえば Web サイトを開くときに "http://xxx.xxx.xx/f/p1.html?n1=v1&n2=v2" のような URL が使われますが、カスタム URL スキームを使うと、これのプロトコル("http")の部分に独自の文字列を指定して、外から自分のアプリを呼び出してもらえるようになります。 このとき、URL の後の "://" に続いて、ホスト名("xxx.xxx.xx")やパス("/f/p1.html")やクエリ("n1=v1&n2=v2")という形で受け取ることができます。 ホスト名以降をどのような書式にするかは自分のアプリの方で決めて、それを他のアプリのプログラマーに使ってもらう形になります。 カスタム URL スキームを登録する 自分のアプリ用の URL スキームを登録するには、自分の

    g08m11
    g08m11 2015/06/26
  • 1