소프트웨어를 빠르게 만들기 위해 템플릿 창고를 만들었어요
개시하다
요즘은 아이디어가 떠오르면 바로 앱을 시도해보는 경우가 많아서 기릿허브의 템플릿 창고 기능을 사용해 템플릿 창고를 만들었는데 그거 말이에요.
iOS 애플리케이션 개발 중인 템플릿 창고라면
이번 템플릿 창고는 다음과 같습니다.
템플릿 웨어하우스는
템플릿 창고란 창고의 코드를 직접 복제하여 새 창고로 사용할 수 있는 기능을 말한다.
포크와 달리 기초 창고에서 여러 개의 창고를 만들 수 있고 제출 역사가 다르다.
템플릿 저장소의
application
애플리케이션과 Shared frame work 두 가지 타겟이 있습니다.
최근 앱 개발에서는 위젯, 앱 클립스 등 호스트 애플리케이션과 다른 extension에서 코드를 공유해야 하는 경우가 늘자 shared frame work를 사용했다.
자세한 내용은 XcodeGenproject.yml을 참조하십시오.
fastlane
인증서 관리는fastrane match를 사용하기 때문에 근처에 있는 코드가 있습니다.
그리고fastfile에서 응용 프로그램 버전의 증가량을 정의했다.
# アプリのバージョンを日付ベースにするためのlane
# 例) 2020.12.31
lane :upgrade_version do
today = Date.today
shortVersionString = "#{today.year}.#{today.month}.#{today.day}"
set_info_plist_value(
path: './App/Resources/Info.plist',
key: 'CFBundleShortVersionString',
value: shortVersionString
)
set_info_plist_value(
path: './Shared/Info.plist',
key: 'CFBundleShortVersionString',
value: shortVersionString
)
end
# build numberをインクリメントするためのlane
lane :increment do
build_number = get_info_plist_value(
path: './App/Resources/Info.plist',
key: 'CFBundleVersion'
).to_i
build_number += 1
set_info_plist_value(
path: './App/Resources/Info.plist',
key: 'CFBundleVersion',
value: "#{build_number}"
)
set_info_plist_value(
path: './Shared/Info.plist',
key: 'CFBundleVersion',
value: "#{build_number}"
)
end
github/actions
GiitHubActions에서 lint와 응용 프로그램,sharedframework의test를 실행하고 있습니다.
name: CI
on:
pull_request:
paths:
- '.github/workflows/lint.yml'
- '.swiftlint.yml'
- '**/*.swift'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: GitHub Action for SwiftLint
uses: norio-nomura/action-[email protected]
- name: GitHub Action for SwiftLint with --strict
uses: norio-nomura/action-[email protected]
with:
args: --force-exclude
- name: GitHub Action for SwiftLint (Only files changed in the PR)
uses: norio-nomura/action-[email protected]
env:
DIFF_BASE: ${{ github.base_ref }}
name: CI
on:
push:
paths-ignore:
- Docs/**
- README.md
env:
DEVELOPER_DIR: /Applications/Xcode_11.6.app/Contents/Developer
jobs:
test-application:
runs-on: macOS-latest
env:
MINT_PATH: mint/lib
MINT_LINK_PATH: mint/bin
steps:
- uses: actions/checkout@v2
- name: Install Mint
run: brew install mint
- name: Cache Mint packages
uses: actions/cache@v2
with:
path: mint
key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-
- name: Generate Xcode project with XcodeGen
run: mint run xcodegen xcodegen generate
- name: application test
run: |
set -o pipefail
xcodebuild build-for-testing test-without-building -project App.xcodeproj -scheme AppTests -configuration Debug -sdk iphonesimulator -destination "name=iPhone 8" ENABLE_TESTABILITY=YES | xcpretty -c
- name: codecov
run: bash <(curl -s https://codecov.io/bash)
if: success()
test-shared:
runs-on: macOS-latest
env:
MINT_PATH: mint/lib
MINT_LINK_PATH: mint/bin
steps:
- uses: actions/checkout@v2
- name: Install Mint
run: brew install mint
- name: Cache Mint packages
uses: actions/cache@v2
with:
path: mint
key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-
- name: Generate Xcode project with XcodeGen
run: mint run xcodegen xcodegen generate
- name: Shared framework test
run: |
set -o pipefail
xcodebuild build-for-testing test-without-building -project App.xcodeproj -scheme SharedTests -configuration Debug -sdk iphonesimulator -destination "name=iPhone 8" ENABLE_TESTABILITY=YES | xcpretty -c
- name: codecov
run: bash <(curl -s https://codecov.io/bash)
if: success()
Reference
이 문제에 관하여(소프트웨어를 빠르게 만들기 위해 템플릿 창고를 만들었어요), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tomoki_sun/articles/011c3a644395e9f8acdd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)