Skip to content

Commit 01a30eb

Browse files
authored
[Release] v1.0.2
2 parents 6833e42 + 809fb9b commit 01a30eb

86 files changed

Lines changed: 942 additions & 663 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424

2525
### Security
2626

27+
## [1.0.2] (2025-11-18)
28+
29+
### Changed
30+
31+
- CameraView, ConnectionView를 iPad로 띄우면 레이아웃이 망가지는 문제
32+
2733
## [1.0.1] (2025-11-15)
2834

2935
### Changed
@@ -219,6 +225,7 @@
219225
- Wi-Fi Aware 연결 후, 라이브 포토 촬영 시 앱이 크래시되는 문제
220226
- 레퍼런스 삭제 후 재등록에 관한 상태 초기화 문제
221227

228+
[1.0.2]: https://github.com/DeveloperAcademy-POSTECH/2025-C6-A11-QueendomJaerim/compare/v1.0.1...v1.0.2
222229
[1.0.1]: https://github.com/DeveloperAcademy-POSTECH/2025-C6-A11-QueendomJaerim/compare/v1.0.0...v1.0.1
223230
[1.0.0]: https://github.com/DeveloperAcademy-POSTECH/2025-C6-A11-QueendomJaerim/compare/v0.3.3...v1.0.0
224231
[0.3.3]: https://github.com/DeveloperAcademy-POSTECH/2025-C6-A11-QueendomJaerim/compare/v0.3.2...v0.3.3

QueenCam/.swift-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"lineBreakBetweenDeclarationAttributes": false,
1212
"lineLength": 130,
1313
"maximumBlankLines": 1,
14-
"multiElementCollectionTrailingCommas": true,
14+
"multiElementCollectionTrailingCommas": false,
1515
"noAssignmentInExpressions": {
1616
"allowedFunctions": [
1717
"XCTAssertNoThrow"

QueenCam/.swiftlint.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ identifier_name:
5252
type_name:
5353
excluded:
5454
- ".*_Preview$"
55+
max_length:
56+
warning: 45
57+
error: 200
58+
59+
disabled_rules:
60+
- multiple_closures_with_trailing_closure
61+
- function_parameter_count
62+
- opening_brace
5563

5664
# ------------------------------------------------------------
5765
# opt-in

QueenCam/QueenCam.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@
462462
CODE_SIGN_IDENTITY = "Apple Development";
463463
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
464464
CODE_SIGN_STYLE = Manual;
465-
CURRENT_PROJECT_VERSION = 10;
465+
CURRENT_PROJECT_VERSION = 11;
466466
DEVELOPMENT_TEAM = "";
467467
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = D22ZM93S77;
468468
ENABLE_PREVIEWS = YES;
@@ -485,7 +485,7 @@
485485
"$(inherited)",
486486
"@executable_path/Frameworks",
487487
);
488-
MARKETING_VERSION = 1.0.1;
488+
MARKETING_VERSION = 1.0.2;
489489
PRODUCT_BUNDLE_IDENTIFIER = com.queendom.QueenCam;
490490
PRODUCT_NAME = "$(TARGET_NAME)";
491491
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -512,7 +512,7 @@
512512
CODE_SIGN_ENTITLEMENTS = QueenCam/QueenCam.entitlements;
513513
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
514514
CODE_SIGN_STYLE = Manual;
515-
CURRENT_PROJECT_VERSION = 10;
515+
CURRENT_PROJECT_VERSION = 11;
516516
DEVELOPMENT_TEAM = "";
517517
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = D22ZM93S77;
518518
ENABLE_PREVIEWS = YES;
@@ -535,7 +535,7 @@
535535
"$(inherited)",
536536
"@executable_path/Frameworks",
537537
);
538-
MARKETING_VERSION = 1.0.1;
538+
MARKETING_VERSION = 1.0.2;
539539
PRODUCT_BUNDLE_IDENTIFIER = com.queendom.QueenCam;
540540
PRODUCT_NAME = "$(TARGET_NAME)";
541541
PROVISIONING_PROFILE_SPECIFIER = "";

