AWS Transcribe stuck in getTranscriptionJob in iOS

0

I'm trying to use AWS Transcribe in an iOS app using the aws-sdk-ios. The app starts a transcription job and I can see the job on the AWS console. But the app can't list the jobs, or get a specific job, because it gets stuck in the request to getTranscriptionJob or listTranscriptionJobs, as these requests never complete (I added a print statement and a breakpoint inside the completion block, and it never prints, nor reaches the breakpoint).

I uploaded to GitHub a sample single-view app demonstrating the problem. You'll need an AWS account or IAM user with full permissions on S3 and Transcribe. Insert that account's keys and S3 bucket in ViewController.swift in the appropriate variables.

https://github.com/joaomarceloods/AWSTranscribeBug

I need help. Is this a bug, or am I doing something wrong?

Swift, iOS 13.2, CocoaPods, AWSCore 2.12.1, AWSTranscribe 2.12.1

已提问 4 年前263 查看次数
1 回答
0

I found a solution.

I still don't understand why getTranscriptionJob freezes, but it will execute normally if you run it on DispatchQueue.global():

.continueWith(executor: AWSExecutor(dispatchQueue: DispatchQueue.global())) {

Sample code diff: https://github.com/joaomarceloods/AWSTranscribeBug/commit/98e43af553413ed2bbd0c3f96e259139a991303e

Reference: https://aws-amplify.github.io/docs/ios/how-to-ios-asynchrounous-tasks#executing-a-block-on-the-main-thread-with-awstask

Edited by: joaomarceloods on Dec 14, 2019 3:18 PM

已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则