MC2-Team3-SSAK3 Repository

Overview

๐Ÿ“ฑ Popopot

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-08-04 แ„‹แ…ฉแ„’แ…ฎ 6 59 50

ios15+ Swift5.6 SwiftUI Firebase

โœจ About App

"ํฌํ•ญ์—ญ๊ณผ ํฌ์Šคํ…์„ ์˜ค๊ฐ€๋Š” ํƒ์‹œํŒŸ์„ ํŽธํ•˜๊ฒŒ"

์•„์นด๋ฐ๋ฏธ ๋Ÿฌ๋„ˆ๋“ค์ด ํƒ์‹œํŒŸ์„ ํŽธํ•˜๊ฒŒ ๋ชจ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์•ฑ์ž…๋‹ˆ๋‹ค.
: Popopot makes the taxi gathering process easy and comfortable.


๐Ÿ“น Demo

Find Taxi Party Make Taxi Party Join Taxi Party Chat with Taxi Party member

๐ŸŽ† Screenshots

Taxi Party Feed Search by Date Detail Info Make Taxi Party Page
My Party Page Chat Room Leave Party Settings

๐Ÿซ‚ Authors

HoJongE Avo Yosep Jerry Raymond Joy
@HoJongPARK @Chaeho-Min @pis3120 @YoonyoungL @SH0123n @jsyworks

๐Ÿ” License

MIT

