Swiftyinsta: БпроситС ΠΎ credentials.code

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 9 ΠΎΠΊΡ‚. 2019  Β·  19ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: TheM4hd1/SwiftyInsta

ΠŸΡ€ΠΈΠ²Π΅Ρ‚,
ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π° скаТи ΠΌΠ½Π΅. Π£ мСня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ΠŸΡ€ΠΈ запросС Π² func login я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ SMS с ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я зарСгистрировал Π² credentials.code = "121332".
Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? Π§Ρ‚ΠΎ я дСлаю Π½Π΅ Ρ‚Π°ΠΊ?

Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΊΠΎΠ΄

class ViewController: UIViewController {

let handler = APIHandler()    
override func viewDidLoad() {
    super.viewDidLoad()
    login()
}

func login() {
    var credentials = Credentials(username: "username", password: "password", verifyBy: .text)
    credentials.code = "121332"

    handler.authenticate(with: .user(credentials)) { [weak self] in
        switch $0 {
        case .success(let response, _):
            print("Login successful.")
            guard let key = response.persist() else { return print("`Authentication.Response` could not be persisted.") }
            UserDefaults.standard.set(key, forKey: "current.account")
            UserDefaults.standard.synchronize()

            self?.getCurrentUser()
        case .failure(let error):
            if error.requiresInstagramCode {
            } else {
            }
        }
    }
}

func getCurrentUser() {
    self.handler.users.user(.me) { ( result: Result<User?, Error>) in
        switch result {
        case .success(let user):
            let username = user?.name ?? "John Doe"
            print("success, username: \(username)")
        case .failure(let error):
            print("failure, error: \(error.localizedDescription)")
        }
    }
}

}

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΌΠ½Π΅ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, я Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ занят.
Π― надСюсь, Ρ‡Ρ‚ΠΎ скоро смогу ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½

ВсС 19 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ credentials.code = "121332" послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ .failure(let error) .
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ асинхронно Π²Π½ΡƒΡ‚Ρ€ΠΈ if error.requiresInstagramCode {Β } ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всС Π΅Ρ‰Π΅ сущСствуСт
https://prnt.sc/pgyf15
ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, Π½Π΅ отправляСт этот ΠΊΠΎΠ΄

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π±Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ останова. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ фактичСски останавливаСтС ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ достигаСт этой строки, поэтому ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ запрос ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ credentials.code . :ΠΊΡ€Π°ΡΠ½Π΅Ρ‚ΡŒ:
Если это ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняСт, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ credentials (хотя это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠΆΡƒ ΠΈΠ· вашСго Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, tbh).

https://prnt.sc/pgynah
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всС Π΅Ρ‰Π΅ сущСствуСт. Π₯ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² .user, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ссли Π΅ΡΡ‚ΡŒ .credentials (ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅), Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка

.user - ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.
.credentials использовалось Π² development ΠΈ я Π·Π°Π±Ρ‹Π» Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Бпасибо, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π»ΠΈ. Π― сСйчас помСняю.
Π― всС Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ сообщСниС ΠΎΠ± ошибкС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽ Π΅Π³ΠΎ ΠΏΠΎ-своСму, ΠΈ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ πŸ€”

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я Π½Π΅ Π²ΠΈΠΆΡƒ этого Π½Π° вашСм послСднСм снимкС экрана, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с сохранСниСм credentials Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ code послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Error ?
ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это, каТСтся, СдинствСнноС, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ дСлаСшь ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, tbh 😞

Если я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ .credentials, Ρƒ мСня Π±ΡƒΠ΄Π΅Ρ‚ эта ошибка https://prnt.sc/pgyvlx
Π― размСстил вСсь свой ΠΊΠΎΠ΄ Π² основном сообщСнии.
Π― дСлаю Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСния?

.user - ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, .credentials ΠΏΠΎ ошибкС Π±Ρ‹Π» сохранСн Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ объявлСниС credentials ΠΏΠΎΠ΄ handler one. Как Β«ΠΎΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Π² собствСнности» ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.
Π’ΠΎΠ³Π΄Π° это Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