QueenCam/QueenCam/App/QueenCamAppDelegate.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
// Created by 임영택 on 11/12/25.
66
//
77

8-
import SwiftUI
9-
import FirebaseCore
108
import FirebaseAnalytics
9+
import FirebaseCore
10+
import SwiftUI
1111

1212
final class QueenCamAppDelegate: NSObject, UIApplicationDelegate {
1313
func application(
1414
_ application: UIApplication,
15-
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
15+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
1616
) -> Bool {
1717
FirebaseApp.configure()
1818

QueenCam/QueenCam/Common/Extensions/TimeInterval+CMTimeConverter.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
// Created by 임영택 on 10/21/25.
66
//
77

8-
import Foundation
98
import CoreMedia
9+
import Foundation
1010

1111
extension TimeInterval {
1212
func toCMTime() -> CMTime {
13-
let scale = CMTimeScale(NSEC_PER_SEC)
14-
let cmTime = CMTime(value: CMTimeValue(self * Double(scale)), timescale: scale)
15-
return cmTime
13+
let scale = CMTimeScale(NSEC_PER_SEC)
14+
let cmTime = CMTime(value: CMTimeValue(self * Double(scale)), timescale: scale)
15+
return cmTime
1616
}
1717
}

QueenCam/QueenCam/Common/Notification.Name+.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extension Notification.Name {
1313

1414
/// 역할 변경 알림. userInfo에 "newRole"을 키로, 새로운 역할의 Role 값을 같이 실어 보낸다
1515
static let QueenCamRoleChangedNotification = Notification.Name("QueenCam.RoleChangedNotification")
16-
16+
1717
/// 애널리틱스 이벤트 알림. 반드시 userInfo에 "event"를 키로 해서, AnalyticsEvent 타입 객체를 보내야한다.
1818
static let QueenCamAnalyticsEventNotification = Notification.Name("QueenCam.AnalyticsEventNotification")
1919
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//
2+
// DynamicScreenUtils.swift
3+
// QueenCam
4+
//
5+
// Created by 임영택 on 11/18/25.
6+
//
7+
8+
import UIKit
9+
10+
struct DynamicScreenUtils {
11+
/// 높이를 너비로 나누었을 때 이 값보다 작으면 뷰를 조정한다. iPad 11 인치 대응.
12+
private static var shortRatioThreshold: CGFloat {
13+
2.0
14+
}
15+
16+
/// 화면 비율이 짧은 비율인지 여부. 짧은 비율이면 뷰를 조정한다. iPad 11 인치 대응.
17+
static var isShortScreen: Bool {
18+
let scenes = UIApplication.shared.connectedScenes
19+
let windowScene = scenes.first as? UIWindowScene
20+
21+
let screenHeight = windowScene?.screen.bounds.height ?? 0.0
22+
let screenWidth = windowScene?.screen.bounds.width ?? 0.0
23+
24+
return screenHeight / screenWidth < shortRatioThreshold
25+
}
26+
}

QueenCam/QueenCam/Common/Utils/RandomGenerator.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import Foundation
99

1010
struct RandomGenerator {
1111
static func string(length: Int) -> String {
12-
let characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
13-
return String((0..<length).map { _ in characters.randomElement()! })
12+
let characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
13+
return String((0..<length).map { _ in characters.randomElement()! })
1414
}
1515
}

QueenCam/QueenCam/Network/ConnectionManager.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,12 @@ actor ConnectionManager: ConnectionManagerProtocol {
163163
for (connectionId, info) in connectionsInfo {
164164
info.receiverTask.cancel()
165165
info.stateUpdateTask.cancel()
166-
166+
167167
if let device = info.remoteDevice {
168168
localEventsContinuation.yield(.connection(.stopped(device, connectionId, nil)))
169169
}
170170
}
171-
171+
172172
connections.removeAll()
173173
}
174174

0 commit comments

Comments
 (0)