Comments
  • [Help] ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์‚ญ์ œํ•˜๋Š” ์œ ์ฆˆ์ผ€์ด์Šค

    [Help] ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์‚ญ์ œํ•˜๋Š” ์œ ์ฆˆ์ผ€์ด์Šค

    image

    ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์‚ญ์ œํ•˜๋ ค๊ณ  changeProfileImage์— nil์„ ๋„ฃ์—ˆ๋Š”๋ฐ, ์˜ค๋ฅ˜๊ฐ€ ๋œน๋‹ˆ๋‹ค. ์œ ์ฆˆ์ผ€์ด์Šค๋ฅผ ๋ณด๋‹ˆ๊นŒ User.profileImage๋ฅผ ๋‹ค์‹œ nil๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋Š”๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ํ”„๋กœํ•„ ๊ด€๋ฆฌ ํ™”๋ฉด์—์„œ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ, ์ด๋Ÿฌ๋ ค๋ฉด ์ƒˆ๋กœ์šด ์œ ์ฆˆ์ผ€์ด์Šค๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค! ํ˜น์€ ํ˜„์žฌ ์ƒํƒœ๋กœ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

    question ํ˜ธ์ข…์ด 
    opened by Chaeho-Min 5
  • [Feature] ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด hifi

    [Feature] ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด hifi

    Description

    lofi ๊ธฐ์ค€์œผ๋กœ ํ•˜๋‚˜์˜ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ด์—ˆ๋˜ ๊ฐ€์ž… ์ฝ”๋“œ, ๋‹‰๋„ค์ž„ ํ™”๋ฉด ๋ถ„ํ• 

    Sketch Screenshot

    แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-06-13 แ„‹แ…ฉแ„’แ…ฎ 8 56 58แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-06-13 แ„‹แ…ฉแ„’แ…ฎ 8 57 06์Šคํฌ๋ฆฐ์ƒท 2022-06-13 ์˜คํ›„ 8 57 12์Šคํฌ๋ฆฐ์ƒท 2022-06-13 ์˜คํ›„ 8 57 24

    To-do

    • [x] ๊ฐ€์ž…์ฝ”๋“œ ํ™”๋ฉด๊ณผ ๋‹‰๋„ค์ž„ ํ™”๋ฉด ๋ถ„ํ• 
    • [x] navigation ์—ฐ๊ฒฐ
    • [x] textfield๊ฐ€ focused ๋จ์— ๋”ฐ๋ผ ํ‚ค๋ณด๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ
    • [x] ๊ฐ€์ž… ์ฝ”๋“œ textfield underbar ์ƒ‰๊น” ๋ณ€ํ™” ๋ฐ ํฌ์ปค์‹ฑ
    • [x] ๋‹‰๋„ค์ž„ textfield underbar ํฌ์ปค์‹ฑ

    Etc

    feat ์•„๋ชฌ๋“œ 
    opened by SH0123 5
  • [Merge] #17: Sign up

    [Merge] #17: Sign up

    ์ž‘์—…์‚ฌํ•ญ

    related to #17

    • underline์ด ๋“ค์–ด๊ฐ„ textfield ์ž‘์„ฑ
    • underline์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ•จ์ˆ˜๋Š” view์˜ extension์œผ๋กœ ์ž‘์„ฑ
    • textfield ์ฝ”๋“œ ๊ฐ„๊ฒฐํ™”๋ฅผ ์œ„ํ•ด makeTextField function์œผ๋กœ ๋ถ„๋ฆฌ
    • button์€ ๊ณตํ†ต component๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€ ์ž„์‹œ
    • ์˜ฌ๋ฐ”๋ฅธ code๋ฅผ ์ž…๋ ฅํ–ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„
    • UserDefaults๋ฅผ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž… ์ด๋ฏธ ํ•œ ์œ ์ €์ธ์ง€ ์ •๋ณด ์ €์žฅ

    ๋ฆฌ๋ทฐํฌ์ธํŠธ

    • private์œผ๋กœ ์„ ์–ธํ•œ makeTextField function์˜ ๊ตฌํ˜„๋ฐฉ์‹์ด ์˜ณ์€์ง€ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
    • ์œ„์˜ makeTextField function์— optionalํ•œ function์„ pass ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๊ณ  ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ ํ•ด๋‹น ๋ถ€๋ถ„์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค

    ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰๋  ์ž‘์—…

    • layout ์œ„์น˜ ์กฐ์ •
    • ๋ฐ #17 ์ž‘์—… ๋ฆฌ์ŠคํŠธ

    ์ด๋ฏธ์ง€

    ezgif com-gif-maker-8

    ์งˆ๋ฌธ

    • optional function์€ ์–ด๋–ป๊ฒŒ unwrappingํ•ด์„œ ์‚ฌ์šฉํ• ๊นŒ์š”?
    • onAppear๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ focusState๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด asyncAfter๋กœ ์‹œ๊ฐ„์ฐจ๋ฅผ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. Help
    • ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ํ•ญ์ƒ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์ผ ๋„์›€ ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค

    ๊ธฐํƒ€

    References

    optional function์„ parameter๋กœ ๋„˜๊ธฐ๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• https://stackoverflow.com/questions/24395853/how-does-one-make-an-optional-closure-in-swift

    focusState https://www.raywenderlich.com/31569019-focus-management-in-swiftui-getting-started

    feat ์•„๋ชฌ๋“œ 
    opened by SH0123 5
  • [Merge] #56: Add ProfileImage Component

    [Merge] #56: Add ProfileImage Component

    ์ž‘์—…์‚ฌํ•ญ

    image

    ์‚ฌ์šฉ๋ฒ•

    ProfileImage(User(id: "1", nickname: "์•„๋ณด", profileImage: nil), diameter: 100)
    

    ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ User ํƒ€์ž…๊ณผ ํ”„๋กœํ•„ ์‚ฌ์ด์ฆˆ๋ฅผ ์ฃผ๋ฉด ๋จ

    ๋ฆฌ๋ทฐํฌ์ธํŠธ

    • User์™€ ํ”„๋กœํ•„ ์‚ฌ์ง„ ํฌ๊ธฐ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์Œ
    • User.profileImage๊ฐ€ nil์ด๋ฉด ํ…์ŠคํŠธ๋ฅผ, ์ฃผ์†Œ๊ฐ€ ์žˆ์œผ๋ฉด ์‚ฌ์ง„์„ ๋ถˆ๋Ÿฌ์˜ด
    • ํ…์ŠคํŠธ ํฌ๊ธฐ๋Š” ํ”„๋กœํ•„ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋„๋ก ๋งŒ๋“ฆ

    ๋‹ค์Œ์— ํ•  ์ž‘์—…

    • ๊ธฐ๋ณธ ํ”„๋กœํ•„์˜ ์ƒ‰์ƒ ๋ณ€๊ฒฝ
    • ๊ธฐ๋ณธ ํ”„๋กœํ•„์˜ ํ…์ŠคํŠธ ํฐํŠธ ๋ณ€๊ฒฝ
    feat ์•„๋ณด 
    opened by Chaeho-Min 4
  • [Help] ์œ ์ € ์ •๋ณด ๊ด€๋ฆฌ

    [Help] ์œ ์ € ์ •๋ณด ๊ด€๋ฆฌ

    ๋งค ๋ทฐ๋งˆ๋‹ค ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ์œ ์ € ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ url์„ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›๋Š” ๊ฒƒ์€ ๋ญ”๊ฐ€ ์•ˆ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ ์ € ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผ๋ ์ง€ ๋„์›€์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค!

    • ์–ดํ”Œ ์‹คํ–‰์‹œ ์œ ์ € ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ๋‹‰๋„ค์ž„๊ณผ ํ”„์‚ฌ๋ฅผ (์–ดํ”Œ์ด ์ผœ์ ธ์žˆ๋Š” ๋™์•ˆ๋งŒ) ์ €์žฅํ•ด๋‘๊ณ , ๋‹ค๋ฅธ ๋ทฐ์—์„œ ๊ฐ–๋‹ค ์“ฐ๋Š”์ง€,
    • ์•„๋‹ˆ๋ฉด ๋‹‰๋„ค์ž„๊ณผ ํ”„์‚ฌ๋Š” ์–ด์ฐจํ”ผ ํ”„๋กœํ•„ ๊ด€๋ฆฌ ํ™”๋ฉด์—์„œ๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ๊ธฐ๊ธฐ์— ์ €์žฅํ•ด๋‘๊ณ  ํ”„๋กœํ•„ ๊ด€๋ฆฌ ํ™”๋ฉด์—์„œ ๋ณ€๊ฒฝ์‹œ ๊ธฐ๊ธฐ์— ์ €์žฅ๋œ ๊ฒƒ์„ ์—…๋ฐ์ดํŠธํ•จ๊ณผ ๋™์‹œ์— ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—๋„ ์—…๋กœ๋“œ ํ•ด์•ผ ํ•˜๋Š”์ง€,
    • ์•„๋‹ˆ๋ฉด ํŒŒ์ด์–ด๋ฒ ์ด์Šค๊ฐ€ ์•Œ์•„์„œ ์บ์‹œ๊นŒ์ง€ ๋‹ค ํ•ด์ฃผ๋Š”์ง€(์บ์‹œ๋กœ ํ•ด์ค˜๋„ ์ด๋ฏธ์ง€๊ฐ€ url์ด๋ผ ์˜๋ฏธ ์—†์„๊ฒƒ์ด๋ผ ์˜ˆ์ƒ).

    ๋ฐฑ์—”๋“œ?์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋Š”๊ฑด ์ฒ˜์Œ์ด๋ผ ๋„ˆ๋ฌด ์–ด๋ ต๋„ค์š”ใ… ใ…  ๋„์™€์ฃผ์„ธ์š”!

    opened by Chaeho-Min 4
  • [Feature] ํƒ์‹œํŒŸ ๋ฆฌ์ŠคํŠธ

    [Feature] ํƒ์‹œํŒŸ ๋ฆฌ์ŠคํŠธ

    Description

    ํƒญ๋ทฐ์˜ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด์ธ "ํƒ์‹œํŒŸ" UI๋ฅผ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

    To-do

    • [ ] LazyVStack๋กœ ํ˜„์žฌ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ํƒ์‹œํŒŸ ์ฑ„ํŒ…๋ฐฉ CellView๋ฅผ ๋กœ๋”ฉํ•˜์—ฌ ๋ณด์—ฌ์ค€๋‹ค.
    • [ ] ScrollView ๋ฐ‘์— LazyVStack๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ฑ„ํŒ…๋ฐฉ CellView๋ฅผ ์Šคํฌ๋กคํ•˜์—ฌ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
    • [ ] CellView๋ฅผ ๋‚ ์งœ๋ณ„๋กœ Daily ๊ตฌ๋ณ„ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
    • [ ] ํƒ์‹œํŒŸ CellView๋ฅผ ์„ ํƒํ•˜๋ฉด '์•„๋ณด'๊ฐ€ ๊ตฌํ˜„ํ•œ ํƒ์‹œํŒŸ ์ •๋ณด View์™€ ์—ฐ๋™ ์˜ˆ์ •
    • [ ] "+" ๋ฒ„ํŠผ์„ UI ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ๊ตฌํ˜„ํ•˜์—ฌ, 'ํ˜ธ์ข…E'๊ฐ€ ๋งŒ๋“  ํƒ์‹œํŒŸ ์ƒ์„ฑ View์™€ ์—ฐ๋™ ์˜ˆ์ •
    • [ ] "๋‚ ์งœ ์„ ํƒ" ๋ฒ„ํŠผ์„ UI์— ๊ตฌํ˜„ํ•˜์—ฌ, '๋ ˆ์ด๋ชฌ๋“œ'๊ฐ€ ๋งŒ๋“  half-modal ๋‹ฌ๋ ฅ๊ณผ ์—ฐ๋™ ์˜ˆ์ •

    Etc

    1. LazyVStack / VStack / List ์ƒ๊ฐํ•ด๋ณด๊ธฐ Loadingํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด LazyVStack์ด ํ•„์ˆ˜๊ฒ ์ง€๋งŒ, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” VStack๋˜๋Š” List๋กœ ๊ตฌํ˜„ํ•ด๋„ ๋  ๊ฒƒ๊ฐ™์€ ์ƒ๊ฐ์ด ๋“ ๋‹ค. ํ™•์žฅ์„ฑ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ณ ๋ คํ•˜์—ฌ LazyVStack๋กœ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์„์ง€๋„. (์ด์ „ ํ”„๋กœ์ ํŠธ๋•Œ๋Š” LazyVStack์œผ๋กœ Dumy๋ฐ์ดํ„ฐ ์…€์„ ๋ถˆ๋Ÿฌ์™€์„œ ๊ตฌํ˜„ํ•˜์˜€์Œ.)
    feat ์š”์…‰ 
    opened by pis3120 4
  • [Feature] SwiftLint ์ ์šฉ

    [Feature] SwiftLint ์ ์šฉ

    Description

    Xcode SwiftLint ์ ์šฉ

    To-do

    • [x] (๊ฐœ์ธ ๋ณ„) mac os swiftLint ์„ค์น˜
    • [x] (ํ˜ธ์ข…์ด ์ž‘์—…) xcode swiftLint run script ์ถ”๊ฐ€
    • [x] ์š”์…‰
    • [x] ์•„๋ณด
    • [x] ์กฐ์ด
    • [x] ์ œ๋ฆฌ
    • [x] ๋ ˆ์ด๋ชฌ๋“œ

    Etc

    Mac os์— SwiftLint ์„ค์น˜ํ•˜๋Š” ๋ฒ•

    1. Mac os ์— home brew ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์„ค์น˜ํ•˜๊ธฐ Home brew ์„ค์น˜ ๊ฐ€์ด๋“œ ์‚ฌ์ดํŠธ
    2. ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ ๋ช…๋ น์–ด ์ž…๋ ฅ
    brew install swiftlint
    
    1. ๊ฐ์ž mac ์— homebrew ๋กœ swiftLint ์„ค์น˜ ํ›„ task ์™„๋ฃŒ ๋ฐ”๋ž๋‹ˆ๋‹ค.
    chore ํ˜ธ์ข…์ด ์š”์…‰ ์กฐ์ด ์•„๋ชฌ๋“œ ์•„๋ณด ์ œ๋ฆฌ 
    opened by HoJongE 4
  • Bug: Fix Yellow Plus Edit Button ์˜์—ญ ํ„ฐ์น˜ ๊ฐ€๋Šฅ

    Bug: Fix Yellow Plus Edit Button ์˜์—ญ ํ„ฐ์น˜ ๊ฐ€๋Šฅ

    ์ž‘์—…์‚ฌํ•ญ

    ProfileView์—์„œ ํ”„๋กœํ•„ ์‚ฌ์ง„ ์ˆ˜์ •ํ• ๋•Œ, ๋…ธ๋ž€์ƒ‰ ๋ฒ„ํŠผ ์˜์—ญ์„ ํ„ฐ์น˜ํ•˜์˜€์„๋•Œ์—๋„, ํ”„๋กœํ•„ ์‚ฌ์ง„ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” Fix

    ๋ฆฌ๋ทฐํฌ์ธํŠธ

    "ํ”„๋กœํ•„ ์‚ฌ์ง„ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ", "ํ”„๋กœํ•„ ์‚ฌ์ง„์ด ์žˆ๋Š” ๊ฒฝ์šฐ", "ํ”„๋กœํ•„ ์‚ฌ์ง„์ด ์—†๋Š” ๊ฒฝ์šฐ"์— ๋ชจ๋‘ ์ ์šฉ๋˜๋„๋ก ZStack์„ Button_label ๋ผ๋ฒจ์•ˆ์— ๋„ฃ์–ด Image("profileImage_plus")์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    var profileImageEditButton: some View {
        Button {
            showActionSheet.toggle()
        } label: {
            ZStack {
                if let newImage = selectedImage { // ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ
                    Image(uiImage: newImage)
                        .profileCircle(profileSize)
                } else if let imageURL = imageContainer { // ํ”„๋กœํ•„ ์‚ฌ์ง„์ด ์žˆ๋Š” ๊ฒฝ์šฐ
                    WebImage(url: URL(string: imageURL))
                        .profileCircle(profileSize)
                } else { // ํ”„๋กœํ•„ ์‚ฌ์ง„์ด ์—†๋Š” ๊ฒฝ์šฐ
                    textProfile(profileSize)
                }
                Image("profileImage_plus")
                    .resizable()
                    .frame(width: 48, height: 48)
                    .opacity(0.8)
            }
        }
    }
    

    Simulator Screen Recording - iPhone 13 mini - 2022-07-25 at 11 14 14

    bug ์š”์…‰ 
    opened by pis3120 3
  • [Help] MyPartyViewModel ํŒŒํ‹ฐ ๋‚˜๊ฐ€๊ธฐ ํ•จ์ˆ˜

    [Help] MyPartyViewModel ํŒŒํ‹ฐ ๋‚˜๊ฐ€๊ธฐ ํ•จ์ˆ˜

    ๋งˆ์ดํŒŸ์—์„œ ์ฐธ๊ฐ€ํ•œ ํƒ์‹œํŒŒํ‹ฐ๋ฅผ ๋– ๋‚˜๊ณ  MyPartyViewModel์˜ myPartyList๋ฅผ ๋ณ€๊ฒฝํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ ํ˜„์žฌ๋Š” ์‚ญ์ œ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด ๋‹ค์‹œ ํŒŒํ‹ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. (๊ด€๋ จ ์ปค๋ฐ‹ : 730aa33)

    func leaveMyParty(user: User, party: TaxiParty) {
             myPartyUseCase.leaveTaxiParty(party, user: user) { [weak self] error in
                 guard let self = self else {
                     print(error ?? "")
                     return
                 }
                 print("Leave Party, user:\(user.id), party:\(party.id)")
                 self.getMyParties(user: user)
             }
         }
    

    ์ด๋•Œ ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๊ณ  MyPartyViewModel์˜ myPartyList์—์„œ ์ง์ ‘ ์ œ๊ฑฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋” ์ข‹์„๊นŒ์š”?

    private func deletePartyInList(party: TaxiParty) {
             if let index = self.myPartyList.firstIndex(of: party) {
                 self.myPartyList.remove(at: index)
             }
         }
    
    • ํƒ์‹œํŒŸ์—์„œ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฐธ๊ฐ€ํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋‚ด ํƒ์‹œํŒŸ์€ ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ
    • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ๋ณด๋‹ค ํšจ์œจ์ ์ธ ๊ฒƒ ๊ฐ™์Œ

    ์ด๋Ÿฐ ์ด์œ  ๋•Œ๋ฌธ์— ์ง์ ‘ ์ œ๊ฑฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๊ฐ€๋„ ์„œ๋ฒ„์—์„œ ๋ถˆ๋Ÿฌ์™€์„œ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ํ—ท๊ฐˆ๋ ค์š”.. ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์ข‹์„์ง€ ์˜๊ฒฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

    help wanted ์ œ๋ฆฌ 
    opened by YoonyoungL 3
  • [Feature] ์œ ์ € ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ObservableObject

    [Feature] ์œ ์ € ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ObservableObject

    ์„ ํ–‰ ์ž‘์—…

    • [x] #38
    • [x] #69

    Description

    • ์•ฑ์˜ ์ „์ฒด ์‚ฌ์ดํด์—์„œ ์ง€์†๋  ์œ ์ € ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
    • ๋‹‰๋„ค์ž„ ๋ณ€๊ฒฝ, ํ”„๋กœํ•„ ์‚ฌ์ง„ ๋ณ€๊ฒฝ ๋“ฑ์˜ ์œ ์ฆˆ์ผ€์ด์Šค

    ์งˆ๋ฌธ

    • ํŒŒ์ผ ์ด๋ฆ„๊ณผ ํŒŒ์ผ ์œ„์น˜๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜์–ด์•ผ ํ• ์ง€
    • ์ œ๊ฐ€ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ใ… ใ… 

    To-do

    • [x] ๊ฐ ์œ ์ฆˆ์ผ€์ด์Šค ํ˜ธ์ถœ ๋ฉ”์„œ๋“œ ์ž‘์„ฑ
    • [x] User๊ฐ€ ์˜ต์…”๋„์ผ ๋•Œ

    Etc

    • ์ „ ๋ชปํ•  ๊ฒƒ ๊ฐ™์•„์š”
    feat ์•„๋ณด 
    opened by Chaeho-Min 3
  • [Please Read] ์ฝ”๋“œ ์ž‘์„ฑ, ์ปค๋ฐ‹ ์‹œ ํ•ญ์ƒ ๊ณ ๋ คํ•  ๊ฒƒ ์ค‘ ํ•˜๋‚˜

    [Please Read] ์ฝ”๋“œ ์ž‘์„ฑ, ์ปค๋ฐ‹ ์‹œ ํ•ญ์ƒ ๊ณ ๋ คํ•  ๊ฒƒ ์ค‘ ํ•˜๋‚˜

    ์ ‘๊ทผ ์ œ์–ด

    ์ ‘๊ทผ์ง€์ •์ž๋ž€ public, private ๊ณผ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ, ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ํ”„๋กœํผํ‹ฐ ๋“ฑ์˜ ์€๋‹‰ํ™” ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    ์šฐ๋ฆฌ๊ฐ€ ํ•ญ์ƒ SwitUI View ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ, @State ํ”„๋กœํผํ‹ฐ์— private ์ ‘๊ทผ ์ง€์ •์ž๋ฅผ ์ž‘์„ฑํ•˜๋ผ๋Š” ์ด์œ ๋Š”, ํ•ด๋‹น State ๊ฐ’์ด ์ž‘์„ฑ๋œ View ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์กฐ์ฐจ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์„œ ๊ฐœ๋ฐœ์ž์˜ ์‹ค์ˆ˜๋กœ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

    ๋˜ํ•œ ๋ธ”๋กœ๊ทธ ๊ธ€ ์— ๋”ฐ๋ฅด๋ฉด, ์ ‘๊ทผ ์ œ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ๋“ค์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค

    • ์ ‘๊ทผ ์ง€์ •์ž์˜ ์ž‘์„ฑ์€ ๊ทธ ์ž์ฒด๋กœ communication ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ private ์œผ๋กœ ์ง€์ •ํ•œ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋Š”, ์ ˆ๋Œ€ override ํ•  ์ˆ˜ ์—†๊ณ  ๋‚ด๋ถ€ ๋กœ์ง๋งŒ์„ ์œ„ํ•œ ํ”„๋กœํผํ‹ฐ์ž„์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์€ ์•”์‹œ์ ์œผ๋กœ ๋ฉ”์†Œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ์˜ ์‚ฌ์šฉ ๋ฒ”์œ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒ๋œ ํ•˜๋‚˜์˜ ๋‹จ์–ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ฌธ์„œํ™” ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.
    • ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜ (let, var) ๋˜ํ•œ ๊ทธ ์ž์ฒด๋กœ communication ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์•„๋ฌด ์ƒ๊ฐ ์—†์ด var ์™€ let ์„ ํ˜ผ์šฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๊ฒƒ์„ ๋ฆฌ๋ทฐํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์€ ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋ณ€๊ฒฝ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๋‚˜๋จธ์ง€ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์Šค์Šค๋กœ ํŒ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • swift performance ๊ฐ€ ํ–ฅ์ƒ๋œ๋‹ค. Method dispatch ๋ผ๋Š” ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ์— ๊ด€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š”๋ฐ, ๊ด€์‹ฌ ์žˆ์œผ์‹œ๋ฉด ์ฝ์–ด๋ณด์„ธ์š”

    ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.

    class TestClass {
      func getComputedValue(value: Int) -> Int {
        let processedValue: Int = valueProcessing(value)
        return computeValue(processedValue)
      }
    
      func valueProcessing(value: Int) -> Int {
       //..,
      }
      
      func computeValue(value: Int) -> Int {
        //...
      }
    }
    
    • ์œ„ ํด๋ž˜์Šค๋Š” Int ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ํŠน์ •ํ•œ ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค์Œ, ์ „์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ์— ํŠน์ • ์—ฐ์‚ฐ์„ ๊ฑฐ์น˜๊ณ  ์œ ์ €์—๊ฒŒ ์ตœ์ข…์ ์œผ๋กœ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    • ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ์ž‘์„ฑํ•œ ๊ฐœ๋ฐœ์ž์˜ ์˜๋„๋Š” ์œ ์ €๊ฐ€ getComputedValue ๋งŒ ํ˜ธ์ถœํ•ด์„œ ์›ํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์€valueProcessing, computeValue ๋ฉ”์†Œ๋“œ์—๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ์ž์ฒด๋กœ ํ˜ผ๋ž€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋“ค์€ ์–ด๋–ค ์šฉ๋„์— ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ง์ ‘ ์ƒ๊ฐํ•ด์•ผํ•˜๊ณ , ์ตœ์•…์˜ ๊ฒฝ์šฐ ํ•œ ๋ช… ํ•œ ๋ช… ์ง์ ‘ ์ฐพ์•„์™€์„œ ๋ฌผ์–ด๋ณผ ์ˆ˜๋„ ์žˆ๊ฒ ์ฃ .
    • ํ•˜์ง€๋งŒ ์ฒ˜์Œ ์ž‘์„ฑํ•  ๋•Œ๋ถ€ํ„ฐ private ๋ฉ”์†Œ๋“œ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด, ์ด๋Ÿฐ ์ƒํ™ฉ์€ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ ‘๊ทผ ์ œ์–ด์˜ ์—ญํ• ์€ ์ด๋ ‡๊ฒŒ ์ค‘์š”ํ•˜๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์ด View ๋‚ด๋ถ€์ ์ธ ์—ฐ์‚ฐ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ํ”„๋กœํผํ‹ฐ๋“ค๋„ ๋˜๋„๋ก์ด๋ฉด ์ ‘๊ทผ์ œ์–ด๋ฅผ ์„ธ์‹ฌํžˆ ๊ณ ๋ คํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

    struct TestView: View {
      private let day: [String] = ["์›”", "ํ™”", "์ˆ˜", ....]
      var body: some View {
        //...
      }
    }
    

    ์ปค๋ฐ‹ํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ์€ ์ œ์™ธํ•˜๊ธฐ

    ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜จ ์ƒํ™ฉ์€, ์ง์ ‘ ๋งŒ๋“  View ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ƒ์œ„ View์— ์ง์ ‘ ๋งŒ๋“  ๋ทฐ๋ฅผ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด ๋“ฑ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹จ์ˆœ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์œผ๋ฉด, ๋‹ค์Œ ์ปค๋ฐ‹์—์„œ ํ•ด๋‹น ๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค์€ ๋ชจ๋‘ ์ œ์™ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ›„์— ์ถฉ๋Œ์˜ ์›์ธ์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๋ฆฌ๋ทฐํ•˜๋Š” ์‚ฌ๋žŒ๋„ ์˜์•„ํ•ฉ๋‹ˆ๋‹ค.

    ์ปค๋ฐ‹ ์ „ ํ•ญ์ƒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ฐฌ์ฐฌํžˆ ์‚ดํŽด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์›ํ• ํ•œ ํ˜‘์—…์„ ํ•˜๋„๋ก ํ•ฉ์‹œ๋‹ค.

    @pis3120 @SH0123 @Chaeho-Min @YoonyoungL @jsyworks

    cleanup ํ˜ธ์ข…์ด ์š”์…‰ ์กฐ์ด ์•„๋ชฌ๋“œ ์•„๋ณด ์ œ๋ฆฌ 
    opened by HoJongE 3
  • [Feature] ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋ถ„๋ฅ˜ & ๋‚ ์งœ ํ‘œ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„

    [Feature] ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋ถ„๋ฅ˜ & ๋‚ ์งœ ํ‘œ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„

    Description

    image

    ํ˜„์žฌ๋Š” ๋‹จ์ˆœํžˆ ๋ฉ”์‹œ์ง€ ๋ฐฐ์—ด์ด ์กด์žฌํ•˜๊ณ , ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ํ•œ ๋ฉ”์‹œ์ง€๋‹น ๋‹จ์ˆœํ•œ ํ•˜๋‚˜์˜ message row ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋“ฑ ๋งŽ์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์Œ“์ผ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€์˜ ๊ฐ€๋…์„ฑ์ด ์ค„์–ด๋“ ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ K์‚ฌ์˜ ๋ฉ”์‹ ์ €์ฒ˜๋Ÿผ ํ•œ ์‚ฌ๋žŒ์ด ์—ฐ์†์ ์œผ๋กœ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ํ•ฉ์ณ์ฃผ๊ฑฐ๋‚˜, ๋‚ ์งœ๊ฐ€ ๋ฐ”๋€” ๋•Œ ๋‚ ์งœ ํ‘œ์‹œ๋ฅผ ํ•ด์ฃผ๋Š” ๋“ฑ์˜ ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค! ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•ด ํŒ€์›๋“ค ๊ฐ„ ํšŒ์˜๊ฐ€ ํ•„์š”ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค!

    Etc

    ๋ฉ”์‹œ์ง€ ์ตœ์ ํ™”์— ๋Œ€ํ•ด์„  ๋ณ„ ์ƒ๊ฐ์ด ์—†์—ˆ๋Š”๋ฐ, ๋ฉ”์‹œ์ง€ pagination ๋“ฑ ์ด์ œ ์ข€ ๋” ๊ธฐ์ˆ ์ ์œผ๋กœ ์–ด๋ ค์šด ๋ถ€๋ถ„๊นŒ์ง€ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋ด…๋‹ˆ๋‹ค. ์•ฑ์ด ์„ฑ๊ณตํ• ์ง€๋„ ๋ฏธ์ง€์ˆ˜๊ณ  ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์œ ์ €๊ฐ€ ์‚ฌ์šฉํ• ์ง„ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์•ฑ์ด ์ ์  ๋Š๋ ค์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด์ œ ์ข€ ๋” deep dive ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋ด…๋‹ˆ๋‹ค.

    @Chaeho-Min @YoonyoungL @jsyworks @SH0123 @pis3120

    feat refactoring 
    opened by HoJongE 1
