全部產品
Search
文件中心

Intelligent Media Management:Swift SDK

更新時間:Nov 20, 2024

阿里雲API調試工具OpenAPI Explore提供OpenAPI文檔、API調試和SDK樣本,協助您快速入門API開發。本文介紹如何安裝和快速使用Intelligent Media ManagementSwift SDK。

前提條件

安裝SDK

重要

調用2020-09-30版本的API,需要使用2020-09-30版本的SDK。

使用Intelligent Media ManagementSwift SDK的操作步驟請參見快速入門

使用方法

如下以在華東1(杭州)地區中檢測圖片中的人臉及人臉資訊為例介紹如何使用Intelligent Media ManagementSwift SDK。

說明

複製使用如下範例程式碼時請將訪問網域名稱換成您的IMM專案所在Region的網域名稱,並且IMM專案和OSS檔案Region需要保持一致。

#!/usr/bin/env xcrun swift

import Cocoa
import Foundation
import Tea
import AlibabacloudImm20200930
import AlibabacloudOpenApi
import TeaUtils

open class Client {
    public static func createClient(_ accessKeyId: String?, _ accessKeySecret: String?) throws -> AlibabacloudImm20200930.Client {
        var config: AlibabacloudOpenApi.Config = AlibabacloudOpenApi.Config([
            "accessKeyId": accessKeyId as! String,
            "accessKeySecret": accessKeySecret as! String
        ])
        // 填寫專案所在地區的IMM服務網域名稱。
        config.endpoint = "imm.cn-hangzhou.aliyuncs.com"
        return AlibabacloudImm20200930.Client(config)
    }

    @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
    public static func main(_ args: [String]?) async throws -> Void {
        // 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        // 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        // 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。如何配置環境變數,請參見https://www.alibabacloud.com/help/document_detail/2361894.html。
        let accessKeyId = ProcessInfo.processInfo.environment["AccessKeyId"]
        let accessKeySecret = ProcessInfo.processInfo.environment["AccessKeySecret"]
        var client: AlibabacloudImm20200930.Client = try Client.createClient(accessKeyId, accessKeySecret)
        var detectImageFacesRequest: AlibabacloudImm20200930.DetectImageFacesRequest = AlibabacloudImm20200930.DetectImageFacesRequest([
            // IMM專案名稱。
            "projectName": "immtest",
            // 待檢測圖片的OSS URI。
            "sourceURI": "oss://test-bucket/test-object.jpg"
        ])
        var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
        do {
            // 發起請求。
            try await client.detectImageFacesWithOptions(detectImageFacesRequest as! AlibabacloudImm20200930.DetectImageFacesRequest, runtime as! TeaUtils.RuntimeOptions)
        }
        catch {
            if error is Tea.TeaError {
                try TeaUtils.Client.assertAsString(error.message)
            } else {
                throw error
            }
        }
    }
}

Client.main(CommandLine.arguments)