jenkins_url
+ /api/json?tree=jobs[name,color]
jenkins_url
+ /job/${job_name}/api/json?tree=builds[number,status,timestamp,id,result]
- (UIImage*)snapshot:(UIView*)eaglview | |
{ | |
// Get the size of the backing CAEAGLLayer | |
GLint backingWidth, backingHeight; | |
glBindRenderbufferOES(GL_RENDERBUFFER_OES, _colorRenderbuffer); | |
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth); | |
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight); | |
NSInteger x = 0, y = 0, width = backingWidth, height = backingHeight; | |
NSInteger dataLength = width * height * 4; |
<!DOCTYPE HTML> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> | |
<title>KFT</title> | |
<link rel="stylesheet" type="text/css" href="./css/font-awesome.css"> | |
<link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css"> | |
<link rel="stylesheet" type="text/css" href="./css/common.css"> |
#!/bin/bash | |
appname="$1" | |
[ -z $appname ] && read -p "Application name : " appname | |
apppath=$(find ~/Library/Developer/CoreSimulator/Devices/ -name "$appname.app" -print -quit) | |
if [[ ! -z $apppath ]]; then | |
echo "Found path for $appname app" | |
echo -e "\033[1;30m$apppath\033[0m" | |
appbundle=$(osascript -e "id of app \"$apppath\"") |
struct User: Equatable { | |
var firstName: String | |
var lastName: String | |
} | |
@main | |
struct MyApp: App { | |
@State var value = User(firstName: "", lastName: "") | |
@State var showEdit = false |
The Composable Architecture(TCA)는 일관되고 이해할 수 있는 방식으로 어플리케이션을 만들기 위해 탄생한 라이브러리입니다. 합성(Composition), 테스팅(Testing) 그리고 인체 공학(Ergonomics)을 염두에 둔 TCA는 SwiftUI, UIKit을 지원하며 모든 애플 플랫폼(iOS, macOS, tvOS, watchOS)에서 사용 가능합니다.
시간이 흘러 이제 iOS 16이 나왔고, 이제는 iOS 10에 추가된 UNUserNotificationCenter
를 이용해 로직만 사용하는게 당연하다.
하지만 레거시 코드들에는 사용하지 않는 예전 푸시 관련 코드들이 같이 남아 있어, 간만에 푸시작업을 할 떄마다 헷갈리게 만든다.
UIApplicationDelegate의 url-open 관련 메시지들도...
때문에 n년 후의 나를 위해 정리를 남긴다.
APNS에 기기등록을 위해
UIApplication.registerForRemoteNotifications
호출