let handler = APIHandler()
let credentials = Credentials( … )

func login() {
  …
}

это вСсь ΠΊΠΎΠ΄, всС Ρ€Π°Π²Π½ΠΎ Π΅ΡΡ‚ΡŒ ошибка (

ΠΈΠΌΠΏΠΎΡ€Ρ‚ UIKit
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SwiftyInsta

class ViewController: UIViewController {
ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ = APIHandler ()
var credentials = Credentials (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: «имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ», ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: Β«ΠΏΠ°Ρ€ΠΎΠ»ΡŒΒ», verifyBy: .text)

override func viewDidLoad() {
    super.viewDidLoad()
    login()
}

func login() {

    handler.authenticate(with: .user(credentials)) { [weak self] in
        switch $0 {
        case .success(let response, _):
            print("Login successful.")
            guard let key = response.persist() else { return print("`Authentication.Response` could not be persisted.") }
            UserDefaults.standard.set(key, forKey: "current.account")
            UserDefaults.standard.synchronize()
            self?.getCurrentUser()
        case .failure(let error):
            if error.requiresInstagramCode {
                self!.credentials.code = "178063"
            } else {
            }
        }
    }
}

func getCurrentUser() {
    self.handler.users.user(.me) { ( result: Result<User?, Error>) in
        switch result {
        case .success(let user):
            let username = user?.name ?? "John Doe"
            print("success, username: \(username)")
        case .failure(let error):
            print("failure, error: \(error.localizedDescription)")
        }
    }
}

}

А Π² Ρ‡Π΅ΠΌ ошибка Π½Π° этот Ρ€Π°Π·? @ rmelnik7777

2019-10-09 17: 32: 25.333892 + 0300 TestInsta [9747: 281440] [] nw_connection_receive_internal_block_invoke [C1] НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ с ошибкой Β«ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π°Β»

https://prnt.sc/pgzldk

На самом Π΄Π΅Π»Π΅ это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ _Xcode_, Π° Π½Π΅ Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сгСнСрированноС SwiftyInsta πŸ€”

Π£ мСня аналогичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. НСпонятно, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π±Π»ΠΎΠΊ сбоя для установки ΠΊΠΎΠ΄Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· смс. НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ?

ЗдравствуйтС, Ρƒ мСня Ρ‚ΠΎΠΆΠ΅ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ прилоТСния для Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ?

@sbertix скоро ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€.
ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠΈ.

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΌΠ½Π΅ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, я Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ занят.
Π― надСюсь, Ρ‡Ρ‚ΠΎ скоро смогу ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Swift, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, я нашСл ΠΎΡˆΠΈΠ±ΠΊΡƒ:

  • Π—Π΄Π΅ΡΡŒ Π²Ρ‹ создаСтС ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ копию user (экзСмпляр Credentials ) ΠΈ устанавливаСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.
  • Но Π² этой строкС это исходный экзСмпляр Credentials , поэтому Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства handler Π½Π΅ установлСно. Ѐункция authentification.code() Π½Π΅ вызываСтся.

Π£ мСня Π½Π΅ Π±Ρ‹Π»ΠΎ возмоТности ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ это дальшС, Π½ΠΎ с Ρ‚Π΅ΠΌ ΠΆΠ΅ успСхом ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ. По-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Credentials ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ struct Π° Π½Π΅ ΠΊΠ°ΠΊ class , Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ прСдпосылкой для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ссылкС.
По-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π»ΠΈΠ±ΠΎ исправил Π² своСй локальной вСрсии, Π»ΠΈΠ±ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я внСс Π² master процСссС, ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠ°ΠΊ таковая.
Π― ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС для # 96, Π½ΠΎ Π² послСднСС врСмя Ρƒ мСня Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ИзвинСния.
@Lyusan

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

sbertix picture sbertix  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

sbertix picture sbertix  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

reefer picture reefer  Β·  18ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

effecttwins picture effecttwins  Β·  16ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

trentona picture trentona  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