Release Note – iOS SDK

Release Note

버전 명명은 유의적 버전-2.0.0을 따르도록 합니다

2.2.11(2017-06-30)

  • 변경
      • WebRTC 버전 업데이트 반영, heads59 r6
        • 2G 네트워크와 같이 열악한 네트워크에서 STUN RTO를보다 잘 작동하도록 향상시킵니다
        • 비디오 스케일링이 저해상도에서 멈추는 문제 수정
        • WiFi 상태에서 IPv6 사용여부 설정 추가
        • iOS8 이하 background mode 에서 AVCapture Session 충돌 개선
        • 패킷손실 측정하여 ICE Candidate 선택

2.2.10(2017-03-28)

  • 변경
      • WebRTC 버전 업데이트 반영, r16409

2.2.9(2017-01-24)

  • 추가
    • PlayRTC Camera Zoom 기능 추가
      • -(ValueRange*)getCameraZoomRange;
        • 현재 사용중인 카메라의 Zoom Leval 설정 범위를 반환
        • maxium값이 1 이면 지원 않함
      • -(float)getCurrentCameraZoom;
        • 현재 사용중인 카메라의 Zoom Leval 값을 반환
      • -(BOOL)setCameraZoom:(float)zoomLevel;
        • 현재 사용중인 카메라의 Zoom Leval을 지정
    • PlayRTC Camera WhiteBalance 기능 추가
      • -(PlayRTCWhiteBalance)getCameraWhiteBalance;
        • 현재 사용중인 카메라의 WhiteBalance를 반환
      • -(BOOL)setCameraWhiteBalance:(PlayRTCWhiteBalance)whiteBalance;
        • 현재 사용중인 카메라의 WhiteBalance를 지정
    • PlayRTC Camera 노출 보정 기능 추가
      • -(ValueRange*)getCameraExposureCompensationRange;
        • 현재 사용중인 카메라의 노출 보정값 설정 범위를 반환
        • maxium 값이 0 이면 지원 않함.
      • -(float)getCameraExposureCompensation;
        • 현재 사용중인 카메라의 노출 보정값을 반환
      • -(BOOL)setCameraExposureCompensation:(float)exposureCompensation;
        • 현재 사용중인 카메라의 노출 보정값을 지정
    • ValueRange Class 추가
      • min ~ max 값의 범위를 가지는 Range 관련

2.2.8(2016-11-24)

  • 변경 
    • WebRTC Core 버전 올림 – r15011
    • 카메라 해상도 지원
      • 352×288
      • 640×480 : default
      • 1280×720
  • 추가
    • PlayRTC
      • -(void) setCameraRotation:(int) degree;
        • 카메라 영상의 추가 회전 각도를 지정한다. 0, 90, 180, 270 
        • 현재의 카메라 지정한 각도를 더해 회전처리한다.
      • -(int)getCameraRotation;
        • 카메라 영상의 추가 회전 각도를 반환

2.2.7(2016-09-22)

  • 변경
    • Local SDP 조정 부분 수정
    • WebRTC Core 버전 올림 (r13790)

 

2.2.6(2016-07-26)

  • 변경
    • Local SDP 조정 부분 수정
  •  추가
    • PlayRTCConfig

      • -(void)setPrevUserMediaEnable:(BOOL)enable

        • Local UserMedia 객체 생성 시정 지정
        • true : default, 채널 서비스 입장 시 바로 생성(Camera open)
        • false : 채널 서비스 입장 후 상대방과 연결 수립과정을 시작할 때 생성

