Skip to content

Commit

Permalink
Main Version 1.0.0 πŸ₯³ (#265)
Browse files Browse the repository at this point in the history
* chore: 주석 μ‚­μ œ

* feat: λ™μ˜μƒ inline μž¬μƒ

* feat: webview opaque false

* feat	    : textView ν‚€λ³΄λ“œ νƒ€μž… λ³€κ²½

- AddBookmarkView λ‚΄ nameTextView 의 ν‚€λ³΄λ“œ νƒ€μž…μ„ .defualt 둜 λ³€κ²½
- AddBookmarkView λ‚΄ urlTextView 의 ν‚€λ³΄λ“œ νƒ€μž…μ„ .URL 둜 λ³€κ²½

* refactor  : urlTextViewλ‚΄ κΈ°μ‘΄ ν‚€λ³΄λ“œ νƒ€μž… μ‚­μ œ

* feat: μ›Ήλ·° λ¦¬ν”„λ ˆμ‹œ 제슀처 μΆ”κ°€

* feat	    : Add clearButton in nameTextView

* feat: λ¦¬ν”„λ ˆμ‹œ 컨트둀 μ»€μŠ€ν…€

* feat: μ„€μ • 진동 on/off μŠ€μœ„μΉ˜ μΆ”κ°€

* feat: 진동 효과 μΆ”κ°€

* feat: μ›Ήλ·° λ‚΄ λ‘œλ”© 좔적

* style: Share Extension UI λ³€κ²½

* fix: μ•± νƒ€κ²Ÿ CFBundleShortVersionString μˆ˜μ •

* style: RefreshControl backgroundColor μΆ”κ°€

* feat: 즐겨찾기, 곡유, μ‚­μ œ λΆ€λ“œλŸ¬μš΄ 진동 μΆ”κ°€

* feat: RefreshControl 높이 μ„€μ • 및 진동 효과

* fix: folder error

* feat: back gesture in favorite view

* design: folder button animation

* πŸ”¨ refactor: FavoriteView WebView둜 λ³€κ²½

* build: bundle version λ³€κ²½

* feat: μƒˆ 창으둜 μ—΄κΈ° μ˜΅μ…˜ 링크 λ‚΄λΆ€μ—μ„œ μ—΄κΈ°

* feat: empty folder label

* style: share extension assets

* feat: change share extension view

* fix: separte addbookmark function

* fix: consider safe area layout

* style: font color black

* chore: rename

* fix: url error

* refactor: FolderListCell의 체크마크 config λ³€κ²½

* feat: μƒμœ„ UITabBar 컨트둀러 μ°ΎκΈ°

* feat: metadata manager

* fix: κΈ°μ‘΄ μ»¨νŠΈλ‘€λŸ¬μ—μ„œ ν•΄κ²°

* feat: folder menu in boxList

* refactor: chevron κ΅΅κΈ° λ³€κ²½

* refactor: selectedFolderLabel width 쑰쑍

- 'μ„ νƒλœ 폴더가 μ—†μŠ΅λ‹ˆλ‹€' 문ꡬ 잘림 방지

* fix: initial button rotate

* fix: SettingItemCell chevron λ²„νŠΌ ν„°μΉ˜ μ•ˆ λ˜λŠ” 문제 ν•΄κ²°

* feat: 폴더 λ²„νŠΌ κΎΉ λˆ„λ₯Ό λ•Œ 진동 μΆ”κ°€

* style: μ•±μ˜ μ „λ°˜μ μΈ 폰트 μˆ˜μ •

* feat: addbookmarkmanager setup bidings

* chore: delete unnecessray lines

* chore: delete unused function

* fix: addbookmarkviewκ°€ λ– μžˆλŠ” 경우 dismiss 방지

* refactor: nameTextView 및 clearButton μ œμ•½ μˆ˜μ •

- nameTextView의 data와 clearButton κ²ΉμΉ˜λŠ” 문제 μˆ˜μ •

* fix: bookmark move error

* feat: folder open scroll action

* chore: ν•„μš”μ—†λŠ” 쀄 μ‚­μ œ

* fix: url decoding encoding

* fix: share extension encoding

* fix: url encoding in webviewdelegate

* fix: delete incomingData

* chore: λΆˆν•„μš”ν•œ 주석 μ‚­μ œ

* fix: 이전 μΊμ‹œ μ‚­μ œ

* feat: edit action

* feat: remove cache

* feat: FolderListViewController에 λ°± 제슀처 ν—ˆμš©

* fix: bookmark νŽΈμ§‘μ‹œ μ• λ‹ˆλ©”μ΄μ…˜ μˆ˜μ •

* feat: clearButton ν„°μΉ˜ μ‹œ nameTextView firstResponder둜 μ„€μ •

* fix: empty image view color in systemmode change

* feat: cache image

* chore: 주석 ν•΄μ œ

* feat: cache image

* fix: ShareExtensionμ‹œ present λ˜μ–΄ μžˆλŠ” viewκ°€ μžˆλŠ” 경우 버그 μˆ˜μ •

- 이미 present된 viewκ°€ μžˆλŠ” 경우 ShareExtensionμ‹œ 뢁마크 좔가화면이 λœ¨μ§€ μ•ŠλŠ” 버그 μˆ˜μ •

* feat: μ‚¬μš©μžκ°€ μž…λ ₯ν•œ URL에 https://κ°€ 없을 경우 μžλ™μœΌλ‘œ μΆ”κ°€ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„

- https:// 와 http:// κ°€ λ‘˜ λ‹€ μ—†λŠ” 경우 https:// λ₯Ό μΆ”κ°€

* feat: separate default data

* feat: launchscreen startup flow

* fix: reset data

* fix: version check code

* fix: versioning

* fix: cell remove animation

* feat: 폴더 μΆ”κ°€ μ‹œ μžλ™ 폴더 선택

* feat: ν™ˆν™”λ©΄ μ‹œμž‘ν™”λ©΄μœΌλ‘œ 이름 λ³€κ²½

* style: μ›Ήλ·° ν”„λ‘œκ·Έλ ˆμŠ€λ°” 색상 μˆ˜μ •

* build: λΉŒλ“œ νƒ€κ²Ÿ iPhone으둜 λ³€κ²½

* fix: μ›Ή λ·° μ•„λž˜ μ•ˆλ³΄μž„ μˆ˜μ •

- μ›Ήλ·° μ œμ•½ μˆ˜μ •

* fix: wip

* build: add SkeletonView library

* feat: skeleton ui

* feat: set delegate simply

* chore: style

* chore: delete files

* feat: loading 쀑 skeletonview 적용

* feat: fetch error μ‹œ skeletonView μœ μ§€

* chore: ν•„μš”μ—†λŠ” μ½”λ“œ μˆ˜μ •

* feat: errorpage view

* feat: errorpage view controller

* feat: separate responsibilities error delegate

* feat: μ„€μ • νŽ˜μ΄μ§€ μˆ˜μ •

* docs: Add README.md file

* style: BoxList λ„€λΉ„κ²Œμ΄μ…˜ 타이틀 λ³€κ²½

* docs: README.md μ΄ˆμ•ˆ μž‘μ„±

* docs: README.md λ‚΄ gif 및 λ‹€μš΄λ‘œλ“œ 이미지 μΆ”κ°€

* docs: README.md λ‚΄ μ•± μ•„μ΄μ½˜ 배치 μˆ˜μ •

* docs: README.md λ‚΄ gif 크기 μˆ˜μ •

* docs: 파일 경둜 μˆ˜μ •

* feat: register subquery extensionItems public.data

* fix: support file, movie, image

* feat: add extension item

* chore: delete commnets

* fix: delete unnecessary line

* feat: webview error code

* feat: errorview page presentation animation

* feat: error page view

* style: refresh controller color

* fix: http 처리

* fix: 였λ₯˜μ‹œ isFetching false둜 λ³€κ²½

* feat: remove preload

* chore: μ˜€νƒ€ μˆ˜μ •

* chore: 주석 μ‚­μ œ

* fix: refresh control layout

* fix: hash in url

* docs: μ•± μ†Œκ°œ 사진 μΆ”κ°€

* fix: delete unnecessary line

* docs: 사진 λΉ„μœ¨ μ‚­μ œ

* docs: update img

* docs: Update README.md

* docs: Update README.md

* docs: Update README.md

* feat: μ•± μ†Œκ°œ λ¦¬λ“œλ―Έ μ—°κ²°

* feat: error view controller present effect

* fix: correct push error page view controller

* feat: error logic

* feat: error page view

* feat: uibutton animate

* feat: pannel view back layer

* chore: delete comment

* fix: errorviewcontroller nil

* chore: Projectλ‚΄ destinations μˆ˜μ •

* chore: remove needless assets

* refactor: backgroundView -> panelView둜 이름 λ³€κ²½

* chore: ν•„μš”μ—†λŠ” 파일 μ‚­μ œ

* fix: modalview backgroundColor μˆ˜μ •

* style: ErrorPageView λ ˆμ΄μ•„μ›ƒ μˆ˜μ •

* fix: μ•„μ΄νŒ¨λ“œ λŒ€μ‘ UIAlertConteollr preferredStyle μˆ˜μ •

* fix: delete unnecessary import

* docs: gitignore

* feat: fastlane

* feat: tuist signing

* feat: Makefile

* feat: add auth ignore

* fix: change make gen

* build: git action

* docs: deploy gitaction

* build: gitcation

* build: gitcation

* build: mise

* build: mise

* fix: fault letter

* fix: ruby

* fix: ruby offer

* fix: ruby version

* fix: tuist version

* fix: separate constant

* fix: env.ruby_version

* fix: secrets key

* fix: secrets.Master_KEY

* fix: μΆœμ‹œλ₯Ό μœ„ν•œ App Icons

* docs: .gitignore μˆ˜μ •

* fix: web View μ•ˆμ—μ„œ μƒˆ μ°½ μ΄λ™ν•˜λŠ” 경우 처리

* fix: load ν›„ 적용

* style: 런치 슀크린 이미지 λ³€κ²½

* fix: 비동기 둜직 처리

* chore: ν•„μš”μ—†λŠ” ν•¨μˆ˜ μ‚­μ œ

* fix: change displayname for 42Box

---------

Co-authored-by: noeyiz <[email protected]>
Co-authored-by: jonnwon <[email protected]>
Co-authored-by: JH713 <[email protected]>
Co-authored-by: jonnwon <[email protected]>
  • Loading branch information
5 people authored Apr 29, 2024
1 parent fce4b90 commit 678bdc7
Show file tree
Hide file tree
Showing 176 changed files with 8,481 additions and 158 deletions.
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
### πŸ“Œ κ°œμš”
-

### πŸ’» μž‘μ—… λ‚΄μš©
-

### πŸ–ΌοΈ μŠ€ν¬λ¦°μƒ·
|||
|---|---|
|||
51 changes: 51 additions & 0 deletions .github/Release-note.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Author by chanhihi
# Date 2023.08.09
# name-template: "v$NEXT_MINOR_VERSION 🦊"
# tag-template: "v$NEXT_MINOR_VERSION"

name-template: "v$RESOLVED_VERSION 🦊"
tag-template: "v$RESOLVED_VERSION"
version-resolver:
major:
labels:
- "⚠️ Breaking changes"
minor:
labels:
- "✨ Enhancement"
patch:
labels:
- "βš’ Refactor"
- "🐞 Bug"
default: patch

categories:
- title: "⚠️ Breaking changes"
labels:
- "⚠️ Breaking Change"
- title: "πŸš€ Features"
labels:
- "✨ Enhancement"
- "βš’ Refactor"
- "πŸ› Structure"
- title: "πŸ› Bug Fixes"
labels:
- "🐞 Bug"
- title: "πŸ“š Documentation"
labels:
- "πŸ“„ Documentation"
- title: "🎨 Style"
labels:
- "πŸ’„ UI/UX"
- title: "πŸ— Infrastructure"
labels:
- "🌐 DevOps"
exclude-labels:
- "πŸ’– Question"
- "β˜‚οΈ Umbrella"

change-template: "- $TITLE (#$NUMBER)"
change-title-escapes: '\<*_&'

template: |
## Changes
$CHANGES
98 changes: 98 additions & 0 deletions .github/workflows/Deployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Author by chanhihi
# Date 2024.04.26

name: Deployment

on:
pull_request:
branches:
- main
types:
- closed

jobs:
build:
name: Deploy on macOS latest - Release for iOS
runs-on: macos-latest
env:
XCODE_VERSION: "15.2.0"
SWIFT_VERSION: "5.9.2"
RUBY_VERSION: "2.6.10"
TUIST_VERSION: "3.36.2"

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up Ruby 2.6
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true

- name: Set Xcode version
run: sudo xcode-select -s '/Applications/Xcode_15.2.0.app/Contents/Developer'

- name: Setup Swift
uses: swift-actions/setup-swift@v1
with:
swift-version: ${{ env.SWIFT_VERSION }}

- name: .env
run: touch .env &&
echo "APP_STORE_CONNECT_API_KEY_KEY_ID=${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}" >> .env &&
echo "APP_STORE_CONNECT_API_KEY_ISSUER_ID=${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}" >> .env &&
echo "APP_STORE_CONNECT_API_KEY_KEY=${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}" >> .env

- name: Setting Master Key
run: |
echo "$MASTER_KEY" > Tuist/master.key
env:
MASTER_KEY: ${{secrets.MASTER_KEY}}

- name: Mise
uses: jdx/mise-action@v2

- name: Install Tuist
run: mise install tuist@${{ env.TUIST_VERSION }}

- name: Tuist version
run: mise use -g tuist@${{ env.TUIST_VERSION }}

- name: Install Fastlane
run: brew install fastlane

- name: Tuist clean
run: tuist clean

- name: Tuist fetch
run: tuist fetch

- name: Tuist Signing Decrypt
run: tuist signing decrypt

- name: Set Keychain
run: fastlane set_keychain
env:
KEYCHAIN_NAME: ${{ secrets.KEYCHAIN_NAME }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}

- name: Generate Xcode project with Tuist
run: tuist generate

- name: Fastlane run
run: fastlane tf

- name: Tagging
id: tag_version
uses: mathieudutour/[email protected]
with:
github_token: ${{ secrets.CHANHIHI }}

- name: Draft Release
id: draft_release
uses: release-drafter/release-drafter@v5
with:
config-name: Release-note.yml
env:
GITHUB_TOKEN: ${{ secrets.CHANHIHI }}
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
.DS_Store
.AppleDouble
.LSOverride
.env

# Auth
*.key
*.p8
*.p12
*.cer

# Icon must end with two
Icon
Expand Down Expand Up @@ -68,3 +75,5 @@ Derived/

### Tuist managed dependencies ###
Tuist/Dependencies

.mise.toml
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "iBox/Resources/Version"]
path = iBox/Resources/Version
url = https://github.com/42Box/versioning
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source "https://rubygems.org"

