iOS

[Swift]Schemaを使用してURLの接続先を切り替える

投稿日:

はじめに

はじめまして、suzukiです。

本日はXcodeのSchemaを使用しURLの接続先を紹介したいと思います。

以前にURLの接続先の変更漏れがあったので、その時しておくべきだった事の備忘もかねて書かせていただきます。

まずSchemaを理解する前にBuildConfigurationについて説明させていただきます。

 

XCodeのBuildConfigurationとは

XCodeではBuildConfigurationという設定があります。

こちらは

  • 開発環境
  • 検証環境
  • 本番環境

等それぞれの環境に合わせて読み込むコードを変更したり、参照するファイルを異ならせたりすることが可能です。

たとえばですが

古いXCodeですとProvisioningProfileの設定で DebugとReleaseで異なるProvisioningProfileを設定おりました。

そちらもこのBuildConfigurationの設定を元に

アーカイブするときはデフォルトでReleaseの設定のためReleaseで設定したProvisioningProfile

RunするときはデフォルトでDebugの設定のためDebugで設定したProvisioningProfile

それぞれのファイルが読み込まれております。

スキーマとは

いよいよSchemaについてです。

Schemaとは前述のBuildConfigurationを元に

  • Build
  • Run
  • Test
  • Profile
  • Analyze
  • Archive

上記のコマンドごとにBuildConfigurationを選んで設定することができます。

開発環境のスキーマ 本番環境のスキーマを追加し設定してくことで、開発環境と本番環境の切り替えがとても簡単に行える様になります。

スキーマの追加方法

まずスキーマの追加方法ついて、上部のメニューバーから

Product > Schema > NewSchema と選択

新しくSchemaを追加するダイアログが表示されるのでの名前をつけてOKボタンを押しましょう。

新しく追加したスキーマはRunボタンの右側から変更できます。

 

スキーマの設定変更

スキーマの設定変更ついて

まず新しいSchemaを選択している状態にし

Product > Schema > Edit Schema と選択

Schemaの設定ダイアログが出てきます。

今回はRunの項目の変更を行います。

Runはシミュレータや実機で起動するときの設定です。

こちらのBuild Configurationの値をReleaseに変更しましょう。

これで今回確認を行いたい内容の動作確認が可能です。

開発と本番で異なる通信の接続先を設定する

それでは本題のコードです。

Schemaを使って自動化していきましょう。

まずは下記の様に定義をしておきましょう。他の箇所からも使いやすい様に共通のクラスなりを作ります。

続いて呼び出し箇所のコードですが下記の様に呼び出します。

実際に起動してみると

・最初からあるSchema

・新しく追加したSchema

それぞれ違うURLが作成される事が確認が取れます。

 

今回設定した内容は限定的な使い方です。

開発環境でビルドした時だけログ出力を行う等

開発と本番で異なる設定にしたい場合は是非とも検討してみてください。

さいごに

開発環境と本番用の環境を交互する際に設定まわりの変更を手動で行うことはめんどくさいです。

本番用のアプリの作成する時に万全の体調でも無いこともよくあります。

簡単で作業の少ない環境を整えることはミスをなくすため大事かと思います。

 

それでは、最後までありがとうございました。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

iOSでFirebase Authenticationを実装してみる その1

1 はじめに2 Firebaseプロジェクトの設定3 新規ユーザー登録4 既存ユーザーのログイン5 匿名ログイン6 エラーメッセージ7 最後に8 おすすめ書籍 はじめに はじめまして、Yossyです。 ...

swift

[Swift]UIPageViewControllerを使ってみよう!

1 はじめに1.1 前提条件2 UIPageViewControllerとは3 実装3.1 ViewControllerを準備3.2 UIPageViewControllerを準備3.3 最初の画面を ...

iOS13で発生するUICollectionviewのカクつきを解消する

iOS13でCollectionViewの動作が少し変わりました。 Cellの入れ替え時にデータの更新を行う際にはどのように作成すれば良いか、関係のあるデリゲートを含め説明させていただいております。 おまけとして、Xcode11.3対応を行った際に対応した内容を簡単にですが記述しております。Xcode11対応をされる方の参考になればと思います。

swift

[Swift]UITableViewのセルの入れ替えが簡単に実装できるライブラリ「SwiftReorder」

1 はじめに2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回は、UITableViewでセルを入れ替えたい際に、ドラッグ&ドロップ操作を簡単に実装できるライブラリ「S ...

【Swift】WKWebViewでタップしたURLを取得する。

1 はじめに2 WKWebViewについて3 WKWebViewの基本実装4 ナビゲーションにタイトルを追加5 ロングタップの禁止6 特定のリンクの場合はブラウザを起動して表示7 さいごに はじめに ...

フォロー

blog-page_side_responsive

2018年7月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。