Releases(1.0.2)
  • 1.0.2(Aug 10, 2022)

    • ์ฑ„ํŒ…๋ฐฉ์—์„œ ํƒ์‹œํŒŸ ์ •๋ณด๊ฐ€ ์—…๋ฐ์ดํŠธ ์‹œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ด๋ฅผ ์ ์šฉํ•˜๊ฒŒ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Aug 10, 2022)

Owner
๊ฐœ๋ฐœ์ž์•„์นด๋ฐ๋ฏธ_ํฌ์Šคํ…
๊ฐœ๋ฐœ์ž์•„์นด๋ฐ๋ฏธ_ํฌ์Šคํ…
KYSelectBox Repository

KYSelectBox Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements platform :ios, '12.

Gangyeol Kim 4 Aug 2, 2021
This repository hosts the PushwooshGeozones iOS SDK as an XCFramework based Swift Package.

This repository hosts the PushwooshGeozones iOS SDK as an XCFramework based Swift Package. Use this repository's Swift Package in Xcode 12+

Pushwoosh 2 Nov 23, 2021
A repository that demonstrates the difficulty to run async tests with Xcode 13.2 beta on pre iOS-15 simulators

A repository that demonstrates the difficulty to run async tests with Xcode 13.2 beta on pre iOS-15 simulators This demonstration uses an iOS 13.7 sim

