Skip to content

[fix/#356] iOS26 버전에서 Drag&Drop 안 되던 버그 수정 (QA 반영)#360

Merged
SeungWon1125 merged 4 commits intodevelopfrom
fix/#356-drag-drop-fix
Dec 14, 2025
Merged

[fix/#356] iOS26 버전에서 Drag&Drop 안 되던 버그 수정 (QA 반영)#360
SeungWon1125 merged 4 commits intodevelopfrom
fix/#356-drag-drop-fix

Conversation

@SeungWon1125
Copy link
Copy Markdown
Collaborator

📄 작업 내용

  • iOS 26에서 드래그 앤 드롭이 막혔던 버그 수정했어요!
  • 이거 수정함에 따라 스크롤 막혀있던 것도 정상 작동합니다
  • 그리고 자잘한 버그들도 수정했어요 (코스에 장소 2개 남았을 때 장소 삭제 실패처리 & 햅틱 중복 버그 등등..)
구현 내용 iPhone 17 Pro (iOS26)
실기기에서도 해봤어요

💻 주요 코드 설명

문제 상황

드래그 앤 드롭 트러블 슈팅

간단히 말하자면, 기존에 ScrollView + .simultaneousGesture 의 작동은 Apple이 의도한 작동방식이 아니었다고 합니다. 그러니까 지금까지 잘 작동하던 건 버그였대요. 이번에 고쳐져서 나왔다고 합니다. 그래서 나랑 비슷한 문제를 겼는 사람들이 좀 보였음

Simultaneous DragGesture inside Scrollview broken in iOS 26?
스택오버플로 참고

해결 방법

UIViewRepresentable을 사용해서 .simultaneousGesture가 아닌 .overlay를 통해 뷰를 겹쳐서 그 뷰에서는 사용자가 꾹 누른 후 움직이지 않고 손을 떼는 제스처만 받도록 수정했습니다. 자세한 방법은 위 노션 트러블 슈팅을 참고해 주소

햅틱매니저 추가

import SwiftUI

final class HapticManager {
    
    static let shared = HapticManager()
    private init() {}
    
    /// 지정한 타입의 알림 햅틱을 발생시킵니다.
    /// - Parameter type: `.success`, `.warning`, `.error`
    func notification(type: UINotificationFeedbackGenerator.FeedbackType) {
        let generator = UINotificationFeedbackGenerator()
        generator.notificationOccurred(type)
    }
    
    /// 지정한 타입의 임팩트 햅틱을 발생시킵니다.
    /// - Parameter style: `.light`, `.medium`, `.heavy`, `.soft`, `.rigid`
    func impact(style: UIImpactFeedbackGenerator.FeedbackStyle) {
        let generator = UIImpactFeedbackGenerator(style: style)
        generator.impactOccurred()
    }
}

저희 서비스 코스 수정에서 장소를 꾹 누르거나, deleteZone에 들어갔다 나왔다 할 때 햅틱 기능이 있는데요, 너무 코드가 중복되기도 하고, 나중을 위해 햅틱을 골라 쓸 수 있게 해놨습니다.

HapticManager.shared.impact(style: .medium)
HapticManager.shared.notification(type: .error)

요런 식으로 사용하면 됨!

🔗 연결된 이슈

📚 참고자료

https://stackoverflow.com/questions/79766009/simultaneous-draggesture-inside-scrollview-broken-in-ios-26

👀 기타 더 이야기해볼 점

  • 아 나 다음 주 시험인데, 이게 더 재밌다!

@SeungWon1125 SeungWon1125 requested a review from a team December 12, 2025 06:55
@SeungWon1125 SeungWon1125 self-assigned this Dec 12, 2025
@SeungWon1125 SeungWon1125 added 🦒 seungwon 승원이가함! ✂️ fix 버그나 오류 해결 시 사용 labels Dec 12, 2025
@SeungWon1125 SeungWon1125 linked an issue Dec 12, 2025 that may be closed by this pull request
1 task
Copy link
Copy Markdown
Contributor

@seojoozero seojoozero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와우. 노션도 다 읽었는데 음청 . . 복잡하네용 어렵네용 . . 고생했삼 ~!

@SeungWon1125 SeungWon1125 merged commit 7467bcc into develop Dec 14, 2025
@SeungWon1125 SeungWon1125 deleted the fix/#356-drag-drop-fix branch December 14, 2025 12:37
@SeungWon1125 SeungWon1125 changed the title [fix/#356] iOS26 버전에서 Drag&Drop 안 되던 버그 수정 [fix/#356] iOS26 버전에서 Drag&Drop 안 되던 버그 수정 (QA 반영) Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✂️ fix 버그나 오류 해결 시 사용 🦒 seungwon 승원이가함!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] DragDrop 작동하지 않는 버그 수정

2 participants