質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

478閲覧

swiftでAWSCognitoに認証する際、「Use of unresolved identifier 'AWSCognitoLoginProviderKey'」というエラーが出る

lernon

総合スコア14

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/04/16 20:37

前提・実現したいこと

cognitoによるFacebook認証処理を実装したい

発生している問題・エラーメッセージ

Use of unresolved identifier 'AWSCognitoLoginProviderKey'

該当のソースコード

swift

1override func viewDidAppear(_ animated: Bool) { 2 3 let token = FBSDKAccessToken.current() 4 if (nil != token) { 5 FBSDKGraphRequest( 6 graphPath: "me", parameters: ["fields": "name"] 7 ).start(completionHandler: { (connection, result, error) -> Void in 8 if (nil == error) { 9 guard let data = result as? [String:Any] else { return } 10 self.myName = data["name"] as! String 11 print("myName:", self.myName) 12 } else { 13 print("Error:", error?.localizedDescription as Any) 14 //前の画面に戻る 15 self.dismiss(animated: true, completion: nil) 16 } 17 }) 18 } else { 19 // トークンが取得できなかった場合 20 self.dismiss(animated: true, completion: nil) 21 } 22 23 let credentialsProvider = AWSCognitoCredentialsProvider( regionType: self.REGION_TYPE, identityPoolId: self.IDENTITY_POOL_ID) 24 let configuration = AWSServiceConfiguration ( region: self.REGION_TYPE, credentialsProvider: credentialsProvider) 25 AWSServiceManager.default().defaultServiceConfiguration = configuration 26 credentialsProvider.logins = [AWSCognitoLoginProviderKey.Facebook.rawValue: token.tokenString] //←エラー「Use of unresolved identifier 'AWSCognitoLoginProviderKey'」 27 28 }

補足情報(FW/ツールのバージョンなど)

xcode Version 9.3
ios 11.3
cocoapods 1.5.0
↓導入したPods
AWSAuthCore (2.6.16)
AWSAuthUI (2.6.16)
AWSCognitoIdentityProvider (2.6.16)
AWSCognitoIdentityProviderASF (1.0.1)
AWSCore (2.6.16)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おそらくこれと同じ問題ではないでしょうか?
https://teratail.com/questions/87002
たどっていくとAWS iOS SDK 2.4.0以上ではFacebook認証は動かないということだそうです。

AWS公式サイトのFacebookとの統合方法
https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/facebook.html

投稿2018/04/16 21:28

編集2018/04/16 21:32
newmt

総合スコア1277

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lernon

2018/04/17 10:44

いつも助けていただいてありがとうございます。 AWS iOS SDK 2.4.0以上だとFacebook認証は動かないんですね。 送っていただいた https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/facebook.htmlhttps://qiita.com/Takuro-Ito/items/2cf927a2af2f686e9f39 を参考にしながら、カスタムクラスを作る対処を行なったのですが、 ↓のクラスを作った後どのようにuserpoolにログインするのかがわかりません・・・ class FacebookProvider: NSObject, AWSIdentityProviderManager { func logins() -> AWSTask<NSDictionary> { if let token = AccessToken.current?.authenticationToken { return AWSTask(result: [AWSIdentityProviderFacebook:token]) } return AWSTask(error:NSError(domain: "Facebook Login", code: -1 , userInfo: ["Facebook" : "No current Facebook access token"])) } } 質問文のコード( credentialsProvider.logins = [AWSCognitoLoginProviderKey.Facebook.rawValue: token.tokenString] )を↓のように変えてみたのですが、こういった方向性で合っているのでしょうか? let myFBProvider = FacebookProvider.self credentialsProvider.logins = myFBProvider.logins(FacebookProvider) 質問ばかりで申し訳ないのですが、お時間が空いていましたら教えたいただけないでしょうか?
lernon

2018/04/20 11:57

回答が遅れて申し訳ありません。 送っていただいたURLを参考に試してみたのですが、上手くいかず・・・ AWSに関する新しい書籍が出ていたのでそちらを購入して、別のやり方はないか考えてみます。 何度もありがとうございます!
lernon

2018/04/20 22:05

とんでもないです! 記事ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問