iOS Release Note

iOS Release Note

2.3.32

Released date: 2025-12-30

Added Features

  • 컨텐츠 다운로드 이벤트 데이터 전송

    • 변경이유 : QoE 데이터 수집

    • 영향범위 : No

    • App 변경 여부 : No


2.3.31

Released date: 2025-12-10

Added APIs

  • “Chapter.h” 추가

    • /// 챕터 Dictionary
      @interface ChapterDict : NSObject
      /// 챕터 언어
      @property (nonatomic, retain) NSString* strLanguage;
      /// 챕터 리스트
      @property (nonatomic, retain) NSMutableArray* listChapter;

      /// 챕터 내용
      @interface Chapter : NSObject
      /// 챕터 위치
      @property (nonatomic, unsafe_unretained) NSTimeInterval position;
      /// 문자
      @property (nonatomic, retain) NSString *value;

    • 변경이유 : 챕터 정보를 넣어 영상을 쉽게 탐색

    • 영향범위 : No

    • App 변경 여부 : No

  • "KollusPlayerView.h" 에서 

    • /// Chapter 정보 리스트
      @property (nonatomic, readonly) NSMutableDictionary* chapterInfo;

    • 변경이유 : 챕터 정보를 넣어 영상을 쉽게 탐색

    • 영향범위 : No

    • App 변경 여부 : No

  • App에서 사용 예제 :

    •  func kollusPlayerView(_ kollusPlayerView: KollusPlayerView!, prepareToPlayWithError error: Error!) 이후에 적용

    • 함수 func setChapterInfo() 참조

    • if let chapterInfo = playerView.chapterInfo as? [String: ChapterDict] { if chapterInfo.keys.contains("default_language_code") { NLog("챕터 언어에 \(String(describing: "default")) 값이 존재합니다.") chapterList = chapterInfo["default_language_code"]?.listChapter as! [Chapter] } else { NLog("챕터 언어에 default 값이 없습니다.") } NLog("chapterList : \(chapterList)") for chapter in chapterList { let value = (Float(chapter.position))/Float(data!.duration) controlView.sliderView.addChapter(value: value) } }

Fixed

  • Live 재생 시 play callback으로 tv out 설정 오류 수정

    • 변경이유 : 오류 수정

    • 영향범위 : No

    • App 변경 여부 : No


2.3.30

Released date: 2025-11-10

Added APIs

  • "KollusPlayerView.h" 에서

    • /// Content Provider Key

      @property (nonatomic) NSString *contentProviderKey;

    • 변경이유 : 사용자 행동 분석 action stats에서 데이터의 활용(KollusPlayer only)

    • 영향범위 : No

    • App 변경 여부 : No

Added Features

  • Kollus Edge에서 다운로드 시 keep-alive 적용

    • 변경이유 : network connect에 소모되는 시간 및 리소스를 절약

    • 영향범위 : No

    • App 변경 여부 : No

  • network api 신규 필드 추가 및 timestamp 변경

    • 변경이유 : 수집된 QoE 데이터 활용

    • 영향범위 : No

    • App 변경 여부 : No

  • action stats api에 cpk 필드 추가

    • 변경이유 : 사용자 행동 분석 action stats에서 데이터의 활용성을 높임

    • 영향범위 : No

    • App 변경 여부 : No


2.3.29

Released date: 2025-10-27

Added Features

  • 사용자 행동분석 데이터 전송 on/off (KollusPlayer only)

    • 변경이유 : SDK 사용고객 해당없음, 고객별로 사용자 행동분석 데이터 전송을 on/off 하는 시나리오가 추가

    • 영향범위 : No

    • App 변경 여부 : No

  • UserAgent의 device type 상세 구분

    • 변경이유 : device별 hit 구분

    • 영향범위 : No

    • App 변경 여부 : No

  • 다운로드 요청시 DRM Callback 응답 내 고객사에서 설정한 메세지 미노출 수정

    • 변경이유 : 컨텐츠 다운로드 요청 시, DRM Callback 응답을 false로 했을 때, 설정되어 있는 message로 노출

    • 영향범위 : No

    • App 변경 여부 : No


2.3.28

Released date: 2025-08-12

Added Features

  • PIP 모드 재생 시 녹화 방지

    • 변경이유 : PIP 모드 재생 시 녹화 방지

    • 영향범위 : No

    • App 변경 여부 : No


2.3.27

Released date: 2025-08-06

