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

asked 4 years ago259 views
1 Answer
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

answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions