---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowAttachmentMetadata 구조 - iOS

# NowAttachmentMetadata 구조 - iOS {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

NowAttachmentMetadata 구조는 첨부 파일 메타데이터를 인코딩하고 관리할 수 있는 함수를 제공합니다.
{#NowAttachmentMetadataiOSStructure__table_vx2_klw_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| averageImageColor (평균 이미지 색상) | 문자열 | 연결된 이미지에서 가장 지배적인 색상입니다. |
| chunkSizeInBytes (청크 크기 인 바이트) | 정수 | 청크의 크기입니다. 단위: 바이트 |
| compressedSizeInBytes (압축된 크기 인바이트) | 정수 | 첨부 파일의 압축 크기입니다. 단위: 바이트 |
| created | 날짜 | 첨부 파일이 생성된 날짜입니다. |
| createdBy | 문자열 | 첨부 파일을 생성한 엔터티입니다. |
| 다운로드 | URL | 인스턴스의 첨부 파일 URL입니다 ServiceNow . |
| fileName | 문자열 | 첨부 파일의 이름입니다. |
| 해시 | 문자열 | 첨부 파일에 필요한 SHA256 다이제스트입니다. 다운로드된 첨부 파일은 계산된 다이제스트와 이 SHA256 다이제스트를 비교하여 [유효성을 검사](https://servicenow-prod.fluidtopics.net/dfVg5JXyXuWPGMhKuYBPHA#NAttachiOS-validate "첨부 파일 데이터에 대해 계산된 해시를 첨부 파일 메타데이터에 저장된 다이제스트와 비교하여 첨부 파일의 유효성을 확인합니다.") 합니다. |
| imageHeight (이미지 높이) | 정수 | 이미지의 높이입니다. 단위: 픽셀 |
| 이미지 너비 | 정수 | 이미지의 너비입니다. 단위: 픽셀 |
| isCompressed | 부울 | 첨부 파일이 압축되었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 첨부 파일이 압축됩니다. * false: 첨부 파일이 압축되지 않았습니다. |
| mimeType | 문자열 | 첨부 파일 MIME 유형입니다. |
| 수정 횟수 | 정수 | 첨부 파일이 수정된 횟수입니다. |
| sizeInBytes (영문) | 정수 | 첨부 파일의 크기입니다. 단위: 바이트 |
| sourceSysId | 문자열 | 첨부 파일의 Sys_id입니다. |
| 소스 테이블 이름 | 문자열 | 첨부 파일이 있는 소스 테이블의 이름입니다. |
| 상태 |   | 조건부, 사용 불가능, 사용 가능 및 보류 중과 같은 가용성 상태입니다. |
| sysId | 문자열 | 인스턴스의 각 기록을 식별하는 32자의 고유한 GUID(전역 고유 ID)입니다 ServiceNow . |
| 태그 | 문자열 | 첨부 파일과 연결된 태그의 목록입니다. |
| 업데이트됨 | 날짜 | 첨부 파일을 마지막으로 수정한 날짜입니다. |
| updatedBy | 문자열 | 첨부 파일을 업데이트한 엔터티입니다. |
[표 1. 속성]

{#NowAttachmentMetadataiOSStructure__table_vx2_klw_5pb}

## NowAttachmentMetadata - encode(인코더로: 인코더로) {#ariaid-title2}

지정된 인코더를 사용하여 현재 개체 값을 데이터로 인코딩합니다.
개체를 데이터로 인코딩하지 못하면 인코더는 해당 위치에 빈 [키 컨테이너](https://developer.apple.com/documentation/swift/keyeddecodingcontainer) 를 인코딩합니다. 또한 이 함수는 지정된 인코더의 형식에 대해 잘못된 값이 있는 경우에도 오류를 throw합니다.
{#NAttMeta-encode_S__table_vx2_klw_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 인코더로 | [인코더](https://developer.apple.com/documentation/swift/encoder) | 인코딩된 출력의 구조를 정의하는 인코더입니다. |
[표 2. 매개변수]

{#NAttMeta-encode_S__table_vx2_klw_5pb} {#NAttMeta-encode_S__table_wx2_klw_5pb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 3. 반환]

{#NAttMeta-encode_S__table_wx2_klw_5pb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)
    metadataPublisher(filter: filter, limit: 1)
    private func metadataPublisher(filter: Filter?, limit: Int?) {
      let publisher = attachmentService.attachmentMetadata(filter: filter, limit: limit)
      publisher
      .receive(on: DispatchQueue.main)
      .encode(encoder: JSONEncoder())
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // attachment published failed, return NowDataError
        }
      } receiveValue: { [weak self] (data) in
        // Attachment published successful, return data
      }
      .store(in: &subscriptions)
    }

## NowAttachmentMetadata - init(디코더에서: Decoder) {#ariaid-title3}

지정된 디코더의 개체로 데이터를 디코딩하여 새 NowAttachmentMetadata 인스턴스를 만듭니다.
이 메서드는 디코더에서 읽기가 실패하거나 읽은 데이터가 손상되었거나 유효하지 않은 경우 오류를 throw합니다.
{#NAttMeta-init_S__table_phq_nkw_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 해독기 | 해독기 | 데이터를 읽을 디코더입니다. |
[표 4. 매개변수]

{#NAttMeta-init_S__table_phq_nkw_5pb} {#NAttMeta-init_S__table_qhq_nkw_5pb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 5. 반환]

{#NAttMeta-init_S__table_qhq_nkw_5pb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    guard 
      let metadataHeader = response.httpResponse?.value(forHTTPHeaderField: NowAttachment.attachmentMetadataHeaderKey),
      let metadataHeaderData = metadataHeader.data(using: .utf8) else {
        throw NowDataError.missingAttachmentMetadata
      }
                
    let metadata = try coder.decode(NowAttachmentMetadata.self, from: metadataHeaderData)
    let attachment = NowAttachment(metadata: metadata, data: response.data)


