Alamofire は、Swift で記述された HTTP ネットワーク ライブラリです。
URLCredential
Alamofire をコア ネットワーキングの実装に特に集中させるために、追加のコンポーネント ライブラリがAlamofire Software Foundationによって作成され、Alamofire エコシステムに追加機能がもたらされました。
UIImageと
UIImageView拡張機能、カスタム イメージ フィルタ、メモリ内キャッシュの自動パージ、優先度ベースのイメージ ダウンロード システムを含むイメージ ライブラリ。
URLSession、Alamofire によって管理されていないインスタンスをサポートできます。
プラットホーム | 最小 Swift バージョン | インストール | 状態 |
---|---|---|---|
iOS 10.0 以降 / macOS 10.12 以降 / tvOS 10.0 以降 / watchOS 3.0 以降 | 5.3 | CocoaPods , Carthage , Swift Package Manager ,マニュアル | 完全にテスト済み |
Linux | 最新のみ | Swift パッケージ マネージャー | 構築中だがサポートされていない |
ウィンドウズ | 最新のみ | Swift パッケージ マネージャー | 構築中だがサポートされていない |
Alamofire は Linux と Windows で構築されていますが、機能が不足しており、基盤に多くの問題があり、
swift-corelibs-foundation完全な機能を妨げ、クラッシュを引き起こす可能性があります。これらには以下が含まれます:
ServerTrustManager関連する証明書の機能は利用できないため、証明書のピン留めやクライアント証明書のサポートはありません。
CachedResponseHandler基になるデリゲート メソッドが呼び出されないため、関連付けられた APIを介したキャッシュ コントロールは使用できません。
URLSessionTaskMetrics集まることはありません。
これらの問題により、Alamofire は Linux および Windows ではサポートされていません。クラッシュが発生した場合は、Swift バグ レポーターに報告してください。
alamofire。
URLSession確認してください。
CocoaPodsは、ココア プロジェクトの依存関係マネージャーです。使用方法とインストール手順については、Web サイトを参照してください。CocoaPods を使用して Alamofire を Xcode プロジェクトに統合するには、次のように指定します
Podfile。
pod 'Alamofire'
Carthageは、依存関係を構築し、バイナリ フレームワークを提供する分散型の依存関係マネージャーです。Carthage を使用して Alamofire を Xcode プロジェクトに統合するには、次のように指定します
Cartfile。
github "Alamofire/Alamofire"
Swift パッケージ マネージャーSwift Package Managerは、Swift コードの配布を自動化するためのツールであり、
swift
コンパイラに統合されています。
Swift パッケージのセットアップが完了したら、 Alamofire を依存関係として追加するのは、それを の
dependencies
値に追加するのと同じくらい簡単Package.swift
です。
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.6.1"))
]
手動で前述の依存関係マネージャーを使用したくない場合は、Alamofire をプロジェクトに手動で統合できます。
組み込みフレームワーク
ターミナルを開き
cd、最上位のプロジェクト ディレクトリに移動し、プロジェクトが git リポジトリとして初期化されていない場合は、次のコマンドを実行します。
$ git init
次のコマンドを実行して、Alamofire を git サブモジュールとして追加します。
$ git submodule add https://github.com/Alamofire/Alamofire.git
新しいフォルダーを開き、アプリケーションの Xcode プロジェクトのプロジェクト ナビゲーターに
Alamofireドラッグします。
Alamofire.xcodeproj
アプリケーションの青いプロジェクト アイコンの下にネストされて表示されます。他のすべての Xcode グループより上か下かは関係ありません。
Project Navigator で を選択し
Alamofire.xcodeproj、デプロイメント ターゲットがアプリケーション ターゲットと一致することを確認します。
次に、プロジェクト ナビゲーター (青いプロジェクト アイコン) でアプリケーション プロジェクトを選択してターゲット構成ウィンドウに移動し、サイドバーの [ターゲット] 見出しの下でアプリケーション ターゲットを選択します。
そのウィンドウの上部にあるタブ バーで、[一般] パネルを開きます。
+「埋め込みバイナリ」セクションの下にあるボタンをクリックします。
フォルダ内にネストされた
Alamofire.xcodeprojの 2 つの異なるバージョンを持つ 2つの異なるフォルダがそれぞれ表示されます。
Alamofire.framework
Products
どの
Productsフォルダから選択するかは問題ではありませんが、上または下のどちらを選択するかは重要ですAlamofire.framework。
Alamofire.frameworkiOSの場合は上を、macOS の場合は下を選択します。
プロジェクトのビルド ログを調べて、選択したものを確認できます。のビルド ターゲットは、、、、またはとして
Alamofireリストされます。Alamofire iOSAlamofire macOSAlamofire tvOSAlamofire watchOS
以上です!
は
Alamofire.framework、シミュレーターとデバイスでビルドするために必要なファイルのコピー ビルド フェーズで、ターゲットの依存関係、リンクされたフレームワーク、および組み込みフレームワークとして自動的に追加されます。
Alamofire に貢献する前に、貢献ガイドに記載されている手順をお読みください。
次のレーダーは、Alamofire の現在の実装に何らかの影響を与えます。
rdar://21349340- テスト ケースでのフリー ブリッジの問題により、コンパイラが警告をスローする
rdar://26870455- シミュレーターでバックグラウンド URL セッション構成が機能しない
rdar://26849668- 一部の URLProtocol API が正しく処理されない
URLRequest
次のレーダーは、Alamofire プロジェクトに対して提出された後、時間の経過とともに解決されました。
rdar://26761490- 一般的な使用方法でメモリ リークを引き起こす迅速な文字列補間。
rdar://36082113-
URLSessionTaskMetricswatchOS 3.0 以降でリンクに失敗する
CFNetwork(解決済み):リンクされたフレームワークに追加するだけです。
FB7624529-watchOS
urlSession(_:task:didFinishCollecting:)で呼び出されたことはありません
アラモファイアは、テキサス州の州花であるブルーボンネットの交配種であるアラモファイアの花にちなんで名付けられました。
Alamofire はAlamofire Software Foundationによって所有および管理されています。プロジェクトの更新とリリースについては、Twitter ( @AlamofireSF ) でフォローできます。
Alamofire のセキュリティ上の脆弱性を特定したと思われる場合は、できるだけ早くsecurity@alamofire.orgに電子メールで報告してください。公開の問題トラッカーには投稿しないでください。
ASFは、連邦非営利組織として正式に登録を維持するための資金を調達しようとしています。 登録することで、財団のメンバーは法的保護を受けることができ、寄付金を非課税で使用できるようになります。 ASF のスポンサーになることで、次のことが可能になります。
ASF ライブラリのコミュニティの採用は驚くべきものでした。 プロジェクトに対する皆様の熱意に大変恐縮しており、前進するためにできる限りのことを引き続き行いたいと考えています。 皆様の継続的なご支援により、ASF はその範囲を拡大し、コア メンバーにより良い法的安全を提供することができます。 私たちの図書館のいずれかを仕事に使用している場合は、雇用主が寄付に関心があるかどうかを確認してください。 私たちの目標を達成するために、1 回でも毎月でも、いくらでも寄付していただければ幸いです。
MacStadiumは Alamofire に無料のホスト型 Mac mini を提供しています。
Alamofire は MIT ライセンスの下でリリースされています。詳細については、ライセンスを参照してください。