2.2.5(2016-06-16)

  • 변경 : 내부  수정
    • WebRTC Library version 12763 적용
    • PlayRTCObserver#onConnectChnnel 콜백 호출 후 PlayRTC#getUserPid 자신의 peerId 확인 가능 하도록 적용
    • – (PlayRTCConfig*)getConfig
      • PlayRTC 서비스 설정 정보 객체를 반환한다.
      • – (PlayRTCSettings*)getSettings 삭제 
  • 추가 :
    • PlayRTC
      • – (BOOL)isUsedBackCamera
        • 후방 카메라 사용 여부를 반환한다.
      • – (void)switchBackCameraFlashOn:(BOOL)on
        • 후방 카메라 플래쉬 On/Off 전환한다.
      • – (BOOL)isBackCameraFlashOn
        • 후방 카메라 플래쉬 사용 여부를 반환한다.
      • – (BOOL)getLoudspeakerStatus
        • 음성 Speaker 출력  Loud-Speaker 사용하도록 지정했는지 여부를 반환
    • PlayRTCVideoView : Bitmap Snapshot 기능 추가
      • PlayRTCVideoViewSnapshotObserver Interface Class 추가
        • -(void)onSnapshotImage:(UIImage*)image
      • – (void)snapshot:(id<PLayRTCVideoViewSnapshotObserver>)observer
        • Video View의 Snapshot Bitmap Image 생성
        • SnapshotObserver 인터페이스 구현 객체를 전달
    • PlayRTCMedia
      • -(BOOL)isVideoMute
        • Video 출력이 Mute 상태 인지 여부를 반환
      • -(BOOL)isAudioMute
        • Audio 출력이 Mute 상태 인지 여부를 반환
    • PlayRTCVideoConfig
      • -(void)setPreferCodec:(PlayRTCVideoCodec) codec
      • enumPlayRTCVideoCodec
        • Video 영상의 선호 코덱을 지정
        • 상호 SDK 교환과정에서 선호코덱을 사용할 수 있으면 사용됨. 코덱 미지원 시 다른 코덱 사용
    • PlayRTCAudioConfig
      • -(void)setPreferCodec:(PlayRTCAudioCodec) codec;
      • enum PlayRTCAudioCodec
        • Audio 선호 코덱을 지정
        • 상호 SDK 교환과정에서 선호코덱을 사용할 수 있으면 사용됨. 코덱 미지원 시 다른 코덱 사용
    • PlayRTCDfine.h
      • enum PlayRTCVideoCodec
      • enum PlayRTCAudioCodec
  • 삭제
    • PlayRTCFactory
      • +(PlayRTC*)newInstance:(PlayRTCSettings*)settings observer:(id<PlayRTCObserver>)observer
    • PlayRTCSettings Class 제거
      • PlayRTCSettings
      • LogSetting
      • ChannelSetting
      • ICEServerSetting
      • NagSetting
      • ConstraintSetting
      • AndroidSetting
      • VideoSetting

2.2.4(2016-04-07)

  • 변경 : 내부 버그 수정
    • 네트워크 연결 유형 체크 내부 버그 수정
    • P2P Connect, disconnect 마다 서버에 로그 전송하도록 변경
    • 상대방 Peer 채널에서 퇴장한 경우  TURN 서버 세션 갱신 안되는 문제 해결
  • 추가 : PlayRTCVideoView,  배경색 지정 기능 추가
    • – (void)bgClearColorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha
      • 배경화면 색을 RGBA (0.0 ~ 1.0) 지정
    • – (void)bgClearColor
      • 배경색으로 초기화
      • Video Stream출력이 없는 경우 잔상을 제거하고 배경색으로 초기화 함.

2.2.3(2016-02-18)

  • 수정 : PlayRTC Ring 관련 버그 수정
  • 수정 : PlayRTC IOS와 파이어 폭스 연결 안되는 문제 해결
    • WebRTC Core 버전 업데이트

2.2.2(2016-01-28)

  • 변경 : PlayRTCStatus P2P Event 버그 수정
    • PlayRTCStatusPeerConnected/PlayRTCStatusPeerDisconnected
      • P2P 연결이 끊어졌다 재 연결 과정에서   PlayRTCStatusPeerConnected/PlayRTCStatusPeerDisconnected 이벤트가 발생하도록 수정
  • 변경 : PlayRTC WiFi 네트워크 연결 복구 시 채널 서비스 재입장 버그 수정