Added Features

  • Live 재생중 알려진 블랙 스크린 발생시 에러코드 및 에러 리포트

    • 변경이유 : 블랙 스크린 발생 파악

    • 영향범위 : No

    • App 변경 여부 : No


2.3.26

Released date: 2025-06-24

Added Features

  • 네트워크 품질 모니터링

    • 변경이유 : 네트워크 품질 수집

    • 영향범위 : No

    • App 변경 여부 : No


2.3.25

Released date: 2025-06-05

Added APIs

  • “KollusStorage.h" 에서

    • /// Kollus SDK 스토리지 폴더 설정 : 하위 폴더로 kollus 생성

      @property (nonatomic, copy, readonly) NSString *storagePath;

    • (BOOL)setKollusPath:(NSString *)path;

    • 변경이유 : SDK 스토리지 지정 폴더 API추가

    • 영향범위 : No

    • App 변경 여부 : No

  • App에서 사용 예제

    • (BOOL)startStorage:(NSError**)error; 호출 전에 사용

      storage = KollusStorage() let dateString = "2025/12/31" storage.applicationKey = "4172322ee271bxxxxxxxxxxx…..2880b2411" storage.applicationBundleID = "com.example.KollusPlayer" let paths = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true) storage.setKollusPath(paths.first) try storage.start()

경고 : 이 메서드는 신규 앱에서만 사용해야 됨. 그렇지 않으면 기존 download된 컨텐츠는 볼 수 없음

startStorage 함수를 호출 전에 사용해야 됨 default path로 Documnet 폴더를 사용


2.3.24

Released date: 2025-05-15

Added APIs

  • “SubTitleInfo.h" 에서

    • /// AI 자막 여부

      @property (nonatomic) BOOL isAISubtitles;

    • 변경이유 : AI자막여부를 확인할 수 있는 API추가

    • 영향범위 : No

    • App 변경 여부 : No


2.3.23

Released date: 2025-03-25

Added APIs

  • "KollusPlayerView.h" 에서

    • /// Content Provider Name

      @property (nonatomic) NSString *contentProviderName;

    • 변경이유 : 고객사 이름 제공

    • 영향범위 : No

    • App 변경 여부 : No

    • /// 백그라운드 재생 가능 여부

      @property (nonatomic, unsafe_unretained, readonly) BOOL disableBackgroundAudio;

    • 변경이유 : 백그라운드 상태에서 컨텐츠 재생 여부

    • 영향범위 : No

    • App 변경 여부 : No


2.3.22

Released date: 2025-02-25

Added Features

  • KollusSDK 에러수집 고도화

    • 변경 이유 : Player 초기화 이전에 발생하는 에러 수집 목적

    • 영향 범위 : No

    • App 변경 여부 : No

Fixed

  • HW Decoder 사용 시 Background에서 일시정지 상태로 Foreground로 전환시 currentPlaybackTime 오류 수정

    • 변경 이유 : 오류 수정

    • 영향 범위 : No

    • App 변경 여부 : No

  • HW Decoder 로 재생 중 재생을 종료하면서 백그라운드 진입 시 앱 충돌 현상 수정

    • 변경 이유 : 오류 수정

    • 영향 범위 : No

    • App 변경 여부 : No


2.3.21

Released date: 2025-02-06

Added Features

  • iOS KollusPlayer SDK 지원 최소 OS : iOS 15.0 부터 지원

    • 변경 이유 : Xcode16에서는 on-device debugging이 iOS15부터 지원함

    • 영향 범위 : YES(iOS15 미만 단말에서는 지원하지 않음)

    • App 변경 여부 : YES(Xcode 설정에서 Minmum Deployments를 최소 15.0으로 변경해야 함)

Fixed

  • iOS HLS 스트리밍 재생시 m3u8 header 부분에 Last-modified 확인하는 부분 제거

    • 변경 이유 : On the fly 방식으로 HLS를 스트리밍하는 경우 header 부분에 Last-modified 정보가 포함되지 않아 재생 불가 상태임

    • 영향 범위 : No

    • App 변경 여부 : No


2.3.20

Released date: 2025-01-14

Added APIs

  • "KollusPlayerView.h" 에서

    • /// 다음 회차 재생 Show Button

      @property (nonatomic, unsafe_unretained, readonly) BOOL nextEpisodeShowButton;

    • 변경이유 : 다음회차 자동재생 설정이 On인 경우라도 media_info option에 따라 [다음회] 버튼을 show/hide 처리

    • 영향범위 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

    • App 변경 여부 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

