From 7bb2788f86e86699622c2086cc3b1c4b81710dc1 Mon Sep 17 00:00:00 2001 From: Seungho Hong Date: Tue, 26 May 2026 14:13:57 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20iOS=20SPM=20Package.swift=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=EB=A5=BC=20Flutter=20=ED=91=9C=EC=A4=80=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ios/Package.swift → ios/workmanager_apple/Package.swift 중첩 구조로 이동하여 Flutter tooling이 SPM을 올바르게 인식하도록 수정 --- workmanager_apple/ios/.gitignore | 1 + workmanager_apple/ios/Assets/.gitkeep | 0 workmanager_apple/ios/workmanager_apple.podspec | 4 ++-- .../ios/{ => workmanager_apple}/Package.swift | 7 ++++--- .../workmanager_apple/BackgroundTaskOperation.swift | 0 .../Sources/workmanager_apple/BackgroundWorker.swift | 0 .../Sources/workmanager_apple/Extensions.swift | 0 .../Sources/workmanager_apple/LoggingDebugHandler.swift | 0 .../workmanager_apple/NotificationDebugHandler.swift | 0 .../workmanager_apple}/Resources/PrivacyInfo.xcprivacy | 0 .../Sources/workmanager_apple/SimpleLogger.swift | 0 .../Sources/workmanager_apple/ThumbnailGenerator.swift | 0 .../Sources/workmanager_apple/UserDefaultsHelper.swift | 0 .../Sources/workmanager_apple/WMPError.swift | 0 .../workmanager_apple/WorkmanagerDebugHandler.swift | 0 .../Sources/workmanager_apple/WorkmanagerPlugin.swift | 0 .../workmanager_apple/pigeon/WorkmanagerApi.g.swift | 0 17 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 workmanager_apple/ios/Assets/.gitkeep rename workmanager_apple/ios/{ => workmanager_apple}/Package.swift (78%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/BackgroundTaskOperation.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/BackgroundWorker.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/Extensions.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/LoggingDebugHandler.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/NotificationDebugHandler.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple/Sources/workmanager_apple}/Resources/PrivacyInfo.xcprivacy (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/SimpleLogger.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/ThumbnailGenerator.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/UserDefaultsHelper.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/WMPError.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/WorkmanagerDebugHandler.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/WorkmanagerPlugin.swift (100%) rename workmanager_apple/ios/{ => workmanager_apple}/Sources/workmanager_apple/pigeon/WorkmanagerApi.g.swift (100%) diff --git a/workmanager_apple/ios/.gitignore b/workmanager_apple/ios/.gitignore index 710ec6cf..fe392abc 100644 --- a/workmanager_apple/ios/.gitignore +++ b/workmanager_apple/ios/.gitignore @@ -13,6 +13,7 @@ GeneratedPluginRegistrant.h GeneratedPluginRegistrant.m .generated/ +.build/ *.pbxuser *.mode1v3 diff --git a/workmanager_apple/ios/Assets/.gitkeep b/workmanager_apple/ios/Assets/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/workmanager_apple/ios/workmanager_apple.podspec b/workmanager_apple/ios/workmanager_apple.podspec index f71ee7cc..46b4dd53 100644 --- a/workmanager_apple/ios/workmanager_apple.podspec +++ b/workmanager_apple/ios/workmanager_apple.podspec @@ -12,12 +12,12 @@ Flutter Android Workmanager s.license = { :file => '../LICENSE' } s.author = { 'Your Company' => 'email@example.com' } s.source = { :path => '.' } - s.source_files = 'Sources/workmanager_apple/**/*' + s.source_files = 'workmanager_apple/Sources/workmanager_apple/**/*.swift' s.dependency 'Flutter' s.ios.deployment_target = '14.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } s.swift_version = '5.0' - s.resource_bundles = { 'flutter_workmanager_privacy' => ['Resources/PrivacyInfo.xcprivacy'] } + s.resource_bundles = { 'flutter_workmanager_privacy' => ['workmanager_apple/Sources/workmanager_apple/Resources/PrivacyInfo.xcprivacy'] } end diff --git a/workmanager_apple/ios/Package.swift b/workmanager_apple/ios/workmanager_apple/Package.swift similarity index 78% rename from workmanager_apple/ios/Package.swift rename to workmanager_apple/ios/workmanager_apple/Package.swift index 66351ca9..ed7c09a5 100644 --- a/workmanager_apple/ios/Package.swift +++ b/workmanager_apple/ios/workmanager_apple/Package.swift @@ -10,16 +10,17 @@ let package = Package( ], products: [ .library( - name: "workmanager_apple", + name: "workmanager-apple", targets: ["workmanager_apple"] ) ], + dependencies: [], targets: [ .target( name: "workmanager_apple", - path: "Sources/workmanager_apple", + dependencies: [], resources: [ - .process("../Resources") + .process("Resources") ] ) ] diff --git a/workmanager_apple/ios/Sources/workmanager_apple/BackgroundTaskOperation.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundTaskOperation.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/BackgroundTaskOperation.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundTaskOperation.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/BackgroundWorker.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/BackgroundWorker.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/Extensions.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/Extensions.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/LoggingDebugHandler.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/LoggingDebugHandler.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/LoggingDebugHandler.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/LoggingDebugHandler.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/NotificationDebugHandler.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/NotificationDebugHandler.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/NotificationDebugHandler.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/NotificationDebugHandler.swift diff --git a/workmanager_apple/ios/Resources/PrivacyInfo.xcprivacy b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Resources/PrivacyInfo.xcprivacy similarity index 100% rename from workmanager_apple/ios/Resources/PrivacyInfo.xcprivacy rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Resources/PrivacyInfo.xcprivacy diff --git a/workmanager_apple/ios/Sources/workmanager_apple/SimpleLogger.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/SimpleLogger.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/SimpleLogger.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/SimpleLogger.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/ThumbnailGenerator.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/ThumbnailGenerator.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/ThumbnailGenerator.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/ThumbnailGenerator.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/UserDefaultsHelper.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/UserDefaultsHelper.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/UserDefaultsHelper.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/UserDefaultsHelper.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/WMPError.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WMPError.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/WMPError.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WMPError.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/WorkmanagerDebugHandler.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WorkmanagerDebugHandler.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/WorkmanagerDebugHandler.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WorkmanagerDebugHandler.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/WorkmanagerPlugin.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WorkmanagerPlugin.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/WorkmanagerPlugin.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/WorkmanagerPlugin.swift diff --git a/workmanager_apple/ios/Sources/workmanager_apple/pigeon/WorkmanagerApi.g.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/pigeon/WorkmanagerApi.g.swift similarity index 100% rename from workmanager_apple/ios/Sources/workmanager_apple/pigeon/WorkmanagerApi.g.swift rename to workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/pigeon/WorkmanagerApi.g.swift From cfbf11c2f88845ada24c8a3f4b995da0d9766016 Mon Sep 17 00:00:00 2001 From: Seungho Hong Date: Tue, 26 May 2026 14:56:40 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20SPM=20=EB=B9=8C=EB=93=9C=20=EC=8B=9C?= =?UTF-8?q?=20UIKit=20import=20=EB=88=84=EB=9D=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CocoaPods에서는 모듈 전체가 하나로 컴파일되어 다른 파일의 import가 공유되지만, SPM에서는 파일 단위로 import가 필요함 --- .../Sources/workmanager_apple/BackgroundWorker.swift | 1 + .../Sources/workmanager_apple/Extensions.swift | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift index 9f85ff2e..df8fd7fc 100644 --- a/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift +++ b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/BackgroundWorker.swift @@ -6,6 +6,7 @@ // import Foundation +import UIKit #if os(iOS) import Flutter diff --git a/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift index ba53f9ef..03220435 100644 --- a/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift +++ b/workmanager_apple/ios/workmanager_apple/Sources/workmanager_apple/Extensions.swift @@ -5,7 +5,7 @@ // Created by Kymer Gryson on 13/08/2019. // -import Foundation +import UIKit extension UIBackgroundFetchResult: CustomDebugStringConvertible { public var debugDescription: String {