2016-05-17 10 views
1

私は現在、最初のiOSフレームワークを作成しているので、すべてのステップについて自分自身に疑問を呈しています。iOSフレームワークでデベロッパーキーを保存する

現時点では、自分の機能にアクセスするためにSDKを使用する開発者がキーと秘密を提供する必要がありますが、セッションデータを格納するためのSDKクラスをどのように構築するかはわかりません。主に私は別々のフレームワークで構成されるキットを作る必要がありますが、すべてのフレームワークがキーと秘密にアクセスできるようにするための条件があります。

したがって、開発者がフレームワークAのみを使用する場合でも、SDKからフレームワークBとフレームワークCを使用しているのと同じ方法で資格情報を提供できるはずです。

私のオプションは、静的変数として持つSDK内の一種のSessionDataシングルトンです。開発者は、全体ではなく、SDKのセットで、フレームワークAまたは専用Framework Bのみが含まれている場合、どのように私はSessionDataにクラスを進めるか、

[MySDK setClientSecret:@"clientSecret"]; 

しかし:だから、基本的にコードのようなものでしょうか?

すべてのフレームワークでこのクラスを繰り返しますか?これに対するアプローチは何ですか?

+1

クライアントの問題ではありませんか?彼らは、アプリが起動するたびに秘密をあなたに渡し、シングルトンのインスタンス変数にそれを格納します。 – trojanfoe

+0

これは私が求めていることです。私はこのクロスSDKのシングルトンクラスをどのように扱うべきか分かりません。 – Fawkes

+0

あなたはポイントを見逃している、@トロイの木馬は、これらのキーはあなたのSDKの中に格納されていないと言っている - ユーザーはあなたのSDKを自分のアプリに追加し、それを実行するときに必要なすべてのキーを渡します。あなたがポイントを得るならば、あなたは 'クロスSDKのシングルトン'の意味を明確にしていない – Wain

答えて

0

あなただけの秘密またはクライアントアクセスキーを必要とするSDKを使用している場合は、ユーザービルド設定の値を定義したとして、あなたは常にそれらを格納することができ、その後、

[[NSBundle mainBundle] objectForInfoDictionary:@"SECRET_KEY"]

かを介してそれらにアクセスセッション・トークンが格納されている場合は、そのセッションをユーザー・モデルを持つプロパティとして格納し、コア・データまたはキャッシュなどで永続化できます。

+0

あなたの洞察力を共有していただきありがとうございます。残念ながら、私は開発者が秘密を提供しなければならないSDKを作っています。私はそれをどうやって適切な方法で作ることができるのだろうかと思っています。 – Fawkes

関連する問題