From a85e599d9bea07d2c704db158d51e4a5ef5a6dd6 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Sun, 30 Jun 2024 23:55:56 +0900 Subject: [PATCH 01/24] Update create-jira-issue.yml - branch suyen --- .github/workflows/create-jira-issue.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index d700f7fc..9add15f1 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -21,6 +21,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 + with: + ref: 'suyeon' # 체크아웃할 브랜치를 suyeon으로 설정 - name: Create Jira issue env: @@ -30,7 +32,6 @@ jobs: JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} run: | ISSUE_TITLE="${{ github.event.issue.title }}" - JSON_DATA=$(jq -n \ --arg key "$JIRA_PROJECT_KEY" \ --arg summary "$ISSUE_TITLE" \ @@ -46,7 +47,6 @@ jobs: } } }') - echo "JSON Data: $JSON_DATA" RESPONSE=$(curl -D- \ -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ @@ -63,6 +63,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | export LANG=en_US.UTF-8 + git fetch origin suyeon:suyeon # suyeon 브랜치를 로컬로 가져오기 + git checkout suyeon # suyeon 브랜치로 체크아웃 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') @@ -73,5 +75,5 @@ jobs: echo "Creating branch with name: $BRANCH_NAME" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - git checkout -b "$BRANCH_NAME" + git checkout -b "$BRANCH_NAME" # 새로운 브랜치를 suyeon에서 파생 git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" From ae91aa736086ed7b87a83b20d0dc2678eeaa7418 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Sun, 30 Jun 2024 23:56:28 +0900 Subject: [PATCH 02/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 9add15f1..8eed0ad3 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -22,7 +22,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 with: - ref: 'suyeon' # 체크아웃할 브랜치를 suyeon으로 설정 + ref: 'suyeon' # 체크아웃할 브랜치 - name: Create Jira issue env: From c4a843e8104141cc276181b0f26235129d60ee40 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Sun, 30 Jun 2024 23:59:30 +0900 Subject: [PATCH 03/24] =?UTF-8?q?Update=20create-jira-issue.yml=20-=20?= =?UTF-8?q?=EC=9E=AC=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/create-jira-issue.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 8eed0ad3..59821942 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -22,7 +22,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 with: - ref: 'suyeon' # 체크아웃할 브랜치 + ref: suyeon # 체크아웃할 브랜치를 suyeon으로 직접 지정 - name: Create Jira issue env: @@ -32,6 +32,7 @@ jobs: JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} run: | ISSUE_TITLE="${{ github.event.issue.title }}" + JSON_DATA=$(jq -n \ --arg key "$JIRA_PROJECT_KEY" \ --arg summary "$ISSUE_TITLE" \ @@ -47,6 +48,7 @@ jobs: } } }') + echo "JSON Data: $JSON_DATA" RESPONSE=$(curl -D- \ -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ @@ -62,9 +64,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export LANG=en_US.UTF-8 - git fetch origin suyeon:suyeon # suyeon 브랜치를 로컬로 가져오기 - git checkout suyeon # suyeon 브랜치로 체크아웃 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') From 970371699e36c46e96ee309555aeb6b82c58da7a Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:15:27 +0900 Subject: [PATCH 04/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 59821942..be3675dc 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -22,7 +22,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 with: - ref: suyeon # 체크아웃할 브랜치를 suyeon으로 직접 지정 + ref: 'suyeon' # suyeon 브랜치를 체크아웃 - name: Create Jira issue env: @@ -64,6 +64,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + export LANG=en_US.UTF-8 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') @@ -74,5 +75,5 @@ jobs: echo "Creating branch with name: $BRANCH_NAME" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - git checkout -b "$BRANCH_NAME" # 새로운 브랜치를 suyeon에서 파생 + git checkout -b "$BRANCH_NAME" git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" From 995c7b4767995c038847b4ed30752d66c23e4d42 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:20:11 +0900 Subject: [PATCH 05/24] =?UTF-8?q?Update=20create-jira-issue.yml=20-=20log?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/create-jira-issue.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index be3675dc..0f052c10 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -70,10 +70,17 @@ jobs: PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') if [ -z "$PREFIX" ]; then PREFIX="feature"; fi TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") - CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') - BRANCH_NAME="${PREFIX}/#${ISSUE_NUMBER}-${CLEAN_TITLE}" + CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9\-]//g' | tr "[:upper:]" "[:lower:]") + BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" + git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" + + # Additional debug information + echo "Remote branches before checkout:" + git branch -r + git checkout -b "$BRANCH_NAME" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" + echo "Pushed $BRANCH_NAME successfully." From 13d71b63c75e1c57e5aa2dd2b70fd201261f7978 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:26:41 +0900 Subject: [PATCH 06/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 43 ++----------------------- 1 file changed, 3 insertions(+), 40 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 0f052c10..1f7e656f 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -15,7 +15,6 @@ on: jobs: create_jira_issue: - if: github.event_name == 'issues' runs-on: ubuntu-latest steps: @@ -24,42 +23,6 @@ jobs: with: ref: 'suyeon' # suyeon 브랜치를 체크아웃 - - name: Create Jira issue - env: - JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} - JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} - JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} - JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} - run: | - ISSUE_TITLE="${{ github.event.issue.title }}" - - JSON_DATA=$(jq -n \ - --arg key "$JIRA_PROJECT_KEY" \ - --arg summary "$ISSUE_TITLE" \ - '{ - "fields": { - "project": { - "key": $key - }, - "summary": $summary, - "description": "No description provided.", - "issuetype": { - "name": "Task" - } - } - }') - - echo "JSON Data: $JSON_DATA" - RESPONSE=$(curl -D- \ - -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ - -X POST \ - --data "$JSON_DATA" \ - -H "Content-Type: application/json" \ - "$JIRA_BASEURL/rest/api/2/issue/") - echo "Jira API response: $RESPONSE" - JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') - echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV - - name: Create branch for the issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -72,15 +35,15 @@ jobs: TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9\-]//g' | tr "[:upper:]" "[:lower:]") BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" - echo "Creating branch with name: $BRANCH_NAME" + echo "Creating branch with name: $BRANCH_NAME" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" # Additional debug information echo "Remote branches before checkout:" git branch -r + echo "Attempting to create and push new branch: $BRANCH_NAME" git checkout -b "$BRANCH_NAME" - git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" - echo "Pushed $BRANCH_NAME successfully." + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" || echo "Failed to push branch $BRANCH_NAME" From b33a975b9f95800e04a8d8cf01474bdf14196d6a Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:29:45 +0900 Subject: [PATCH 07/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 42 ++++++++++++++++++++----- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 1f7e656f..fa9f4da0 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -15,6 +15,7 @@ on: jobs: create_jira_issue: + if: github.event_name == 'issues' runs-on: ubuntu-latest steps: @@ -23,6 +24,40 @@ jobs: with: ref: 'suyeon' # suyeon 브랜치를 체크아웃 + - name: Create Jira issue + env: + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} + JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} + JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} + run: | + ISSUE_TITLE="${{ github.event.issue.title }}" + JSON_DATA=$(jq -n \ + --arg key "$JIRA_PROJECT_KEY" \ + --arg summary "$ISSUE_TITLE" \ + '{ + "fields": { + "project": { + "key": $key + }, + "summary": $summary, + "description": "Automatically created issue from GitHub.", + "issuetype": { + "name": "Task" + } + } + }') + echo "JSON Data: $JSON_DATA" + RESPONSE=$(curl -D- \ + -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ + -X POST \ + --data "$JSON_DATA" \ + -H "Content-Type: application/json" \ + "$JIRA_BASEURL/rest/api/2/issue/") + echo "Jira API response: $RESPONSE" + JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') + echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV + - name: Create branch for the issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -35,15 +70,8 @@ jobs: TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9\-]//g' | tr "[:upper:]" "[:lower:]") BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" - echo "Creating branch with name: $BRANCH_NAME" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - - # Additional debug information - echo "Remote branches before checkout:" - git branch -r - echo "Attempting to create and push new branch: $BRANCH_NAME" - git checkout -b "$BRANCH_NAME" git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" || echo "Failed to push branch $BRANCH_NAME" From a6030d66a02934c5f09c869212ab1e426737bd9a Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:32:33 +0900 Subject: [PATCH 08/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 54 ++++++++----------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index fa9f4da0..b7e1f5a6 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -15,7 +15,6 @@ on: jobs: create_jira_issue: - if: github.event_name == 'issues' runs-on: ubuntu-latest steps: @@ -24,45 +23,15 @@ jobs: with: ref: 'suyeon' # suyeon 브랜치를 체크아웃 - - name: Create Jira issue - env: - JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} - JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} - JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} - JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} + - name: Setup Git Config run: | - ISSUE_TITLE="${{ github.event.issue.title }}" - JSON_DATA=$(jq -n \ - --arg key "$JIRA_PROJECT_KEY" \ - --arg summary "$ISSUE_TITLE" \ - '{ - "fields": { - "project": { - "key": $key - }, - "summary": $summary, - "description": "Automatically created issue from GitHub.", - "issuetype": { - "name": "Task" - } - } - }') - echo "JSON Data: $JSON_DATA" - RESPONSE=$(curl -D- \ - -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ - -X POST \ - --data "$JSON_DATA" \ - -H "Content-Type: application/json" \ - "$JIRA_BASEURL/rest/api/2/issue/") - echo "Jira API response: $RESPONSE" - JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') - echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Create branch for the issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export LANG=en_US.UTF-8 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') @@ -71,7 +40,18 @@ jobs: CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9\-]//g' | tr "[:upper:]" "[:lower:]") BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" + + # 디버깅을 위한 현재 브랜치 상태 출력 + echo "Current branch:" + git branch + git checkout -b "$BRANCH_NAME" - git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" || echo "Failed to push branch $BRANCH_NAME" + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt + if [ "${PIPESTATUS[0]}" != "0" ]; then + echo "Failed to push branch $BRANCH_NAME" + echo "Debug output:" + cat push_output.txt + exit 1 + fi + + echo "Pushed $BRANCH_NAME successfully." From 1885e40f865cebea3b3063aa946d2f95655df96b Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:38:10 +0900 Subject: [PATCH 09/24] Update create-jira-issue.yml From c94353371920ec07acadd240c1c08b4370b8c903 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:38:24 +0900 Subject: [PATCH 10/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index b7e1f5a6..a7569e7f 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -21,7 +21,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 with: - ref: 'suyeon' # suyeon 브랜치를 체크아웃 + ref: 'suyeon' # Checkout the 'suyeon' branch - name: Setup Git Config run: | @@ -41,9 +41,9 @@ jobs: BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - # 디버깅을 위한 현재 브랜치 상태 출력 - echo "Current branch:" + # Check current branch and list all remote branches for debugging git branch + git branch -r git checkout -b "$BRANCH_NAME" git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt @@ -53,5 +53,4 @@ jobs: cat push_output.txt exit 1 fi - echo "Pushed $BRANCH_NAME successfully." From e91dd2abc278332b70a061c9b771c11724cda92b Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:47:02 +0900 Subject: [PATCH 11/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 61 +++++++++++++++++-------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index a7569e7f..be3675dc 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -15,42 +15,65 @@ on: jobs: create_jira_issue: + if: github.event_name == 'issues' runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: - ref: 'suyeon' # Checkout the 'suyeon' branch + ref: 'suyeon' # suyeon 브랜치를 체크아웃 - - name: Setup Git Config + - name: Create Jira issue + env: + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} + JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} + JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" + ISSUE_TITLE="${{ github.event.issue.title }}" + + JSON_DATA=$(jq -n \ + --arg key "$JIRA_PROJECT_KEY" \ + --arg summary "$ISSUE_TITLE" \ + '{ + "fields": { + "project": { + "key": $key + }, + "summary": $summary, + "description": "No description provided.", + "issuetype": { + "name": "Task" + } + } + }') + + echo "JSON Data: $JSON_DATA" + RESPONSE=$(curl -D- \ + -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ + -X POST \ + --data "$JSON_DATA" \ + -H "Content-Type: application/json" \ + "$JIRA_BASEURL/rest/api/2/issue/") + echo "Jira API response: $RESPONSE" + JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') + echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV - name: Create branch for the issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + export LANG=en_US.UTF-8 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') if [ -z "$PREFIX" ]; then PREFIX="feature"; fi TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") - CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9\-]//g' | tr "[:upper:]" "[:lower:]") - BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" + CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') + BRANCH_NAME="${PREFIX}/#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - - # Check current branch and list all remote branches for debugging - git branch - git branch -r - + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" git checkout -b "$BRANCH_NAME" - git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt - if [ "${PIPESTATUS[0]}" != "0" ]; then - echo "Failed to push branch $BRANCH_NAME" - echo "Debug output:" - cat push_output.txt - exit 1 - fi - echo "Pushed $BRANCH_NAME successfully." + git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" From 8be4a4b00002729577acb9022325f9842a68b957 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:49:50 +0900 Subject: [PATCH 12/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index be3675dc..eb02f87d 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -15,7 +15,6 @@ on: jobs: create_jira_issue: - if: github.event_name == 'issues' runs-on: ubuntu-latest steps: @@ -71,9 +70,13 @@ jobs: if [ -z "$PREFIX" ]; then PREFIX="feature"; fi TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') - BRANCH_NAME="${PREFIX}/#${ISSUE_NUMBER}-${CLEAN_TITLE}" + BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" git checkout -b "$BRANCH_NAME" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" + git push -v "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 || { + echo "Failed to push branch $BRANCH_NAME" + exit 1 + } + echo "Pushed $BRANCH_NAME successfully." From 7981a6546e94b427f7db60d1b660e664ae7f9206 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 00:54:07 +0900 Subject: [PATCH 13/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 50 ++++++------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index eb02f87d..e610416f 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -23,41 +23,10 @@ jobs: with: ref: 'suyeon' # suyeon 브랜치를 체크아웃 - - name: Create Jira issue - env: - JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} - JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} - JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} - JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} + - name: Setup Git Config run: | - ISSUE_TITLE="${{ github.event.issue.title }}" - - JSON_DATA=$(jq -n \ - --arg key "$JIRA_PROJECT_KEY" \ - --arg summary "$ISSUE_TITLE" \ - '{ - "fields": { - "project": { - "key": $key - }, - "summary": $summary, - "description": "No description provided.", - "issuetype": { - "name": "Task" - } - } - }') - - echo "JSON Data: $JSON_DATA" - RESPONSE=$(curl -D- \ - -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ - -X POST \ - --data "$JSON_DATA" \ - -H "Content-Type: application/json" \ - "$JIRA_BASEURL/rest/api/2/issue/") - echo "Jira API response: $RESPONSE" - JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') - echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Create branch for the issue env: @@ -70,13 +39,16 @@ jobs: if [ -z "$PREFIX" ]; then PREFIX="feature"; fi TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') - BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${CLEAN_TITLE}" + BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" + echo "Current branch before checkout:" + git branch git checkout -b "$BRANCH_NAME" - git push -v "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 || { + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt + if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Failed to push branch $BRANCH_NAME" + echo "Debug output from push:" + cat push_output.txt exit 1 - } + fi echo "Pushed $BRANCH_NAME successfully." From e9352b8baffedfb0a58874c7a1f300c06a6c7f9d Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:00:13 +0900 Subject: [PATCH 14/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index e610416f..93d73b24 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -41,9 +41,14 @@ jobs: CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - echo "Current branch before checkout:" + + # Display current branch and all remote branches git branch + git branch -r + git checkout -b "$BRANCH_NAME" + echo "Checkout to $BRANCH_NAME completed." + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Failed to push branch $BRANCH_NAME" From 55addabb66c4da2fb53b095e1df3034da5e160ec Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:05:14 +0900 Subject: [PATCH 15/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 93d73b24..f1f5ed6d 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -42,13 +42,14 @@ jobs: BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - # Display current branch and all remote branches + # Display current branch and status git branch - git branch -r + git status git checkout -b "$BRANCH_NAME" echo "Checkout to $BRANCH_NAME completed." - + + # Detailed push attempt git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Failed to push branch $BRANCH_NAME" From 98d3a54f787678c33d09f9dae36d1f1326cc47c8 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:10:03 +0900 Subject: [PATCH 16/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index f1f5ed6d..f86cdba1 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -21,7 +21,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 with: - ref: 'suyeon' # suyeon 브랜치를 체크아웃 + ref: 'suyeon' # 'suyeon' 브랜치 체크아웃 - name: Setup Git Config run: | @@ -42,14 +42,17 @@ jobs: BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - # Display current branch and status git branch git status git checkout -b "$BRANCH_NAME" - echo "Checkout to $BRANCH_NAME completed." + if [ $? -ne 0 ]; then + echo "Checkout to $BRANCH_NAME failed." + exit 1 + else + echo "Checkout to $BRANCH_NAME completed." + fi - # Detailed push attempt git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Failed to push branch $BRANCH_NAME" From eb3947eb68cd5d9031a1c2dd0bb49d12cb1b6b46 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:13:28 +0900 Subject: [PATCH 17/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 29 +++++++------------------ 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index f86cdba1..295ca050 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -1,27 +1,16 @@ -name: Create Jira Issue and Sync with GitHub +name: Create Issue Branch on: issues: types: [opened] - push: - branches: - - 'feat/*' - - 'fix/*' - - 'docs/*' - - 'setting/*' - - 'add/*' - - 'refactor/*' - - 'chore/*' jobs: - create_jira_issue: + create_branch: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - with: - ref: 'suyeon' # 'suyeon' 브랜치 체크아웃 - name: Setup Git Config run: | @@ -41,10 +30,10 @@ jobs: CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" - + git branch git status - + git checkout -b "$BRANCH_NAME" if [ $? -ne 0 ]; then echo "Checkout to $BRANCH_NAME failed." @@ -53,11 +42,9 @@ jobs: echo "Checkout to $BRANCH_NAME completed." fi - git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" 2>&1 | tee push_output.txt - if [ "${PIPESTATUS[0]}" != "0" ]; then + git push --set-upstream "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}" "$BRANCH_NAME" + if [ $? -ne 0 ]; then echo "Failed to push branch $BRANCH_NAME" - echo "Debug output from push:" - cat push_output.txt exit 1 - fi - echo "Pushed $BRANCH_NAME successfully." + else + echo "Pushed $BRANCH_NAME successfully." From 620d8f61e98beb0908cd0353f79598d4931d3753 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:19:03 +0900 Subject: [PATCH 18/24] Update create-jira-issue.yml --- .github/workflows/create-jira-issue.yml | 49 +++++++++++++++++++++---- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 295ca050..33368dc2 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -1,34 +1,67 @@ -name: Create Issue Branch +name: Create Jira Issue and Sync with GitHub on: issues: types: [opened] jobs: - create_branch: + create_jira_issue: + if: github.event_name == 'issues' runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 + with: + ref: 'suyeon' # 'suyeon' 브랜치를 기준으로 체크아웃 - - name: Setup Git Config + - name: Create Jira issue + env: + JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} + JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} + JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} + JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" + ISSUE_TITLE="${{ github.event.issue.title }}" + + JSON_DATA=$(jq -n \ + --arg key "$JIRA_PROJECT_KEY" \ + --arg summary "$ISSUE_TITLE" \ + '{ + "fields": { + "project": { + "key": $key + }, + "summary": $summary, + "description": "No description provided.", + "issuetype": { + "name": "Task" + } + } + }') + + echo "JSON Data: $JSON_DATA" + RESPONSE=$(curl -D- \ + -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ + -X POST \ + --data "$JSON_DATA" \ + -H "Content-Type: application/json" \ + "$JIRA_BASEURL/rest/api/2/issue/") + echo "Jira API response: $RESPONSE" + JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') + echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV - - name: Create branch for the issue + - name: Create GitHub branch based on issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export LANG=en_US.UTF-8 ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') if [ -z "$PREFIX" ]; then PREFIX="feature"; fi TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') - BRANCH_NAME="${PREFIX}-#${ISSUE_NUMBER}-${CLEAN_TITLE}" + BRANCH_NAME="${PREFIX}-${ISSUE_NUMBER}-${CLEAN_TITLE}" echo "Creating branch with name: $BRANCH_NAME" git branch From 8fed3af7f4f47db673568f1f35fcde290258b4a4 Mon Sep 17 00:00:00 2001 From: YIZIHN Date: Mon, 1 Jul 2024 01:30:50 +0900 Subject: [PATCH 19/24] =?UTF-8?q?Update=20create-jira-issue.yml=E3=85=87?= =?UTF-8?q?=E3=85=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/create-jira-issue.yml | 54 +++++-------------------- 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/.github/workflows/create-jira-issue.yml b/.github/workflows/create-jira-issue.yml index 33368dc2..60ce07c3 100644 --- a/.github/workflows/create-jira-issue.yml +++ b/.github/workflows/create-jira-issue.yml @@ -1,69 +1,35 @@ -name: Create Jira Issue and Sync with GitHub +name: Create Branch from Issue on: issues: types: [opened] jobs: - create_jira_issue: - if: github.event_name == 'issues' + create_branch: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - with: - ref: 'suyeon' # 'suyeon' 브랜치를 기준으로 체크아웃 - - name: Create Jira issue - env: - JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} - JIRA_BASEURL: ${{ secrets.JIRA_BASEURL }} - JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }} - JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }} + - name: Setup Git Config run: | - ISSUE_TITLE="${{ github.event.issue.title }}" - - JSON_DATA=$(jq -n \ - --arg key "$JIRA_PROJECT_KEY" \ - --arg summary "$ISSUE_TITLE" \ - '{ - "fields": { - "project": { - "key": $key - }, - "summary": $summary, - "description": "No description provided.", - "issuetype": { - "name": "Task" - } - } - }') + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" - echo "JSON Data: $JSON_DATA" - RESPONSE=$(curl -D- \ - -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \ - -X POST \ - --data "$JSON_DATA" \ - -H "Content-Type: application/json" \ - "$JIRA_BASEURL/rest/api/2/issue/") - echo "Jira API response: $RESPONSE" - JIRA_ISSUE_KEY=$(echo "$RESPONSE" | grep -oP '(?<=key\":\")\w+-\d+') - echo "JIRA_ISSUE_KEY=$JIRA_ISSUE_KEY" >> $GITHUB_ENV - - - name: Create GitHub branch based on issue + - name: Create branch for the issue env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ISSUE_NUMBER=${{ github.event.issue.number }} ISSUE_TITLE="${{ github.event.issue.title }}" + # 접두사 추출 PREFIX=$(echo "$ISSUE_TITLE" | grep -oE '^(feat|fix|docs|setting|add|refactor|chore)') if [ -z "$PREFIX" ]; then PREFIX="feature"; fi - TITLE_NO_PREFIX=$(echo "$ISSUE_TITLE" | sed -e "s/$PREFIX : //") - CLEAN_TITLE=$(echo "$TITLE_NO_PREFIX" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]//g') - BRANCH_NAME="${PREFIX}-${ISSUE_NUMBER}-${CLEAN_TITLE}" + # 브랜치 이름 생성 + BRANCH_NAME="${PREFIX}/#${ISSUE_NUMBER}-$(echo "$ISSUE_TITLE" | iconv -c -f utf-8 -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9-]//g')" echo "Creating branch with name: $BRANCH_NAME" - + git branch git status From ac32819e930c117cfd91e82e90df44cb9d81a50f Mon Sep 17 00:00:00 2001 From: hooni Date: Mon, 1 Jul 2024 14:13:48 +0900 Subject: [PATCH 20/24] =?UTF-8?q?feat:=EC=95=A0=ED=94=8C=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 애플로그인 클라설정 완료 --- KkuMulKum.xcodeproj/project.pbxproj | 8 ++++-- KkuMulKum/KkuMulKum.entitlements | 10 +++++++ KkuMulKum/ViewController.swift | 42 ++++++++++++++++++++++++++++- 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 KkuMulKum/KkuMulKum.entitlements diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index f1ad6402..956ce7ae 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -59,6 +59,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 785AE1C12C326E9B00677CA0 /* KkuMulKum.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = KkuMulKum.entitlements; sourceTree = ""; }; 78B928682C29402C006D9942 /* KkuMulKum.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KkuMulKum.app; sourceTree = BUILT_PRODUCTS_DIR; }; 78B9286B2C29402C006D9942 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 78B9286D2C29402C006D9942 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -142,6 +143,7 @@ 78B9286A2C29402C006D9942 /* KkuMulKum */ = { isa = PBXGroup; children = ( + 785AE1C12C326E9B00677CA0 /* KkuMulKum.entitlements */, 78B9286B2C29402C006D9942 /* AppDelegate.swift */, 78B9286D2C29402C006D9942 /* SceneDelegate.swift */, 78B9286F2C29402C006D9942 /* ViewController.swift */, @@ -420,9 +422,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = KkuMulKum/KkuMulKum.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 2DF5SKQK2R; + DEVELOPMENT_TEAM = D2DRA3F792; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = KkuMulKum/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -448,9 +451,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = KkuMulKum/KkuMulKum.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 2DF5SKQK2R; + DEVELOPMENT_TEAM = D2DRA3F792; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = KkuMulKum/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; diff --git a/KkuMulKum/KkuMulKum.entitlements b/KkuMulKum/KkuMulKum.entitlements new file mode 100644 index 00000000..a812db50 --- /dev/null +++ b/KkuMulKum/KkuMulKum.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.applesignin + + Default + + + diff --git a/KkuMulKum/ViewController.swift b/KkuMulKum/ViewController.swift index badf2721..f0f1a4f2 100644 --- a/KkuMulKum/ViewController.swift +++ b/KkuMulKum/ViewController.swift @@ -4,8 +4,8 @@ // // Created by 이지훈 on 6/24/24. // - import UIKit +import AuthenticationServices class ViewController: UIViewController { @@ -13,9 +13,49 @@ class ViewController: UIViewController { super.viewDidLoad() view.backgroundColor = .yellow + setupAppleLoginButton() + } + func setupAppleLoginButton() { + let button = ASAuthorizationAppleIDButton() + button.addTarget(self, action: #selector(clickAppleLogin), for: .touchUpInside) + button.frame = CGRect(x: 100, y: 100, width: 200, height: 40) + view.addSubview(button) } + @objc func clickAppleLogin() { + let request = ASAuthorizationAppleIDProvider().createRequest() + request.requestedScopes = [.fullName, .email] + let controller = ASAuthorizationController(authorizationRequests: [request]) + controller.delegate = self + controller.presentationContextProvider = self + controller.performRequests() + } } +// MARK: - ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding +extension ViewController: ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { + func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + if let credential = authorization.credential as? ASAuthorizationAppleIDCredential { + let idToken = credential.identityToken! + let tokenStr = String(data: idToken, encoding: .utf8) + print(tokenStr ?? "No token string") + + guard let code = credential.authorizationCode else { return } + let codeStr = String(data: code, encoding: .utf8) + print(codeStr ?? "No code string") + + let user = credential.user + print(user) + } + } + + func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + print("Authorization failed with error: \(error)") + } + + func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + return self.view.window! + } +} From 65506297ff47a1570967ea31acf163355f6e1be0 Mon Sep 17 00:00:00 2001 From: youz2me Date: Sat, 6 Jul 2024 16:59:51 +0900 Subject: [PATCH 21/24] =?UTF-8?q?hotfix/#126=20suyeon=20=EB=B8=8C=EB=9E=9C?= =?UTF-8?q?=EC=B9=98=20=EB=B3=91=ED=95=A9=20=EB=B0=8F=20=EC=9D=B4=EC=8A=88?= =?UTF-8?q?=20=EC=82=AC=ED=95=AD=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KkuMulKum.xcodeproj/project.pbxproj | 20 ++++++ .../GroupList/GroupListViewController.swift | 2 +- .../Source/Home/HomeViewController.swift | 3 +- .../Source/MyPage/MyPageViewController.swift | 2 +- .../Login/LoginViewController.swift | 67 +++++++++++++++++++ 5 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 KkuMulKum/Source/Onboarding/Login/LoginViewController.swift diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index 1162e38e..a4bb567e 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -55,6 +55,7 @@ 78B9286E2C29402C006D9942 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B9286D2C29402C006D9942 /* SceneDelegate.swift */; }; 78B928752C29402E006D9942 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 78B928742C29402E006D9942 /* Assets.xcassets */; }; 78B928782C29402E006D9942 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 78B928762C29402E006D9942 /* LaunchScreen.storyboard */; }; + DD865B642C3920F000C351A2 /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD865B632C3920F000C351A2 /* LoginViewController.swift */; }; DDA2EE732C385EB9007C6059 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA2EE722C385EB9007C6059 /* MainTabBarController.swift */; }; DDA2EE752C385FB1007C6059 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA2EE742C385FB1007C6059 /* HomeViewController.swift */; }; DDA2EE772C385FC3007C6059 /* GroupListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA2EE762C385FC3007C6059 /* GroupListViewController.swift */; }; @@ -95,6 +96,7 @@ 78B928742C29402E006D9942 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 78B928772C29402E006D9942 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 78B928792C29402E006D9942 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DD865B632C3920F000C351A2 /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = ""; }; DDA2EE722C385EB9007C6059 /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; DDA2EE742C385FB1007C6059 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; DDA2EE762C385FC3007C6059 /* GroupListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupListViewController.swift; sourceTree = ""; }; @@ -210,6 +212,22 @@ path = KkuMulKum; sourceTree = ""; }; + DD865B652C3920F600C351A2 /* Onboarding */ = { + isa = PBXGroup; + children = ( + DD865B662C39210E00C351A2 /* Login */, + ); + path = Onboarding; + sourceTree = ""; + }; + DD865B662C39210E00C351A2 /* Login */ = { + isa = PBXGroup; + children = ( + DD865B632C3920F000C351A2 /* LoginViewController.swift */, + ); + path = Login; + sourceTree = ""; + }; DDA2EE7B2C386078007C6059 /* Home */ = { isa = PBXGroup; children = ( @@ -258,6 +276,7 @@ DDA2EE7B2C386078007C6059 /* Home */, DDA2EE7C2C38607F007C6059 /* GroupList */, DDA2EE7D2C386087007C6059 /* MyPage */, + DD865B652C3920F600C351A2 /* Onboarding */, ); path = Source; sourceTree = ""; @@ -482,6 +501,7 @@ DED5DBF22C34534A006ECE7E /* BaseCollectionReusableView.swift in Sources */, DED5DBEC2C345210006ECE7E /* BaseViewController.swift in Sources */, DDA2EE732C385EB9007C6059 /* MainTabBarController.swift in Sources */, + DD865B642C3920F000C351A2 /* LoginViewController.swift in Sources */, DE254AAC2C31192400A4015E /* UILabel+.swift in Sources */, DE254AB72C3119D000A4015E /* ReuseIdentifiable.swift in Sources */, DDA2EE752C385FB1007C6059 /* HomeViewController.swift in Sources */, diff --git a/KkuMulKum/Source/GroupList/GroupListViewController.swift b/KkuMulKum/Source/GroupList/GroupListViewController.swift index 537982a5..027d6c5a 100644 --- a/KkuMulKum/Source/GroupList/GroupListViewController.swift +++ b/KkuMulKum/Source/GroupList/GroupListViewController.swift @@ -7,7 +7,7 @@ import UIKit -class GroupListViewController: UIViewController { +class GroupListViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() diff --git a/KkuMulKum/Source/Home/HomeViewController.swift b/KkuMulKum/Source/Home/HomeViewController.swift index 87262151..c077acd2 100644 --- a/KkuMulKum/Source/Home/HomeViewController.swift +++ b/KkuMulKum/Source/Home/HomeViewController.swift @@ -7,7 +7,8 @@ import UIKit -class HomeViewController: UIViewController { + +class HomeViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() diff --git a/KkuMulKum/Source/MyPage/MyPageViewController.swift b/KkuMulKum/Source/MyPage/MyPageViewController.swift index b39252dc..73f1ea54 100644 --- a/KkuMulKum/Source/MyPage/MyPageViewController.swift +++ b/KkuMulKum/Source/MyPage/MyPageViewController.swift @@ -7,7 +7,7 @@ import UIKit -class MyPageViewController: UIViewController { +class MyPageViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() diff --git a/KkuMulKum/Source/Onboarding/Login/LoginViewController.swift b/KkuMulKum/Source/Onboarding/Login/LoginViewController.swift new file mode 100644 index 00000000..7c410abc --- /dev/null +++ b/KkuMulKum/Source/Onboarding/Login/LoginViewController.swift @@ -0,0 +1,67 @@ +// +// LoginViewController.swift +// KkuMulKum +// +// Created by YOUJIM on 7/6/24. +// + +import UIKit +import AuthenticationServices + + +class LoginViewController: BaseViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + self.navigationController?.navigationBar.isHidden = true + view.backgroundColor = .yellow + setupAppleLoginButton() + } + + func setupAppleLoginButton() { + let button = ASAuthorizationAppleIDButton() + button.addTarget(self, action: #selector(clickAppleLogin), for: .touchUpInside) + button.frame = CGRect(x: 100, y: 100, width: 200, height: 40) + view.addSubview(button) + } + + @objc func clickAppleLogin() { + let request = ASAuthorizationAppleIDProvider().createRequest() + request.requestedScopes = [.fullName, .email] + + let controller = ASAuthorizationController(authorizationRequests: [request]) + controller.delegate = self + controller.presentationContextProvider = self + controller.performRequests() + } +} + + +// MARK: - ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding + +extension LoginViewController: ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { + func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + if let credential = authorization.credential as? ASAuthorizationAppleIDCredential { + let idToken = credential.identityToken! + let tokenStr = String(data: idToken, encoding: .utf8) + print(tokenStr ?? "No token string") + + guard let code = credential.authorizationCode else { return } + let codeStr = String(data: code, encoding: .utf8) + print(codeStr ?? "No code string") + + let user = credential.user + print(user) + } + } + + func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + print("Authorization failed with error: \(error)") + } + + func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + return self.view.window! + } + +} From a5bf39e178afec1abe85a6c931f346628ccf4a70 Mon Sep 17 00:00:00 2001 From: JinUng41 Date: Sun, 7 Jul 2024 17:53:26 +0900 Subject: [PATCH 22/24] =?UTF-8?q?fix:=20=EC=B6=A9=EB=8F=8C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KkuMulKum.xcodeproj/project.pbxproj | 4 - .../xcshareddata/swiftpm/Package.resolved | 194 ------------------ KkuMulKum/ViewController.swift | 61 ------ 3 files changed, 259 deletions(-) delete mode 100644 KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 KkuMulKum/ViewController.swift diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index 956ce7ae..44b705b0 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -53,7 +53,6 @@ 785AE1C02C2E878600677CA0 /* FirebaseVertexAI-Preview in Frameworks */ = {isa = PBXBuildFile; productRef = 785AE1BF2C2E878600677CA0 /* FirebaseVertexAI-Preview */; }; 78B9286C2C29402C006D9942 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B9286B2C29402C006D9942 /* AppDelegate.swift */; }; 78B9286E2C29402C006D9942 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B9286D2C29402C006D9942 /* SceneDelegate.swift */; }; - 78B928702C29402C006D9942 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B9286F2C29402C006D9942 /* ViewController.swift */; }; 78B928752C29402E006D9942 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 78B928742C29402E006D9942 /* Assets.xcassets */; }; 78B928782C29402E006D9942 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 78B928762C29402E006D9942 /* LaunchScreen.storyboard */; }; /* End PBXBuildFile section */ @@ -63,7 +62,6 @@ 78B928682C29402C006D9942 /* KkuMulKum.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KkuMulKum.app; sourceTree = BUILT_PRODUCTS_DIR; }; 78B9286B2C29402C006D9942 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 78B9286D2C29402C006D9942 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 78B9286F2C29402C006D9942 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 78B928742C29402E006D9942 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 78B928772C29402E006D9942 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 78B928792C29402E006D9942 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -146,7 +144,6 @@ 785AE1C12C326E9B00677CA0 /* KkuMulKum.entitlements */, 78B9286B2C29402C006D9942 /* AppDelegate.swift */, 78B9286D2C29402C006D9942 /* SceneDelegate.swift */, - 78B9286F2C29402C006D9942 /* ViewController.swift */, 78B928742C29402E006D9942 /* Assets.xcassets */, 78B928762C29402E006D9942 /* LaunchScreen.storyboard */, 78B928792C29402E006D9942 /* Info.plist */, @@ -278,7 +275,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 78B928702C29402C006D9942 /* ViewController.swift in Sources */, 78B9286C2C29402C006D9942 /* AppDelegate.swift in Sources */, 78B9286E2C29402C006D9942 /* SceneDelegate.swift in Sources */, ); diff --git a/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 16f9e21b..00000000 --- a/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,194 +0,0 @@ -{ - "pins" : [ - { - "identity" : "abseil-cpp-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/abseil-cpp-binary.git", - "state" : { - "revision" : "748c7837511d0e6a507737353af268484e1745e2", - "version" : "1.2024011601.1" - } - }, - { - "identity" : "alamofire", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Alamofire/Alamofire.git", - "state" : { - "revision" : "f455c2975872ccd2d9c81594c658af65716e9b9a", - "version" : "5.9.1" - } - }, - { - "identity" : "app-check", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/app-check.git", - "state" : { - "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d", - "version" : "10.19.2" - } - }, - { - "identity" : "firebase-ios-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/firebase-ios-sdk", - "state" : { - "revision" : "e57841b296d04370ea23580f908881b0ccab17b9", - "version" : "10.28.1" - } - }, - { - "identity" : "googleappmeasurement", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleAppMeasurement.git", - "state" : { - "revision" : "fe727587518729046fc1465625b9afd80b5ab361", - "version" : "10.28.0" - } - }, - { - "identity" : "googledatatransport", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleDataTransport.git", - "state" : { - "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", - "version" : "9.4.0" - } - }, - { - "identity" : "googleutilities", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleUtilities.git", - "state" : { - "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", - "version" : "7.13.3" - } - }, - { - "identity" : "grpc-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/grpc-binary.git", - "state" : { - "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", - "version" : "1.62.2" - } - }, - { - "identity" : "gtm-session-fetcher", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/gtm-session-fetcher.git", - "state" : { - "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", - "version" : "3.5.0" - } - }, - { - "identity" : "interop-ios-for-google-sdks", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/interop-ios-for-google-sdks.git", - "state" : { - "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", - "version" : "100.0.0" - } - }, - { - "identity" : "kakao-ios-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/kakao/kakao-ios-sdk.git", - "state" : { - "revision" : "e9e649d3ba823c3673867d3d09010fc77005a940", - "version" : "2.22.3" - } - }, - { - "identity" : "leveldb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/leveldb.git", - "state" : { - "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", - "version" : "1.22.5" - } - }, - { - "identity" : "lookinserver", - "kind" : "remoteSourceControl", - "location" : "https://github.com/QMUI/LookinServer.git", - "state" : { - "revision" : "e553d1b689d147817dc54ad5c28fcff71e860101", - "version" : "1.2.8" - } - }, - { - "identity" : "moya", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Moya/Moya.git", - "state" : { - "revision" : "c263811c1f3dbf002be9bd83107f7cdc38992b26", - "version" : "15.0.3" - } - }, - { - "identity" : "nanopb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/nanopb.git", - "state" : { - "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", - "version" : "2.30910.0" - } - }, - { - "identity" : "promises", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/promises.git", - "state" : { - "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", - "version" : "2.4.0" - } - }, - { - "identity" : "reactiveswift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/ReactiveCocoa/ReactiveSwift.git", - "state" : { - "revision" : "c43bae3dac73fdd3cb906bd5a1914686ca71ed3c", - "version" : "6.7.0" - } - }, - { - "identity" : "rxswift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/ReactiveX/RxSwift.git", - "state" : { - "revision" : "b06a8c8596e4c3e8e7788e08e720e3248563ce6a", - "version" : "6.7.1" - } - }, - { - "identity" : "snapkit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/SnapKit/SnapKit.git", - "state" : { - "revision" : "2842e6e84e82eb9a8dac0100ca90d9444b0307f4", - "version" : "5.7.1" - } - }, - { - "identity" : "swift-protobuf", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-protobuf.git", - "state" : { - "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", - "version" : "1.26.0" - } - }, - { - "identity" : "then", - "kind" : "remoteSourceControl", - "location" : "https://github.com/devxoul/Then.git", - "state" : { - "revision" : "d41ef523faef0f911369f79c0b96815d9dbb6d7a", - "version" : "3.0.0" - } - } - ], - "version" : 2 -} diff --git a/KkuMulKum/ViewController.swift b/KkuMulKum/ViewController.swift deleted file mode 100644 index f0f1a4f2..00000000 --- a/KkuMulKum/ViewController.swift +++ /dev/null @@ -1,61 +0,0 @@ -// -// ViewController.swift -// KkuMulKum -// -// Created by 이지훈 on 6/24/24. -// -import UIKit -import AuthenticationServices - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .yellow - setupAppleLoginButton() - } - - func setupAppleLoginButton() { - let button = ASAuthorizationAppleIDButton() - button.addTarget(self, action: #selector(clickAppleLogin), for: .touchUpInside) - button.frame = CGRect(x: 100, y: 100, width: 200, height: 40) - view.addSubview(button) - } - - @objc func clickAppleLogin() { - let request = ASAuthorizationAppleIDProvider().createRequest() - request.requestedScopes = [.fullName, .email] - - let controller = ASAuthorizationController(authorizationRequests: [request]) - controller.delegate = self - controller.presentationContextProvider = self - controller.performRequests() - } -} - -// MARK: - ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding -extension ViewController: ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { - func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { - if let credential = authorization.credential as? ASAuthorizationAppleIDCredential { - let idToken = credential.identityToken! - let tokenStr = String(data: idToken, encoding: .utf8) - print(tokenStr ?? "No token string") - - guard let code = credential.authorizationCode else { return } - let codeStr = String(data: code, encoding: .utf8) - print(codeStr ?? "No code string") - - let user = credential.user - print(user) - } - } - - func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { - print("Authorization failed with error: \(error)") - } - - func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { - return self.view.window! - } -} From e5de9c83a17893836c45d32d85114df55230e14c Mon Sep 17 00:00:00 2001 From: youz2me Date: Sun, 7 Jul 2024 17:59:57 +0900 Subject: [PATCH 23/24] =?UTF-8?q?fix/#128=20Icon=20=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 --- .../Resource/Assets.xcassets/Icon/Contents.json | 6 ++++++ .../Icon/icon_back.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_back.imageset/back.svg | 3 +++ .../Icon/icon_camera.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_camera.imageset/camera.svg | 4 ++++ .../Icon/icon_check.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_check.imageset/check.svg | 4 ++++ .../Icon/icon_date.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_date.imageset/date.svg | 6 ++++++ .../Icon/icon_delete.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_delete.imageset/delete.svg | 5 +++++ .../Icon/icon_deleteDark.imageset/Contents.json | 12 ++++++++++++ .../icon_deleteDark.imageset/deleteDark.svg | 5 +++++ .../Icon/icon_group.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_group.imageset/group.svg | 11 +++++++++++ .../Icon/icon_groupPlus.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_groupPlus.imageset/groupPlus.svg | 3 +++ .../Icon/icon_home.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_home.imageset/home.svg | 4 ++++ .../Icon/icon_my.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_my.imageset/my.svg | 4 ++++ .../Icon/icon_penalty.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_penalty.imageset/penalty.svg | 10 ++++++++++ .../Icon/icon_pin.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_pin.imageset/pin.svg | 3 +++ .../Icon/icon_plus.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_plus.imageset/plus.svg | 17 +++++++++++++++++ .../Icon/icon_plusDark.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_plusDark.imageset/plusDark.svg | 3 +++ .../Icon/icon_right.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_right.imageset/right.svg | 3 +++ .../Icon/icon_search.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_search.imageset/search.svg | 17 +++++++++++++++++ .../Icon/icon_time.imageset/Contents.json | 12 ++++++++++++ .../Icon/icon_time.imageset/time.svg | 3 +++ 36 files changed, 315 insertions(+), 3 deletions(-) create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/back.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/camera.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/check.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/date.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/delete.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/deleteDark.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/group.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/groupPlus.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/home.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/my.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/penalty.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/pin.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/plus.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/plusDark.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/right.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/search.svg create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/Contents.json create mode 100644 KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/time.svg diff --git a/.gitignore b/.gitignore index 95ce5ce3..381df4ca 100644 --- a/.gitignore +++ b/.gitignore @@ -7,9 +7,6 @@ .AppleDouble .LSOverride -# Icon must end with two \r -Icon - # Thumbnails ._* diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/Contents.json new file mode 100644 index 00000000..febf0aa1 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "back.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/back.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/back.svg new file mode 100644 index 00000000..f10806c1 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_back.imageset/back.svg @@ -0,0 +1,3 @@ + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/Contents.json new file mode 100644 index 00000000..e1ec8fc4 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "camera.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/camera.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/camera.svg new file mode 100644 index 00000000..b4c8b216 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_camera.imageset/camera.svg @@ -0,0 +1,4 @@ + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/Contents.json new file mode 100644 index 00000000..b09981a2 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "check.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/check.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/check.svg new file mode 100644 index 00000000..a273a039 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_check.imageset/check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/Contents.json new file mode 100644 index 00000000..3ca6fb89 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "date.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/date.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/date.svg new file mode 100644 index 00000000..438bc979 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_date.imageset/date.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/Contents.json new file mode 100644 index 00000000..22b685c7 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "delete.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/delete.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/delete.svg new file mode 100644 index 00000000..b6677a63 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_delete.imageset/delete.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/Contents.json new file mode 100644 index 00000000..fe13666d --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "deleteDark.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/deleteDark.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/deleteDark.svg new file mode 100644 index 00000000..2c14a611 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_deleteDark.imageset/deleteDark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/Contents.json new file mode 100644 index 00000000..91a354c5 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "group.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/group.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/group.svg new file mode 100644 index 00000000..f19c3734 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_group.imageset/group.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/Contents.json new file mode 100644 index 00000000..fb9b4d62 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "groupPlus.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/groupPlus.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/groupPlus.svg new file mode 100644 index 00000000..d31a2cb0 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_groupPlus.imageset/groupPlus.svg @@ -0,0 +1,3 @@ + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/Contents.json new file mode 100644 index 00000000..53ea4d56 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "home.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/home.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/home.svg new file mode 100644 index 00000000..b83e17f0 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_home.imageset/home.svg @@ -0,0 +1,4 @@ + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/Contents.json new file mode 100644 index 00000000..9b575b9a --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "my.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/my.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/my.svg new file mode 100644 index 00000000..b97f9844 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_my.imageset/my.svg @@ -0,0 +1,4 @@ + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/Contents.json new file mode 100644 index 00000000..710c790a --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "penalty.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/penalty.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/penalty.svg new file mode 100644 index 00000000..aca63049 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_penalty.imageset/penalty.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/Contents.json new file mode 100644 index 00000000..3b4d0760 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pin.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/pin.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/pin.svg new file mode 100644 index 00000000..97d5cb46 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_pin.imageset/pin.svg @@ -0,0 +1,3 @@ + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/Contents.json new file mode 100644 index 00000000..a23b7466 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "plus.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/plus.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/plus.svg new file mode 100644 index 00000000..33d55c1d --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plus.imageset/plus.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/Contents.json new file mode 100644 index 00000000..7324db90 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "plusDark.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/plusDark.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/plusDark.svg new file mode 100644 index 00000000..aa575ceb --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_plusDark.imageset/plusDark.svg @@ -0,0 +1,3 @@ + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/Contents.json new file mode 100644 index 00000000..a3a8077c --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "right.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/right.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/right.svg new file mode 100644 index 00000000..c3a613e3 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_right.imageset/right.svg @@ -0,0 +1,3 @@ + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/Contents.json new file mode 100644 index 00000000..4a3f4dab --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "search.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/search.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/search.svg new file mode 100644 index 00000000..40f0b9c6 --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_search.imageset/search.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/Contents.json b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/Contents.json new file mode 100644 index 00000000..d07b012f --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "time.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/time.svg b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/time.svg new file mode 100644 index 00000000..a3b0373c --- /dev/null +++ b/KkuMulKum/Resource/Assets.xcassets/Icon/icon_time.imageset/time.svg @@ -0,0 +1,3 @@ + + + From 544465b223cb373cd8061c910cd9e83c7baa77db Mon Sep 17 00:00:00 2001 From: youz2me Date: Sun, 7 Jul 2024 18:05:58 +0900 Subject: [PATCH 24/24] =?UTF-8?q?hotfix/126=20=EC=BB=AC=EB=9F=AC=20?= =?UTF-8?q?=EC=97=90=EC=85=8B=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 3 +-- .../{orange.colorset => mainorange.colorset}/Contents.json | 0 .../{red.colorset => mainred.colorset}/Contents.json | 0 3 files changed, 1 insertion(+), 2 deletions(-) rename KkuMulKum/Resource/Color.xcassets/{orange.colorset => mainorange.colorset}/Contents.json (100%) rename KkuMulKum/Resource/Color.xcassets/{red.colorset => mainred.colorset}/Contents.json (100%) diff --git a/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 598b1bc5..16f9e21b 100644 --- a/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/KkuMulKum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,4 @@ { - "originHash" : "7b4f67d4dcb64aa16b96f8a407214874f76a5a70e4765d51698efc401347beb2", "pins" : [ { "identity" : "abseil-cpp-binary", @@ -191,5 +190,5 @@ } } ], - "version" : 3 + "version" : 2 } diff --git a/KkuMulKum/Resource/Color.xcassets/orange.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/mainorange.colorset/Contents.json similarity index 100% rename from KkuMulKum/Resource/Color.xcassets/orange.colorset/Contents.json rename to KkuMulKum/Resource/Color.xcassets/mainorange.colorset/Contents.json diff --git a/KkuMulKum/Resource/Color.xcassets/red.colorset/Contents.json b/KkuMulKum/Resource/Color.xcassets/mainred.colorset/Contents.json similarity index 100% rename from KkuMulKum/Resource/Color.xcassets/red.colorset/Contents.json rename to KkuMulKum/Resource/Color.xcassets/mainred.colorset/Contents.json