본문 바로가기

프로그래밍/iOS,macOS

(64)
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..
[iOS] CoreAudio AudioUnit Audio Unit Hosting Fundamentals (apple.com) Audio Unit Hosting Fundamentals Audio Unit Hosting Fundamentals All audio technologies in iOS are built on top of audio units, as shown in Figure 1-1. The higher-level technologies shown here—Media Player, AV Foundation, OpenAL, and Audio Toolbox—wrap audio units to provide dedicated developer.apple.com AudioUnit 은 2개의 Element 이루어져 있으며, 각 element의 inpu..
iOS 프레임워크 파이썬 스크립트 import sys import os import subprocess import plistlib import argparse def __init__(self, option): self.output_paths = [] self.framework = "" self.version = "" self.podspec_path = "" self.repository_path = "" self.target = "" self.option = option Derived Path HOME_PATH = os.path.expanduser("~") PROJECT_NAME="Test" PROJECT_PATH=HOME_PATH+"/Project/"+PROJECT_NAME DERIVED_PATH=PROJECT_PATH+"/Build"..
[iOS] GPUImage constraint 관련 에러 GPUImage2 실행에는 문제가 없는데 콘솔로그상으로 Background Thread 에서 ui 요소에 접근했다는 오류 발생 아래 주소의 jwoodrow comment. https://github.com/BradLarson/GPUImage2/issues/226 /Outputs/iOS/RenderView-UIKit.swift func createDisplayFramebuffer() { . . . let group = DispatchGroup() group.enter() DispatchQueue.main.async { sharedImageProcessingContext.context.renderbufferStorate( Int(GL_RENDERBUFFER), from: sel..
xcodebuild xcode 에서 프로젝트별 xcodebuild 기본 빌드 설정 프로젝트 > Info > Configurations Use Debug/Release for command-line builds 기본 적인 사용 -workspace {xcworkspace} -project {xcodeproj} -configuration {Release|Debug} -scheme {scheme name} -target {target name} -sdk {sdk} -arch {i386|x86_64|armv7|arm64} -destination '{specific device}' * 스키마에는 타겟 정보가 포함되므로, 스키마 사용시에는 타겟은 제외 workspace, project, scheme 등 정의된 내용으로 빌드 (works..
CocoaPods 라이브러리 배포 CocoaPods 은 podspec 파일들을 관리하는 저장소와 각 실제 파일 저장소간의 연결 역할을 하는 라이브러리 종속성 관리 도구이다. 코코아팟을 사용해 라이브러리를 배포하는 내용을 간단히 정리해 본다. CocoaPods 설치 $ sudo gem install cocoapods 로컬 라이브러리 프로젝트 생성 템플릿으로 프로젝트 설정을 자동화해 주는 것으로 필요한 경우에 수행 별도 프로젝트 구성을 하는 경우 제외( 개인적으로 테스트 프로젝트들과 폴더 구성이 마음에 안들어 사용안함) $ pod lib create {library-name} 지원 플랫폼, 지원 언어 등 설정 아래 내용이 자동으로 생성 Example Tests .podspec git init 소스위치 : project-name/Classes..
[Metal] Compute Function 샘플분석 Compute Function kernel 식별자를 사용하기에 커널 함수라고도 불림 kernel 키워드를 사용해 시작하고, 리턴은 void 형이어야 함. max_total_threads_per_threadgroup 함수속성을 사용해 쓰레드 그룹간의 최대 쓰레드수를 지정가능 단, MTLDevice 의 maxThreadsPerThreadgroup 값보다 크게되면 오류발생할수 있음. [[max_total_threads_per_threadgroup(x)]] kernel void my_kernel() { } 함수인자 디바이스, 상수버퍼 : [[buffer(index)]] 텍스처 : [[texture(index]] 샘플러 : [[sampler(index]] 쓰레드그룹 버퍼 : [[threadgroup(index] ..