2.2.1(2015-12-16)

  • 신규 : PlayRTC 메소드 추가
    • startStatsReport
      • P2P 상태 조회를 시작하는  인터페이스
      • PlayRTCStatsReportObserver 인터페이스
    • stopStatsReport
      • P2P 상태 조회를 중지하는 인터페이스
    • searchChannelByName
      • PlayRTC 채널서비스에 생성되어 있는 채널 정보를 채널 이름으로 조회한다
    • searchChannelByID
      • PlayRTC 채널서비스에 생성되어 있는 채널 정보를 채널 아이디로 조회한다
  • 신규 : PlayRTCStatsReportObserver 인터페이스 Class 추가
    • getStatsReport 호출 시 성탸겂을 전달 받기 위한 리스너 인터페이스
  • 신규 : PlayRTCStatsReport Class 추가
    •  getStatsReport 호출 시 성태값 조회 데이터를 전달하기 위한 Class
  • 신규 : PlayRTC에서 Bluetooth 장치 연결 기능 추가
    • 기존 미구현 기능을 추가

2.2.0(2015-11-12)

  • 변경 : IOS 개발 환경 준비
    • IOS SDK 2.2.0dms XCode 6.4에서 빌드
    • XCode 7.x (IOS 9) 관련
    • Build Options
    • MyApp > Targets > MyApp > Build Settings에서 다음과 같이 설정
    • Build Option -> Enable BitCode : NO
    • CFNetwork SSLHandshake failed (-9824) 관련info.plist 수정
    • My Project Folder > info.plist 파일을 열고 다음 항목 추가
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
  • 신규 : PlayRTCConfig Class 추가
    • Video 설정
    • Audio 설정
    • Data 통신 설정
    • Logging 설정
    • P2P BandWidth 설정
  • 신규 : PlayRTCFactory  메소드 추가
    • 기존의 newInstance 메소드는 향후 제거 예정.
    • + (PlayRTCConfig*)createConfig
      • PlayRTCConfig 인스턴스 생성
    • + (PlayRTC*)createPlayRTC:(PlayRTCConfig*)config observer:(id<PlayRTCObserver>)observer
      • PlayRTC 인터페이스 생성
  • 변경 : 상대방 채널 퇴장 시 다른 peer 연결 시 오류 수정.
    • 채널을 종료할지 않으면 계속 다른 사용자와 연결.

1.1.0 (2015-09-17)

  • 변경 : 로그 체계 개선