Gwendal Rouรฉ 0 Nov 1, 2021
A repository to experiment around the use and generation of tokens for the JLL/T Design System

Basic Style Dictionary This example code is bare-bones to show you what this framework can do. If you have the style-dictionary module installed globa

null 0 Dec 7, 2021
Repository to help people learning testing

Testing Training The purpose of this repository is to help people learn the basics of testing in Swift. I decided to prepare this repository because m

Riccardo 1 Dec 31, 2021
SwiftUITemplate - Template repository for SwiftUI projects

SwiftUITemplate Template repository for SwiftUI projects. Environment Name Versi

y-okudera 2 Jul 10, 2022
Template repository for quickly creating boilerplate code for a SwiftUI macOS app.

Sidebar App This is a template repository for quickly creating boilerplate code for a SwiftUI macOS app. License This app is released into the public

apparata 22 Dec 18, 2022
ADA Mini challenge 2 team 14 OXY's repository in morning session

OXY ๋ˆ„๊ตฌ๋‚˜ ์‰ฌ๋Š” ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ˆ๊นŒ!! ?? Features recording the degree of stress Playing with Donggle managing and relieving your stress by yourself comparing helpfu

๊ฐœ๋ฐœ์ž์•„์นด๋ฐ๋ฏธ_ํฌ์Šคํ… 5 Jun 18, 2022
This is a template repository for quickly creating boilerplate code for a SwiftUI macOS menu bar app.

