aws Rekognition не инициализируется на iOS

похоже, что документации по распознаванию текста AWS iOS внутри изображения очень мало или совсем нет. Я прошел через процесс создания IAM AWS с разрешениями на Rekognition и т. Д., Я создал свое «мобильное приложение» на AWS из этого профиля и получил файл json, который включен в мой проект.

введите описание изображения здесь

Я без проблем инициализирую «стек» AWS и в App Delegate.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    AWSDDLog.add(AWSDDTTYLogger.sharedInstance)
    AWSDDLog.sharedInstance.logLevel = .info

    return AWSMobileClient.sharedInstance().interceptApplication(
        application,
        didFinishLaunchingWithOptions: launchOptions)
}

Я получаю сбой в моем ViewController:

    override func viewDidLoad() {
    super.viewDidLoad()

    let rekognitionClient = AWSRekognition.default() // CRASH HERE BOOM

    let sourceImage = UIImage(named: "corolla")

    let image = AWSRekognitionImage()
    image!.bytes = UIImageJPEGRepresentation(sourceImage!, 0.7)

    guard let request = AWSRekognitionDetectLabelsRequest() else {
        puts("Unable to initialize AWSRekognitionDetectLabelsRequest.")
        return
    }

    request.image = image
    request.maxLabels = 3
    request.minConfidence = 90

    rekognitionClient.detectLabels(request) { (response:AWSRekognitionDetectLabelsResponse?, error:Error?) in
        if error == nil {
            print(response!)
        }
    }

}

Авария показывает это:

2018-07-27 11:22:10.064126-0400 Plater[13491:5229604] *** Terminating app due    to uncaught exception 'NSInternalInconsistencyException', reason: 'The service configuration is `nil`. You need to configure `awsconfiguration.json`, `Info.plist` or set `defaultServiceConfiguration` before using this method.'
*** First throw call stack:
(
0   CoreFoundation                      0x0000000110d3e1e6 __exceptionPreprocess + 294
1   libobjc.A.dylib                     0x000000010d7d4031 objc_exception_throw + 48
2   AWSRekognition                      0x000000010caf19ac __36+[AWSRekognition defaultRekognition]_block_invoke + 492
3   libdispatch.dylib                   0x0000000111dc97ec _dispatch_client_callout + 8
4   libdispatch.dylib                   0x0000000111dcad64 dispatch_once_f + 285
5   AWSRekognition                      0x000000010caf1794 +[AWSRekognition defaultRekognition] + 84
6   Plater                              0x000000010bd6c5ec _T06Plater14ViewControllerC11viewDidLoadyyF + 124
7   Plater                              0x000000010bd6d364 _T06Plater14ViewControllerC11viewDidLoadyyFTo + 36
8   UIKit                               0x000000010e214131 -

Насколько я могу судить, мне кажется, что я каким-то образом должен настроить Rekognition внутри моего json файла? Я не видел этой опции, когда файл json создавался на веб-сайте AWS ...

Любые идеи?


person geekyaleks    schedule 27.07.2018    source источник
comment
Вы нашли решение? Поделись, пожалуйста   -  person God Himself    schedule 28.08.2018


Ответы (1)


Я столкнулся с той же проблемой, пытаясь использовать другой сервис AWS. Добавление службы в мой awsconfiguration.json файл сработало:

"Rekognition": {
    "Default": {
        "Region": "us-east-1"
    }
}

Источник: мне не удалось найти это в документации, но SDK - это открытый исходный код

person cdamayor    schedule 28.07.2018