Deleted APIs

  • "KollusPlayerView.h" 에서

    • /// Audio water mark 여부

      @property (nonatomic, unsafe_unretained, readonly) BOOL isWaterMark;

    • 변경이유 : AWT(Audio watermark) EOL 선언 & 현재 사용고객이 없는 상태임.

    • 영향범위 : No

    • App 변경 여부 : No

Added Features

  • debug SDK 사용시 UI 구분

    • Debug용 SDK를 사용하여 App을 build 한 경우 사용자가 인지할 수 있도록 UI를 추가. (Debug 문자를 영상 상단에 표시)

    • 변경이유 : Debug용 SDK를 배포 App에 적용되는 것을 방지

    • 영향범위 : No

    • App 변경 여부 : No

  • 컨텐츠별 미디어인포 복호화 키 적용

    • 콘텐츠별 미디어인포 암호화키를 적용

    • 변경이유 : 보안 강화

    • 영향범위 : No

    • App 변경 여부 : No


2.3.19

Released date: 2024-12-17

Changed APIs

  • "KollusPlayerLMSDelegate.h" 에서

    • @param json 리퀘스트로 보낸 JSON 객체

       @param error 네트워크 에러(nil: 성공)

    •   (void)kollusPlayerView:(KollusPlayerView *)kollusPlayerView json:(NSDictionary *)json error:(NSError *)error;

    • =>

    • @param lmsData  lms data 정보

       @param resultJson  lms result 정보

    • (void)kollusPlayerView:(KollusPlayerView *)kollusPlayerView lmsData:(NSString *)lmsData resultJson:(NSDictionary *)resultJson;

    • 변경이유 : LMS data 정보에 전송받는 URL 추가 요청으로 API 변경

    • 영향범위 : Yes(빌드 오류가 발생하기 때문에 App에서 변경된 API로 적용해야 함)

    • App 변경 여부 : Yes(빌드 오류가 발생하기 때문에 App에서 변경된 API로 적용해야 함)

Added Features

  • 배속 설정시 자동재생 방지

    • 일시정지 상태에서 배속이벤트 > SDK에서 설정값을 보관후 Play이벤트 시점에 배속 값 적용

    • 변경이유 : 일시정지 상태에서 배속 설정하면 재생되는 현상 방지할 목적

    • 영향범위 : No

    • App 변경 여부 : No

  • seeking중에 Pause 이벤트 올 시 skip 처리

    • 컨텐츠 재생중에 seek 시 seek가 완료되기전에 pause 이벤트 올시 pause 결과가 일관성이 없음

    • 변경이유 : seek중에 pause 이벤트 > seek 동작에 영향을 줄 수 있으므로 무시하도록 함

    • 영향범위 : No

    • App 변경 여부 : No


2.3.18

Released date: 2024-11-07

Added APIs

  • "KollusPlayerView.h" 에서 ignoreZero 추가

    • /// 이어보기 시간 값이 작을 때에도 이어보기 유효

    • @property (nonatomic, unsafe_unretained, readonly) BOOL ignoreZero;

    • 재생URL의 Query parameter로 전달된 ign_z flag의 값을 반환합니다.(default: false)

    • 변경이유 : 이어보기 정보가 앞뒤로 일정시간 미만이면(KollusPlayer는 10초미만) 처음부터 재생하는 시나리오를 무시하고 이어보기를 원하는 고객사의 요구로 추가

    • 영향범위 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

    • App 변경 여부 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

Added Features

  • 이어보기 시간 값이 작을 때에도 이어보기 유효 flag

    • 재생URL의 Query parameter로 전달된 ign_z flag의 값을 반환합니다.(default: false)

    • 변경이유 : 이어보기 정보가 앞뒤로 일정시간 미만이면(KollusPlayer는 10초미만) 처음부터 재생하는 시나리오를 무시하고 이어보기를 원하는 고객사의 요구로 추가

    • 영향범위 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

    • App 변경 여부 : No(해당 flag 값을 필요로 하는 고객사에만 적용 필요)

  • Kollus DRM및 컨텐츠 보안 강화

    • 변경이유 : Kollus 보안 강화

    • 영향범위 : Kollus 사용 고객 (V/G 암호화 버전 업그레이드 및 DRM 암/복호화 모듈 업데이트)

    • App 변경 여부 : No


2.3.17

Released date: 2024-09-11