Menu Bar App This is a template repository for quickly creating boilerplate code for a SwiftUI macOS menu bar app. License This app is released into t

apparata 5 Dec 6, 2022
source of my jailbreak repository's tweaks

AllTweakSource source of my jailbreak repository's tweaks,enjoy~(please note that most of the tweaks in the repository are just built and test so can

LoveZ 2 Oct 24, 2022
Apple Developer Academy @ POSTECH Afternoon Session Team 13 MC2

?? Project Title A brief description of what this project does and who it's for ?? Features Light/dark mode toggle Live previews Fullscreen mode Cross

๊ฐœ๋ฐœ์ž์•„์นด๋ฐ๋ฏธ_ํฌ์Šคํ… 12 Dec 13, 2022
Repository for the dgca verifier iOS app.

EU Digital COVID Certificate Verifier App - iOS About โ€ข Development โ€ข Documentation โ€ข Support โ€ข Contribute โ€ข Contributors โ€ข Licensing About This repos

null 47 May 19, 2022
Repository for the dgca wallet app for iOS.

EU Digital COVID Certificate Wallet App - iOS About โ€ข Development โ€ข Documentation โ€ข Support โ€ข Contribute โ€ข Contributors โ€ข Licensing About This reposit

null 49 May 7, 2022
Mahmoud-Abdelwahab 5 Nov 23, 2022
Repository for App IOS Reddit Top 50