1.0.2 (2015-09-04)

  • 변경 : armv7, arm64 라이브러리 통합
    • Build Settings 항목 수정사항
      • Architectures
        • Architectures : Standars architecturese(armv7, arm64)
        • Build Active Architecture only : NO
        • Valid Architectures : armv7 armv7s arm64
      • 참고 : PlayRTC는 c++11[-std=c++], libc++ (LLVC C++ standard library with c++11 support) 로 빌드되었음
    • Build Phases 항목 수정사항
      • Link Binary Libraries
        • libsktplayrtc.universal.r9720.1.0.2.a -> playrtc 32/64 bit
        • libm.dylib
        • libstdc++.dylib
        • libc++.dylib
        • libsqlite3.dylib
        • libicucore.dylib
        • Foundation.framework
        • UIKit.framework
        • CoreTelephony.framework <—– 새로 배포된(1.0.2) 라이브러리 관련 추가 항목
        • CoreFoundation.framework
        • MobileCoreServices.framework
        • CFNetwork.framework
        • CoreAudio.framework
        • Security.framework
        • SystemConfiguration.framework
        • AVFoundation.framework
        • CoreMedia.framework
        • CoreVideo.framework
        • OpenGLES.framework
        • GLKit.framework
        • QuartzCore.framework
        • CoreGraphics.framework
        • AudioToolbox.framework
        • VideoToolbox.framework <— 새로 배포된(1.1.2) 라이브러리 관련 추가 항목
  • 변경 : PlayRTC 인스턴스 생성 변경. PlayRTCFactory.h
    • /**
      * PlayRTC 인터페이스를 구현한 PlayRTC Implement를 반환한다
      * @param settings PlayRTCSettings, PlayRTC Configureation
      * @param observer PlayRTCObserver, PlayRTC Event 리스너
      * @return PlayRTC
      */
      + (PlayRTC*)newInstance:(PlayRTCSettings*)settings observer:(id<PlayRTCObserver>)observer;
  • 신규 : VAudioSession 관리. PlayRTC.h
    • /*** AVAudioSession 제어 기능을 활성화 시키는 인터페이스
      * @return BOOL, 서비스 실패 시 false
      */
      – (BOOL)enableAudioSession;
      /**
      * 음성을 출력하는 Speaker를 지정하는 인터페이스
      * enableAudioSession를 호출하여 AudioSession Manager를 활성화 시켜야 한다.
      * @param enable BOOL, TRUE 지정 시 외부 Speaker로 소리가 출력되고, FALSE 시 EAR-Speaker로 출력. 기본은 EAR-Speaker
      * @return BOOL, 서비스 호출 실패 시 false
      */
      – (BOOL)setLoudspeakerEnable:(BOOL)enable;
  • 추가 :  카메라 전환. PlayRTC.h
    • /**
      * P2P연결 후 전/후방 카메라 전환
      */
      – (void)switchCamera;
  • 변경 : DataChannel 관련 이벤트 인터페이스 변경
    • PlayRTCDataSendObserver.h/*
      * 데이터 전송 진행 상태를 받기 위한 인터페이스
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * dataId : uint64_t, 수신하는 데이터의 고유 아이디
      * size : uint64_t, 데이터 전체 크기
      * index : int, 데이터 패킷 분할 전송 index
      * count : int, 데이터 패킷 분할 count
      */
      -(void)onSending:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId size:(uint64_t)size send:(uint64_t)send index:(int)index count:(int)count;
      /*
      * 데이터 전송 완료 상태를 받기 위한 인터페이스
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * dataId : uint64_t, 수신하는 데이터의 고유 아이디
      * size : uint64_t, 데이터 전체 크기
      */
      -(void)onSendSuccess:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId size:(uint64_t)size;
      /*
      * 데이터 전송 실패 상태를 받기 위한 인터페이스
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * dataId : uint64_t, 데이터 고유 아이디
      * code : PlayRTCDataCode, 오류 코드 정의
      * desc : NSString, description
      */
      -(void)onSendError:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId code:(PlayRTCDataCode)code desc:(NSString*)desc;————PlayRTCDataObserver.h
      /*
      * 상대방이 전송한 데이터를 처음 수신할 경우 데이터의 헤더정보를 읽어 알려준다.
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * header : PlayRTCDataHeader, 데이터 정보
      * – index : int, 데이터 패킷 분할 전송 index
      * – count : int, 데이터 패킷 분할 count
      * – size : uint64_t, 데이터 전체 크기
      * – id : uint64_t, 전송하는 데이터의 고유 아이디
      * – dataType : int, text 0, binary 1
      * – fileName : NSString, 파일 전송일 경우 파일 명
      * – mimeType : NSString, 파일 전송일 경우 파일의 Mime Type
      */
      -(void)onDataReady:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid header:(PlayRTCDataHeader*)header/*
      * 수신 데이터 진척 상황을 전달
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * header : PlayRTCDataHeader, 데이터 정보
      * – index : int, 데이터 패킷 분할 전송 index
      * – count : int, 데이터 패킷 분할 count
      * – size : uint64_t, 데이터 전체 크기
      * – id : uint64_t, 전송하는 데이터의 고유 아이디
      * – dataType : int, text 0, binary 1
      * – fileName : NSString, 파일 전송일 경우 파일 명
      * – mimeType : NSString, 파일 전송일 경우 파일의 Mime Type
      * recvSize : uint64_t, 수신 데이터 누적 크기
      * data : NSData, 수신 데이터
      */
      -(void)onProgress:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid header:(PlayRTCDataHeader*)header recvSize:(uint64_t)recvSize data:(NSData*)data;/*
      * 데이터 수신 종료
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * header : PlayRTCDataHeader, 데이터 정보
      * – index : int, 데이터 패킷 분할 전송 index
      * – count : int, 데이터 패킷 분할 count
      * – size : uint64_t, 데이터 전체 크기
      * – id : uint64_t, 전송하는 데이터의 고유 아이디
      * – dataType : int, text 0, binary 1
      * – fileName : NSString, 파일 전송일 경우 파일 명
      * – mimeType : NSString, 파일 전송일 경우 파일의 Mime Type
      */
      -(void)onFinishLoading:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid header:(PlayRTCDataHeader*)header;/*
      * PlayRTCData 오류 발생 시
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * dataId : uint64_t, 데이터 고유 아이디
      * code : PlayRTCDataCode, 오류 코드 정의
      * desc : NSString, description
      */
      -(void)onError:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId code:(PlayRTCDataCode)code desc:(NSString*)desc;/*
      * PlayRTCData의 주요 상태를 전달 받는다.
      * obj : PlayRTCData 인스턴스
      * peerId : NSString, 상대방의 PlayRTC 서비스 사용자 아이디
      * peerUid : NSString, 채널 생성/입장 시 전달한 사용자 아이디
      * dataId : uint64_t, 데이터 고유 아이디
      * state : PlayRTCDataCode, 상태 정의
      */
      -(void)onStateChange:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid state:(PlayRTCDataStatus)state