Added Features

  • LMS Callback 전달 항목 추가 개발(백그라운드, 포그라운드 시 타임스탬프 값)

    • 변경 이후 : 백그라운드에 사용자가 머물러 있는 시간을 계산하위 위한 기능 추가

    • 영향 범위 : 신규 API이므로 영향 없음

    • 앱 변경 여부 : 필요 없음


2.3.16

Released date: 2024-08-29

Added Features

  • on the fly DRM 적용 : 컨텐츠별 콜러스 DRM 적용


[V2.3.15] - 2024.08.13

  1. PallyConFPSSDK.framework 2.3.0 적용 : 앱에서 교체해야 함\

  2. SRT 자막 개행 문자 누락에 대한 예외처리

  3. StorageManager nil 이면 ERROR_KOLLUS_STORAGE_IS_EMPTY 에러 처리


[V2.3.14] - 2024.06.25

  1. PallyConFPSSDK.framework 2.1.0 적용 : 앱에서 교체해야 함


[V2.3.13] - 2024.06.19

  1. [KollusAVPlayerView checkOutPut] Crash 현상 예외처리 보완


[V2.3.12] - 2024.05.09

  1. AI배속 아이폰 재생시 끊기는 현상 개선


[V2.3.11] - 2024.04.15

  1. AI배속 콘텐츠는 ios_player_type에 따라 재생

  2. AI 배속 콘텐츠 정보 N-screen 에 추가 

  3. privacy manifest 파일 추가

/// 플레이어 타입 : hw, sw, native
@property (nonatomic, copy, readonly) NSString *iosPlayerType;


[V2.3.10] - 2024.03.28

  1. [KollusProxyPlayerView checkOutPut] Crash 현상 예외처리

  2. H/W Decoder 재생 시 Background Sound 재생 지원

  3. 다음회차 재생 시나리오 적용

  4. 다음회차 API 추가

/// 다음 회차 재생 Show Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nextEpisodeShowTime;
/// 다음 회차 재생 URL
@property (nonatomic, copy, readonly) NSString *nextEpisodeCallbackURL;
/// 다음 회차 재생 Params
@property (nonatomic, readonly) NSMutableDictionary *nextEpisodeCallbackParams;


[V2.3.9] - 2024.03.04

  1. LMS 콜백내 AI 배속 재생 시간 추가 : at_playtime 

  2. iOS 지원 : iOS12 이상 

  3. 연속 여러번 seek 시 이전 타이밍의 자막이 잠시 노출되는 현상 수정


[V2.3.8] - 2024.02.05

  1. player ID 변경되는 것을 방지하기 위해 backup 저장

  2. Native Player 에서도 AI 배속 정보 전달 


[V2.3.7] - 2024.01.12

  1. iOS Player sw 디코더 설정일 때 h265 영상 Seek 시 재생 화면이 비정상 출력되는 현상 수정

  2. AI 배속 기능

  3. 구간 재생 파라미터 추가
    AI 배속 관련 API 추가
    KollusPlayerView.h에서
    /// AI 배속 지원 여부
    @property (nonatomic, unsafe_unretained) BOOL AIRateEnable;

/**
AI 배속 사용 설정
@param YES(default): YES : AI 배속, NO : 일반 배속
*/

  • (void) setAIRate:(bool)bAIRate;

/// Repeat Start Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nRepeatStartTime;
/// Repeat End Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nRepeatEndTime;


[V2.3.6] - 2023.11.01

  1. H265 Hardware Decoder 기능 추가

  2. 북마크 타이틀에 urlencode 추가

  3. 고배속시 잔상남는 현상 수정


[V2.3.5] - 2023.08.10

  1. Request Header 추가


[V2.3.4] - 2023.08.08

  1. iOS SDK 영상 종료후 중앙 정렬 처리를 위해 앱에서 플레이어 release 처리 

  2. 유선 이어폰 연결시 재생 상태는 기존으로 유지 

  3. DRM 처리 변경


[V2.3.3] - 2023.07.05

  1. iOS 16.4.1 수강앱에서 sdk -2108 에러 수정
    : 언어 및 지역/켈린더에서 불교력 선택

  2. 유선 이어폰 연결시 A/V 싱크 이슈 수정


[V2.3.2] - 2023.05.16

  1. UI lock 걸리는 현상 수정


[V2.3.1] - 2023.05.08

Copyright © CATENOID, lnc. All Rights Reserved.
E-mail. support@catenoid.net | Tel. 1544-4367