프로그래밍 (299) 썸네일형 리스트형 Codable for Dictionary extension Encodable { func getValue() throws -> [String:Any] { let data = try JSONEncoder().encode(self) if let dictionary = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String:Any] { return dictionary } throw NSError() } } extension Decodable { func setValue(from: [String:Any] ) throws { let data = try JSONSerialization.data(withJSONObject: from, options: .prettyP.. [Python] 직접 실행과 import 시 실행 분리 직접실행하는 경우 __name__ 값은 '__main__' 값으로 지정되는데 이 값으로 직접 실행되었는지 import 되었는지를 체크할 수 있음. import 하는 경우 파일명(모듈명) import sys def main(): . . return 0 if __name__ == '__main__': sys.exit(main()) [WebRTC] 안드로이드 I420 Buffer관련 클래스 WebRTC 에서는 VideoFrame을 위해 TextureBuffer와 I420Buffer를 사용. I420Buffer는 Buffer 클래스를 상속받은 클래스이며, Buffer 는 네이티브(jni) 라이브러리에게 버퍼의 크기나 포인터를 알려주는 역할이며, I420Buffer는 YUV 포인터의 위치를 전달하는 역할을 하게된다. TextureBuffer 일반 rgb bitmap 이미지를 VideoFrame으로 변경하려면 대략 아래처럼 처리가 이루어진다. // 텍스처 생성 int[] textures = new int[1]; GLES20.glGenTextures(1, textures, 0); // TextureBuffer 생성 Matrix transform = new Matrix(); YuvConverter .. UITableView , UICollectionView 테이블뷰 UITableViewController 테이블뷰의 특정 기능에 대한 지원이 추가된 UIViewController 테이블뷰가 이미 생성되어 있음 정적 테이블 구성으로 스토리보드나 IB에서 디자인이 수월하나 변경에 제약이 많음 커스텀이 필요한경우 UIViewController에 UITableView을 추가해 사용 주요클래스 UITableView UITableViewCell UITableViewDelegate UITableViewDataSource cell class IB에서 클래스를 지정하고, Identity 를 지정한다. 해당 id는 datasource구현시 재사용큐에서 cell을 얻어올때 사용한다. class CustomCell : UITableViewCell { } 컨트롤러 class Test.. [iOS] 키보드를 따라 올라오는 뷰 해당 뷰의 bottom contraint 를 키보드 사이즈에 맞춰 변경(auto layout 을 사용하지 않는 경우 해당 뷰 프레임을 직접 변경) @IBOutlet weak var editView: NSLayoutConstraint! 키보드 이벤트 등록 NotificationCenter.default.addObserver( self, selector: #selector(MyViewController.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver( self, selector: #selector(MyViewController.keyboardWi.. [iOS] Google SignIn pod 'Firebase/Auth' pod 'GoogleSignIn' import GoogleSignIn import FirebaseAuth AppDelegate.swift class AppDelegate: UIResponder, UIApplicationDelegate, GIDSignInDelegate { } func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configuration() GIDSignIn.sharedInstance().clientID = "클라이언트ID" . . re.. xcode 11. ios13 미만, storyboard 없이 시작 삭제 프로젝트 General > Deployment Info Main interface 제거 SceneDelegate 제거 Info.plist Info.plist 의 Main nib file base name 항목 제거 되었는지 확인 Application Scene Manifeset 제거 AppDelegate class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // O.. XCFramework 만들기 프레임워크 빌드 sdk 에 맞춰 아카이빙이나 framework로 빌드할 수 있다. xcodebuild 관련 세부 내용 : xcodebuild (tistory.com) xcodebuild xcode 에서 프로젝트별 xcodebuild 기본 빌드 설정 프로젝트 > Info > Configurations Use Debug/Release for command-line builds 기본 적인 사용 -workspace {xcworkspace} -project {xcodeproj} -configurati.. liveupdate.tistory.com 스키마를 통한 빌드이므로, 대부분의 옵션은 빌드셋팅에 지정된 옵션으로 빌드가 이루어진다. xcodebuild archive -workspace PROJECT.xcworks.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 38 다음