iOS Reddit Top50 Repository for App IOS Reddit Top 50 App shows a list for the Top 50 posts in [Reddit] - www.reddit.com/top Requirements iOS 14.0+ Xc

Luiz Felipe Teixeira 3 Jul 5, 2021
Repository with base samples for playing HLS/DASH with CMAF video, across as many platforms as possible. Includes steps for encoding and packaging your own test content.

Video Everything Repository with minimal samples for playing HLS/DASH with CMAF video, across as many platforms as possible. Content and License All t

Alex Dodge 3 Jul 4, 2021
This repository accompanies Test-Driven Development in Swift: Compile Better Code with XCTest and TDD

Apress Source Code This repository accompanies Test-Driven Development in Swift: Compile Better Code with XCTest and TDD by Gio Lodi (Apress, 2021). D

Apress 57 Jan 1, 2023
KYSelectBox Repository

KYSelectBox Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements platform :ios, '12.

Gangyeol Kim 4 Aug 2, 2021
WordPress for iOS - Official repository

WordPress for iOS Build Instructions Please refer to the sections below for more detailed information. The instructions assume the work is performed f

WordPress Mobile 3.4k Jan 9, 2023
Dungeon Crawl: Stone Soup official repository

Dungeon Crawl Stone Soup Dungeon Crawl Stone Soup is a game of dungeon exploration, combat and magic, involving characters of diverse skills, worshipp

Cliffs Dover 30 Jul 14, 2022