Failed to code sign "XxxxxxTests" でハマった

2015.05.19 Tuesday 23:59
0
    他人が作ったxcodeのプロジェクトを自分の環境で開き、実機転送しようとした際に下記のようなエラーが出てハマりました。


    Failed to code sign Tests


    Failed to code sign "XxxxxxTests"

    No valid signing identities (i.e. certificate and private key pair) matching the team ID “XXXYYYZZZZ” were found.


    ※アプリケーション名とチームIDは任意のものに置き換えています。



    問題を解決しようと思って「Fix Issue」ボタンを押しても、次のようなダイアログが表示されて問題は解決されませんでした。

    Unable ro find a team with the given Team ID


    Unable to find a team with the given Team ID 'XXXYYYZZZZ' to which you belong.

    キミのチームIDはそのIDじゃないよって怒られてますね(^^;;



    うーん。よくわからんよ。


    そもそもテスト用のTestsフォルダなんてデフォルトのままで前任者が変えた形跡がないし……。

    Testフォルダ

    このフォルダのこと。(※再現)




    ということで、プロジェクトのどこかに前任者の人のチームIDが残っているのではないかと考えました。

    プロジェクトファイルを調べてみたところ……


    あった。これだ!!


    違うチームID


    project.pbxproj 内のTestsの設定と思われるところに「XXXYYYZZZZ(※任意)」という前任者のチームIDが残っていました。

    犯人はこの設定ですね。


    この前任者のチームIDを自分のチームIDに書き換えて、再び実機転送を試みたところ、正常に転送できました。



    ◎ 整理すると……

    他人が Xcode 6.1で作ったプロジェクトを 手元の Xcode 6.3.1で開いた時に本事象が発生しました。

    自分のチームIDを設定した時、project.pbxproj内のメイン設定のチームIDはxcodeが置き換えてくれるのに対して、Tests設定のチームIDは置き換えてくれないという事象でした。

    たぶん、Xcodeのバグじゃないかな……と思います。

    ハマりました(>_<)
    category:デバッグ | by:こもcomments(0) | - | -

    Jsonデータ取得時にNSDictionaryにNSNullがきた時の対処

    2015.03.23 Monday 00:53
    0
      Web APIを使ってJsonを取得するコードを書いていました。

      JSON → NSDictionaryと変換して、JSONデータを取得する方法を使っていたのですが、サーバ側のDBにNULLが入っているなどの理由でNSDictionaryに変換した時に値がNSNullになってしまうことがありました。


      swiftで下記のようにNSDictionaryから値を取得しようと思ったら、NSNullの時に落ちてしまいます。

      keyValue = dictionary["MyKey"] as Int!

      そのため、事前にNSNullかどうかのチェックするコードを追加してみました。


      var urlString = "http://hoge.com/?my_api_value=1"
      var url = NSURL(string: urlString)
      
      var task = NSURLSession.sharedSession().dataTaskWithURL(url!, 
                  completionHandler:{data, response, error in
          if (data != nil) {
              var dictionary = NSJSONSerialization.JSONObjectWithData(data, options:
              NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
      
              var keyValue: Int!
              if (dictionary["MyKey"]?.isKindOfClass(NSNull) == true){
                  keyValue = -1
              } else {
                  keyValue = dictionary["MyKey"] as Int!
              }
          }
      })
      
      task.resume()
      


      ネットでググっても、見当たらなかったのでブログに残しておきます。

      もしかして、みなさん、別の方法で回避しているのかな???
      他に良い方法があったら教えてください。

      category:通信関連 | by:こもcomments(0) | - | -

      iOS Simulatorで通信処理ができなくなった

      2015.03.16 Monday 02:59
      0
        久しぶりにがっつりとiOS向けアプリを開発しようという気になって、Web APIを使うアプリを作っていました。


        そしたら、iOS Simulator上にて通信を伴う処理でことごとく失敗し、過去に作ったアプリまで動かなくなるという事象に遭遇しました。



        問題の切り分けとして、Safariを起動したところ、こちらもネットワークに接続できません。

        ネットワークエラー



        となると、シミュレータに問題があるに違いないと考えました。


        OSをyosemiteにしたのとxcodeを最新にアップデートしたので、何かのバグかな?と思い、情報収集するも明確な情報は見つかりませんでした。

        むむむ。これはツラい(^^;;



        ですが、さらにググっていると、こういう記事を見かけました。

        iOS SimulatorでiOS8を動作させるとHTTP通信ができない


        なるほどセキュリティソフトのファイアウォールの設定か。

        うちの環境ではたまたま「ウィルスバスター for Mac」を使っていたのでトレンドマイクロの公式サイトを当たったところ、こういうページを発見しました。

        ウイルスバスター for Mac がインストールされた環境において、Xcode の iOS8 Simulator のネットワーク接続が切れてしまう問題が発生する


        このページの内容に従って修正モジュールを適用すると、iOS Simulator上にて通信できない問題は解決できました。

        よかった、よかった(^^)
        category:いろいろ | by:こもcomments(0) | - | -

        Playgroundを試してみた

        2014.12.25 Thursday 21:14
        0
          ※ この記事は『ぼっちブログ Advent Calendar 2014』の12月25日分のエントリとして登録しています。ぼっちなので、ただ一人で興味のあることを気の向くままに書いています。
          ------------


          そろそろSwiftをやらないと、世の中の流れについていけないかなぁ…と思い、Playground上でSwiftのコードを書いてみました。


          Playgroundって、その場で代入値が見られて便利ですよね。
          ランダム関数を使っても、毎回乱数値が変わるので使い勝手が良さそうです。

          とりあえず、乱数を使ってぼっち度を計算するコードを書いてみました。


          
          let bocchiBase = 80 // 絶対に揺るがないぼっち度
          
          var bocchi = bocchiBase + arc4random_uniform(21)  //ランダム(0 〜 20)
          
          print("クリスマスにぼっちの確率は\(bocchi)%")
          
          switch bocchi {
          case (0...50):
              print("リア充になれるかも")
          case (61...79):
              print("ぼっちかも")
          case (80...89):
              print("どうせぼっちだろ")
          case (90...99):
              print("期待すんな。お前はぼっちだ")
          default:
              print("底なしのぼっちだ。絶望しろ")
              
          }
          


          文法は本を読んで、なんとなく覚えました。

          文字列中に変数の値を入れるためにバックスラッシュを使わないといけないので、どうやって入力するんだろう?って戸惑いました。
          option + ¥キーなんですね。



          で、実行結果はこうなりました。

          ぼっち度


          予定通りの結果ですね(T-T)

          category:いろいろ | by:こもcomments(0) | - | -

          UIButtonを継承してカスタムビューを作ってみた

          2014.12.11 Thursday 12:01
          0
            ※ この記事は『ぼっちブログ Advent Calendar 2014』の12月11日分のエントリとして登録しています。ぼっちなので、ただ一人で興味のあることを気の向くままに書いています。
            ------------



            凝ったアプリを作る上で、独自ビュー(カスタムビュー)っていうのは重要ですよね。

            今までつくり方を知らずに、デフォルトのボタンやパーツなどを使っていました。


            簡単なカスタムビューを作って検証してみましたので、メモとして残しておきます。



            やりたいこと

            カスタムビューを作って、インタフェースビルダー上に配置する。


            やったこと

            まずインタフェースビルダー上にボタンを2つ配置しました。

            ボタン


            上のボタンは、何もしない普通のボタンです。
            カスタムしたボタンとの比較用として設置しました。

            下のボタンをこれからカスタマイズしていきます。


            まずUIButtonを継承して、任意の名前でUICustomButtonという独自のボタンビューを作りました。

            #import <UIKit/UIKit.h>
            
            @interface UICustomButton : UIButton
            
            @end
            


            そして、背景色とタイトルを変更するコードをinitWithCoderに記述します。

            タイトルはとりあえず「Test」にして、背景色を白以外の任意の色にしました。

            #import "UICustomButton.h"
            
            @implementation UICustomButton
            
            - (id)initWithCoder:(NSCoder *)aDecoder
            {
                self = [super initWithCoder:aDecoder];
            
                // 背景色を任意に変更
                self.backgroundColor =[UIColor colorWithRed:0.0 green:1.0 blue:0.5 alpha:0.3];
                // タイトルを任意に変更
                [self setTitle:@"Test" forState:UIControlStateNormal];
                return self;
            }
            
            @end
            

            これで、カスタムビューの出来上がりです。


            あとはインタフェースビルダーから、このカスタムビューを適用します。


            目的のボタンを選択し、Custom Classのウィンドウにて、今回作成したUICustomButtonを選択します。

            Custom class



            Custom Classを変更してもインタフェースビルダー上の見た目は以前と何も変わらないようです。

            ボタン


            しかし、実行してみると、UICustomButtonの内容が適用されていることが確認できます。

            実行結果



            どんな用途で使う?

            たとえば、同じデザインのボタンを画面に複数配置するときは、カスタムビューを一つ作っておけば、お手軽に複製して行きます。
            また、あとでデザイン変更があったときは、そのカスタムビューのクラスを変更すれば、すべてに適用できるというメリットがあります。



            以上、独学で検証してみました。
            category:UI関連 | by:こもcomments(0) | - | -

            Calender
                123
            45678910
            11121314151617
            18192021222324
            252627282930 
            << June 2017 >>
            Sponsored Link
            Selected entry
            Category
            Archives
            Recent comment
            • NSUnknownKeyExceptionが出た時の回避方法
            • NSUnknownKeyExceptionが出た時の回避方法
              atsushi
            • NSUnknownKeyExceptionが出た時の回避方法
              kanejun
            • UITableViewCellに置いたボタンのイベント処理
              こも
            • UITableViewCellに置いたボタンのイベント処理
              かつお
            • NSUnknownKeyExceptionが出た時の回避方法
              こも
            • NSUnknownKeyExceptionが出た時の回避方法
               
            • iOS7のベータ版を入れてみた
              こも
            • iOS7のベータ版を入れてみた
              梅雨
            • iOS7のベータ版を入れてみた
              こも
            Sponsored Link
            Link
            Profile
            Search
            Others
            Mobile
            qrcode
            Powered
            無料ブログ作成サービス JUGEM