2016-04-26 10 views
1

私はXamarin.iOSを使用して、Dockコネクタ経由でiPodとiPhoneに接続するアクセサリ用のObjective-Cライブラリをラップします。私はテストアプリでInfo.plistのUISupportedExternalAccessoryProtocolsの下に値が見つからないことを知る前に、テストアプリでアクセサリを動作させるのに多くの時間を費やしました。実行時にUISupportedExternalAccessoryProtocolsを列挙します

ラッパーライブラリを使用しているときに他の人が同じ問題に遭遇しないようにしたいと思います。これは図書館なので、私のプロジェクトにはInfo.plistがありませんよね?だから私はUISupportedExternalAccessoryProtocolsのために呼び出し元が持っている値を列挙したいので、値が見つからないことを開発者に簡単に伝えるメッセージを与えることができます。実行時にこれを行う方法はありますか?

ありがとうございます!

答えて

1

これらのいずれかがInfo.plistにアクセス値に動作します:

var protocolArray = (NSArray)NSBundle.MainBundle.InfoDictionary ["UISupportedExternalAccessoryProtocols"]; 

それとも

var protocolArray = (NSArray)NSBundle.MainBundle.ObjectForInfoDictionary ("UISupportedExternalAccessoryProtocols"); 

そのようにのような値を取得:

 for (nuint i = 0; i < protocolArray.Count; i++) { 
      Console.Write (protocolArray.GetItem<NSString> (i).ToString()); 
     } 
1

あなたはInfo.plistファイルから値を読み、それはすべての必要な値が含まれているかどうかを確認するために

var values = NSBundle.MainBundle.ObjectForInfoDictionary("UISupportedExternalAccessoryProtocols"); 

を使用することができます。

関連する問題