diff --git a/megabox.xcodeproj/project.pbxproj b/megabox.xcodeproj/project.pbxproj index 9d9edb1..bc6af82 100644 --- a/megabox.xcodeproj/project.pbxproj +++ b/megabox.xcodeproj/project.pbxproj @@ -287,6 +287,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = H2KJ74MDG3; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "Derived/InfoPlists/megabox-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -294,7 +295,7 @@ "@executable_path/Frameworks", ); OTHER_SWIFT_FLAGS = "-DDEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = dev.tuist.megabox; + PRODUCT_BUNDLE_IDENTIFIER = com.umc.sunny; PRODUCT_NAME = megabox; SDKROOT = iphoneos; SUPPORTS_MACCATALYST = NO; @@ -339,6 +340,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = H2KJ74MDG3; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "Derived/InfoPlists/megabox-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -346,7 +348,7 @@ "@executable_path/Frameworks", ); OTHER_SWIFT_FLAGS = "-DDEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = dev.tuist.megabox; + PRODUCT_BUNDLE_IDENTIFIER = com.umc.sunny; PRODUCT_NAME = megabox; SDKROOT = iphoneos; SUPPORTS_MACCATALYST = NO; diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/100.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000..b6f558f Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/100.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/102.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/102.png new file mode 100644 index 0000000..e432fff Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/102.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/1024.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000..97f4504 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/108.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/108.png new file mode 100644 index 0000000..63bee06 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/108.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/114.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 0000000..90e73ab Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/114.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/120.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000..893d817 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/128.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/128.png new file mode 100644 index 0000000..fe607ae Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/128.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/144.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000..359f6a8 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/144.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/152.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/152.png new file mode 100644 index 0000000..568a773 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/152.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/16.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/16.png new file mode 100644 index 0000000..5e034a1 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/16.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/167.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000..2785e26 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/167.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/172.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/172.png new file mode 100644 index 0000000..0a143c9 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/172.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/180.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000..5b528f9 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/196.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/196.png new file mode 100644 index 0000000..51b1b2a Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/196.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/20.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/20.png new file mode 100644 index 0000000..30980ce Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/20.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/216.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/216.png new file mode 100644 index 0000000..5e461f7 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/216.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/234.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/234.png new file mode 100644 index 0000000..e4767a5 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/234.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/256.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/256.png new file mode 100644 index 0000000..5b8b6ae Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/256.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/258.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/258.png new file mode 100644 index 0000000..d85c708 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/258.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/29.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000..6269011 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/32.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/32.png new file mode 100644 index 0000000..94c09a8 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/32.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/40.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000..4edec1a Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/48.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/48.png new file mode 100644 index 0000000..c6f1b9f Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/48.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/50.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 0000000..3bc29fd Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/50.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/512.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/512.png new file mode 100644 index 0000000..2ada6db Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/512.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/55.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/55.png new file mode 100644 index 0000000..499babe Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/55.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/57.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000..a87bbd2 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/57.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/58.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000..3ade223 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/60.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000..2128e03 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/64.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 0000000..5f8763c Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/64.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/66.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/66.png new file mode 100644 index 0000000..b4a0c04 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/66.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/72.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/72.png new file mode 100644 index 0000000..28baa80 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/72.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/76.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/76.png new file mode 100644 index 0000000..2f7dc5b Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/76.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/80.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000..aeead25 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/87.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000..22b2563 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/88.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/88.png new file mode 100644 index 0000000..9f88eac Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/88.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/92.png b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/92.png new file mode 100644 index 0000000..ad423f3 Binary files /dev/null and b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/92.png differ diff --git a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json index 9221b9b..1319290 100644 --- a/megabox/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/megabox/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,98 +1 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"51x51","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"108.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"49mm","scale":"2x","size":"54x54","expected-size":"108","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"234.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"117x117","expected-size":"234","role":"quickLook"},{"idiom":"watch","filename":"258.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"49mm","scale":"2x","size":"129x129","expected-size":"258","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file diff --git a/megabox/Sources/Order/Views/BestMenuSectionView.swift b/megabox/Sources/Order/Views/BestMenuSectionView.swift index 6b5392e..df30605 100644 --- a/megabox/Sources/Order/Views/BestMenuSectionView.swift +++ b/megabox/Sources/Order/Views/BestMenuSectionView.swift @@ -8,11 +8,11 @@ struct BestMenuSectionView: View { VStack(alignment: .leading, spacing: 8) { Text("베스트 메뉴") .font(.bold22) - .foregroundColor(.black) + .foregroundStyle(.black) Text("영화 볼때 뭐먹지 고민될 때 베스트 메뉴!") .font(.regular12) - .foregroundColor(Color("gray04")) + .foregroundStyle(Color("gray04")) } ScrollView(.horizontal, showsIndicators: false) { diff --git a/megabox/Sources/Order/Views/DirectOrderDetailView.swift b/megabox/Sources/Order/Views/DirectOrderDetailView.swift index fbc0b50..ff02082 100644 --- a/megabox/Sources/Order/Views/DirectOrderDetailView.swift +++ b/megabox/Sources/Order/Views/DirectOrderDetailView.swift @@ -37,14 +37,14 @@ struct DirectOrderDetailView: View { router.pop() } label: { Image(systemName: "chevron.left") - .foregroundColor(.black) + .foregroundStyle(.black) .font(.system(size: 18, weight: .medium)) } // 타이틀 Text("바로주문") .font(.semiBold18) - .foregroundColor(.black) + .foregroundStyle(.black) Spacer() @@ -53,7 +53,7 @@ struct DirectOrderDetailView: View { // 장바구니 액션 } label: { Image(systemName: "cart") - .foregroundColor(.black) + .foregroundStyle(.black) .font(.system(size: 20)) } } diff --git a/megabox/Sources/Order/Views/MenuItemCardModifiers.swift b/megabox/Sources/Order/Views/MenuItemCardModifiers.swift index a0ad291..8f0da34 100644 --- a/megabox/Sources/Order/Views/MenuItemCardModifiers.swift +++ b/megabox/Sources/Order/Views/MenuItemCardModifiers.swift @@ -11,7 +11,7 @@ struct BestBadgeModifier: ViewModifier { if isBest { Text("BEST") .font(.medium10) - .foregroundColor(.white) + .foregroundStyle(.white) .padding(.horizontal, 8) .padding(.vertical, 4) .background(Color.red) @@ -33,7 +33,7 @@ struct RecommendedBadgeModifier: ViewModifier { if isRecommended { Text("추천") .font(.medium10) - .foregroundColor(.white) + .foregroundStyle(.white) .padding(.horizontal, 8) .padding(.vertical, 4) .background(Color.blue) @@ -58,7 +58,7 @@ struct SoldOutModifier: ViewModifier { Text("품절") .font(.bold18) - .foregroundColor(.white) + .foregroundStyle(.white) } } } diff --git a/megabox/Sources/Order/Views/MenuItemCardView.swift b/megabox/Sources/Order/Views/MenuItemCardView.swift index 2da1018..7c9f339 100644 --- a/megabox/Sources/Order/Views/MenuItemCardView.swift +++ b/megabox/Sources/Order/Views/MenuItemCardView.swift @@ -24,24 +24,24 @@ struct MenuItemCardView: View { VStack(alignment: .leading, spacing: 4) { Text(menuItem.name) .font(.regular13) - .foregroundColor(.black) + .foregroundStyle(.black) // 가격 표시 if let originalPrice = menuItem.originalPrice { HStack(spacing: 4) { Text("\(formatPrice(menuItem.price))원") .font(.semiBold14) - .foregroundColor(.black) + .foregroundStyle(.black) Text("\(formatPrice(originalPrice))원") .font(.regular09) - .foregroundColor(Color("gray04")) + .foregroundStyle(Color("gray04")) .strikethrough() } } else { Text("\(formatPrice(menuItem.price))원") .font(.semiBold14) - .foregroundColor(.black) + .foregroundStyle(.black) } } } diff --git a/megabox/Sources/Order/Views/OrderCardLayoutModifiers.swift b/megabox/Sources/Order/Views/OrderCardLayoutModifiers.swift index d0fa377..35caf6f 100644 --- a/megabox/Sources/Order/Views/OrderCardLayoutModifiers.swift +++ b/megabox/Sources/Order/Views/OrderCardLayoutModifiers.swift @@ -43,12 +43,12 @@ struct TopLeftTextLayoutStyle: ViewModifier { VStack(alignment: .leading, spacing: 8) { Text(title) .font(titleFont) - .foregroundColor(.black) + .foregroundStyle(.black) if let description = description { Text(description) .font(.regular12) - .foregroundColor(Color("gray04")) + .foregroundStyle(Color("gray04")) .multilineTextAlignment(.leading) .frame(maxWidth: .infinity, alignment: .leading) } @@ -63,7 +63,7 @@ struct TopLeftTextLayoutStyle: ViewModifier { Spacer() Image(systemName: iconName) .font(.system(size: iconSize, weight: .light)) - .foregroundColor(.black) + .foregroundStyle(.black) } } .padding(.horizontal, 12) @@ -105,12 +105,12 @@ struct HorizontalLayoutStyle: ViewModifier { VStack(alignment: .leading, spacing: 8) { Text(title) .font(titleFont) - .foregroundColor(.black) + .foregroundStyle(.black) if let description = description { Text(description) .font(.regular13) - .foregroundColor(Color("gray04")) + .foregroundStyle(Color("gray04")) } } @@ -119,7 +119,7 @@ struct HorizontalLayoutStyle: ViewModifier { // 아이콘 Image(systemName: iconName) .font(.system(size: iconSize, weight: .light)) - .foregroundColor(.black) + .foregroundStyle(.black) } .padding(.horizontal, 12) .padding(.vertical, 15) diff --git a/megabox/Sources/Order/Views/RecommendedMenuSectionView.swift b/megabox/Sources/Order/Views/RecommendedMenuSectionView.swift index b8d9b27..dc6880a 100644 --- a/megabox/Sources/Order/Views/RecommendedMenuSectionView.swift +++ b/megabox/Sources/Order/Views/RecommendedMenuSectionView.swift @@ -8,11 +8,11 @@ struct RecommendedMenuSectionView: View { VStack(alignment: .leading, spacing: 8) { Text("추천 메뉴") .font(.bold22) - .foregroundColor(.black) + .foregroundStyle(.black) Text("영화 볼때 뭐먹지 고민될 땐 추천 메뉴!") .font(.regular12) - .foregroundColor(Color("gray04")) + .foregroundStyle(Color("gray04")) } ScrollView(.horizontal, showsIndicators: false) { diff --git a/megabox/Sources/Order/Views/TheaterChangeBarView.swift b/megabox/Sources/Order/Views/TheaterChangeBarView.swift index 01e6d22..c10e8c6 100644 --- a/megabox/Sources/Order/Views/TheaterChangeBarView.swift +++ b/megabox/Sources/Order/Views/TheaterChangeBarView.swift @@ -21,7 +21,7 @@ struct TheaterChangeBarView: View { // 왼쪽: 위치 아이콘과 극장명 HStack(spacing: 8) { Image(systemName: "mappin.circle.fill") - .foregroundColor(style == .purple ? .white : .black) + .foregroundStyle(style == .purple ? .white : .black) .font(.system(size: 16)) Text(selectedTheater) @@ -37,7 +37,7 @@ struct TheaterChangeBarView: View { } label: { Text("극장 변경") .font(.semiBold13) - .foregroundColor(style == .purple ? .white : Color("purple03")) + .foregroundStyle(style == .purple ? .white : Color("purple03")) .padding(.horizontal, 12) .padding(.vertical, 6) .overlay( diff --git a/megabox/Sources/Profile/Views/ProfileView.swift b/megabox/Sources/Profile/Views/ProfileView.swift index 2fe68fa..8b5b3ea 100644 --- a/megabox/Sources/Profile/Views/ProfileView.swift +++ b/megabox/Sources/Profile/Views/ProfileView.swift @@ -11,6 +11,13 @@ struct ProfileView: View { @AppStorage("savedName") private var savedName: String = "" @EnvironmentObject var router: NavigationRouter // 추가 + //프로필 사진 기능 + @State private var showImagePicker = false + @State private var selectedImages: [UIImage] = [] + + private var selectedImage: UIImage? { + selectedImages.first + } var body: some View { @@ -18,10 +25,14 @@ struct ProfileView: View { Color.white .ignoresSafeArea() // 안전 영역(노치, 홈바 영역)까지 채우기 VStack { - headerView - .padding(.top, 59) // 상단 여백 - - memberShipPointView + HStack { + profileImageView + VStack { + headerView + memberShipPointView + } + } + .padding(.top, 59) // 상단 여백 clubMembershipButtonView .padding(.top, 15) @@ -59,6 +70,38 @@ struct ProfileView: View { } } + private var profileImageView: some View { + ZStack { + // 업로드된 프로필 이미지 + if let selectedImage { + Image(uiImage: selectedImage) + .resizable() + .scaledToFill() + .frame(width: 55, height: 55) + .clipShape(Circle()) + } else { + // 기본 아이콘 + Image(systemName: "person.crop.circle") + .resizable() + .scaledToFit() + .frame(width: 55, height: 55) + .foregroundStyle(Color("gray04")) + } + } + .onLongPressGesture(minimumDuration: 1.0) { + showImagePicker = true + } + .sheet(isPresented: $showImagePicker) { + ImagePicker(images: $selectedImages, selectedLimit: 1) + } + .onChange(of: selectedImages) { oldValue, newValue in + // 이미지가 선택되면 첫 번째 이미지만 유지 + if newValue.count > 1 { + selectedImages = Array(newValue.prefix(1)) + } + } + } + private var headerView: some View { HStack { VStack(alignment: .leading) { diff --git a/megabox/Sources/Utils/Photo/ImagePicker.swift b/megabox/Sources/Utils/Photo/ImagePicker.swift new file mode 100644 index 0000000..5b58898 --- /dev/null +++ b/megabox/Sources/Utils/Photo/ImagePicker.swift @@ -0,0 +1,46 @@ +import SwiftUI +import PhotosUI + +struct ImagePicker: UIViewControllerRepresentable { + @Environment(\.dismiss) var dismiss + @Binding var images: [UIImage] + var selectedLimit: Int + + func makeUIViewController(context: Context) -> PHPickerViewController { + var config = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared()) + config.selectionLimit = selectedLimit + config.filter = .images + + let picker = PHPickerViewController(configuration: config) + picker.delegate = context.coordinator + return picker + } + + func updateUIViewController(_ uiViewController: PHPickerViewController, context: Context) {} + + func makeCoordinator() -> Coordinator { + Coordinator(parent: self) + } + + class Coordinator: NSObject, PHPickerViewControllerDelegate { + var parent: ImagePicker + + init(parent: ImagePicker) { + self.parent = parent + } + + func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + parent.dismiss() + + for result in results { + result.itemProvider.loadObject(ofClass: UIImage.self) { object, error in + if let image = object as? UIImage { + DispatchQueue.main.async { + self.parent.images.append(image) + } + } + } + } + } + } +}