1.0.1 (2015-07-02)

  • 신규: 64bit 지원 (neon 지원)
    • 64bit lib 사용시 XCode project setting 부분에서 Architectures –> Architectures: $(ARCHS_STANDARD_INCLUDING_64_BIT), Valid Architectures: arm64 추가 필요
  • 신규: PlayRTC의 생성자 추가
    • PlayRTCSettings* settings = [self createConfiguration];
      self.playRTC = [PlayRTCFactory newInstance:settings observer:(id<PlayRTCObserver>)self];
  • 신규: DataChannel 전송 이벤트가 추가됨(libjingle)
    • (void)onSending:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId size:(uint64_t)size send:(uint64_t)send index:(int)index count:(int)count
    • (void)onSendSuccess:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId size:(uint64_t)size;
    • (void)onSendError:(PlayRTCData*)obj peerId:(NSString*)peerId peerUid:(NSString*)peerUid dataId:(uint64_t)dataId code:(PlayRTCDataCode)code desc:(NSString*)desc;

1.0.0 (2015-05-20)

  • 신규 : SDK 첫 릴리즈
 

Play RTC

서비스 체험

Play RTC build PlaygrOund

나만의 플레이그라운드를 만들어 친구를 초대해보세요 !

www.playrtc.com/

번거로운 가입이나 설치 없이ID만 만들어서 영상통화나 파일 공유, 채팅 서비스를 무료로 즐겨보세요.

 

Play RTC

서비스 체험

개설한 Playground 주소를 복하해서 친구에게 보내조세요. 친구가 Playground에 접속하면 이곳에 친구의 영상과 음성이 나타납니다. Waiting..

Photo

X
이미지 미리보기
이미지
 

서비스 체험

 

서비스 체험

서비스 체험은 크롬과 파이어폭스 브라우저에 최적화되어 있습니다.
크롬 또는 파이어폭스 브라우저를 설치 후 다시 이용해주세요.