gem "dotenv"
gem "fastlane"
19 changes: 19 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
gen:
tuist fetch
tuist generate

clean:
tuist clean

fclean: clean
find . -name "*.xcodeproj" -exec rm -rf {} \;
find . -name "*.xcworkspace" -exec rm -rf {} \;

re: fclean gen

tf:
tuist signing decrypt
tuist fetch
tuist generate

fastlane tf
76 changes: 67 additions & 9 deletions Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,24 @@ protocol ProjectFactory {
class iBoxFactory: ProjectFactory {
let projectName: String = "iBox"
let bundleId: String = "com.box42.iBox"
let iosVersion: String = "15.0"

let dependencies: [TargetDependency] = [
.external(name: "SnapKit"),
.external(name: "SwiftSoup"),
.external(name: "SkeletonView"),
.target(name: "iBoxShareExtension")
]

let iBoxShareExtensionDependencies: [TargetDependency] = [
.external(name: "SnapKit")
]

let infoPlist: [String: Plist.Value] = [
private let appInfoPlist: [String: Plist.Value] = [
"ITSAppUsesNonExemptEncryption": false,
"CFBundleDisplayName": "42Box",
"CFBundleName": "iBox",
"CFBundleShortVersionString": "1.2.1",
"CFBundleShortVersionString": "1.0.0",
"CFBundleVersion": "1",
"UILaunchStoryboardName": "LaunchScreen",
"UIApplicationSceneManifest": [
Expand All @@ -36,23 +45,72 @@ class iBoxFactory: ProjectFactory {
]
]
],
"UIUserInterfaceStyle": "Light"
"CFBundleURLTypes": [
[
"CFBundleURLName": "com.url.iBox",
"CFBundleURLSchemes": ["iBox"],
"CFBundleTypeRole": "Editor"
]
],
"NSAppTransportSecurity": [
"NSAllowsArbitraryLoadsInWebContent": true
]
]

func generateTarget() -> [ProjectDescription.Target] {[
Target(
private let shareExtensionInfoPlist: [String: Plist.Value] = [
"CFBundleDisplayName": "42Box.Share",
"CFBundleShortVersionString": "1.0.0",
"CFBundleVersion": "1",
"NSExtension": [
"NSExtensionAttributes": [
"NSExtensionActivationRule": [
"NSExtensionActivationSupportsWebPageWithMaxCount": 1,
"NSExtensionActivationSupportsWebURLWithMaxCount": 1,
"SUBQUERY": [
"extensionItems": [
"SUBQUERY": [
"attachments": [
"ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO 'public.data'": "TRUE"
],
"@count": 1
]
],
"@count": 1
]
]
],
"NSExtensionPointIdentifier": "com.apple.share-services",
"NSExtensionPrincipalClass": "$(PRODUCT_MODULE_NAME).CustomShareViewController"
]
]

func generateTarget() -> [ProjectDescription.Target] {
let appTarget = Target(
name: projectName,
destinations: .iOS,
product: .app,
bundleId: bundleId,
deploymentTargets: .iOS("15.0"),
infoPlist: .extendingDefault(with: infoPlist),
deploymentTargets: .iOS(iosVersion),
infoPlist: .extendingDefault(with: appInfoPlist),
sources: ["\(projectName)/Sources/**"],
resources: "\(projectName)/Resources/**",
dependencies: dependencies
)
]}


let shareExtensionTarget = Target(
name: "\(projectName)ShareExtension",
destinations: .iOS,
product: .appExtension,
bundleId: "\(bundleId).ShareExtension",
deploymentTargets: .iOS(iosVersion),
infoPlist: .extendingDefault(with: shareExtensionInfoPlist),
sources: ["ShareExtension/Sources/**"],
resources: ["ShareExtension/Resources/**"],
dependencies: iBoxShareExtensionDependencies
)

return [appTarget, shareExtensionTarget]
}

}

Expand Down
Loading

0 comments on commit 678bdc7

Please sign in to comment.