たくさんのAPIキーとシークレット(Stripe、Cloudinaryなど)がありますが、これらは現在アプリにハードコーディングされています。それらを保管する適切な場所はどこですか?それらはサーバーにあるべきであり、サーバーのURLを自分の側に保存するだけです(キーが変更されてもアプリが引き続き機能するように)?
たとえば、アプリデリゲートファイルにこれがあります。
func configureStripe(){
STPPaymentConfiguration.sharedConfiguration().publishableKey = "pk_test_1234rtyhudjjfjjs"
STPPaymentConfiguration.sharedConfiguration().appleMerchantIdentifier = "merchant.com.myapp"
}
最善の方法はありません。それは多くのことに依存します。この回答を見てください- https://stackoverflow.com/a/14865695/1760199 、そしてあなたにとって最も便利な方法を選択してください。
Stripeの場合、Stripeがこれを念頭に置いて設計されているので、それほど重要ではないので、PCIコンプライアンスに関して経済的責任を負います。ユーザーを認証し、アクセスを制限するためのより複雑な方法があります。
ベストプラクティスは、文字列apiurlをクラスまたはコントローラーのプレーンテキストに配置することです。情報は入力しないでください。
私はヘルプクラスを使用します:
class ApiUrl
{
static var api = "www.api.com/api/"
}
let api = ApiUrl.api