Skip to content

Commit aca7659

Browse files
committed
feat: Add support to Swift Package Manager
1 parent 41f13e2 commit aca7659

File tree

18 files changed

+158
-41
lines changed

18 files changed

+158
-41
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.2.3
2+
3+
* feat: Add support to Swift Package Manager
4+
15
## 1.2.2
26

37
* fixed: Badge counter stops updating with minifyEnabled true on Android (Merge pull request #22 from waleedf112/main)

example/ios/Podfile.lock

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,28 @@
11
PODS:
2-
- app_badge_plus (1.2.0):
3-
- Flutter
42
- Flutter (1.0.0)
53
- flutter_local_notifications (0.0.1):
64
- Flutter
7-
- integration_test (0.0.1):
8-
- Flutter
95
- permission_handler_apple (9.3.0):
106
- Flutter
117

128
DEPENDENCIES:
13-
- app_badge_plus (from `.symlinks/plugins/app_badge_plus/ios`)
149
- Flutter (from `Flutter`)
1510
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
16-
- integration_test (from `.symlinks/plugins/integration_test/ios`)
1711
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
1812

1913
EXTERNAL SOURCES:
20-
app_badge_plus:
21-
:path: ".symlinks/plugins/app_badge_plus/ios"
2214
Flutter:
2315
:path: Flutter
2416
flutter_local_notifications:
2517
:path: ".symlinks/plugins/flutter_local_notifications/ios"
26-
integration_test:
27-
:path: ".symlinks/plugins/integration_test/ios"
2818
permission_handler_apple:
2919
:path: ".symlinks/plugins/permission_handler_apple/ios"
3020

3121
SPEC CHECKSUMS:
32-
app_badge_plus: 3227d759d2a54e4fc28ec806596ec3b740c3c17a
3322
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
3423
flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9
35-
integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573
3624
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
3725

3826
PODFILE CHECKSUM: 68e36033c66a5953885e6d4e6096283b3300ffe8
3927

40-
COCOAPODS: 1.15.2
28+
COCOAPODS: 1.16.2

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1313
6154A4AD39B5005DCB7AFC87 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77F0FB65422C6294AA0EC282 /* Pods_RunnerTests.framework */; };
1414
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
15+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
1516
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
1617
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
1718
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
1819
F68C5E325F7CC1B044BEA8E7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BDCC738C9EA158E59406FA42 /* Pods_Runner.framework */; };
19-
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
2020
/* End PBXBuildFile section */
2121

2222
/* Begin PBXContainerItemProxy section */
@@ -189,9 +189,6 @@
189189
productType = "com.apple.product-type.bundle.unit-test";
190190
};
191191
97C146ED1CF9000F007C117D /* Runner */ = {
192-
packageProductDependencies = (
193-
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
194-
);
195192
isa = PBXNativeTarget;
196193
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
197194
buildPhases = (
@@ -210,6 +207,9 @@
210207
dependencies = (
211208
);
212209
name = Runner;
210+
packageProductDependencies = (
211+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
212+
);
213213
productName = Runner;
214214
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
215215
productType = "com.apple.product-type.application";
@@ -218,9 +218,6 @@
218218

219219
/* Begin PBXProject section */
220220
97C146E61CF9000F007C117D /* Project object */ = {
221-
packageReferences = (
222-
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
223-
);
224221
isa = PBXProject;
225222
attributes = {
226223
BuildIndependentTargetsInParallel = YES;
@@ -246,6 +243,9 @@
246243
Base,
247244
);
248245
mainGroup = 97C146E51CF9000F007C117D;
246+
packageReferences = (
247+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
248+
);
249249
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
250250
projectDirPath = "";
251251
projectRoot = "";
@@ -496,7 +496,7 @@
496496
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
497497
CLANG_ENABLE_MODULES = YES;
498498
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
499-
DEVELOPMENT_TEAM = NQ4ABWD2V2;
499+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
500500
ENABLE_BITCODE = NO;
501501
INFOPLIST_FILE = Runner/Info.plist;
502502
LD_RUNPATH_SEARCH_PATHS = (
@@ -518,6 +518,7 @@
518518
BUNDLE_LOADER = "$(TEST_HOST)";
519519
CODE_SIGN_STYLE = Automatic;
520520
CURRENT_PROJECT_VERSION = 1;
521+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
521522
GENERATE_INFOPLIST_FILE = YES;
522523
MARKETING_VERSION = 1.0;
523524
PRODUCT_BUNDLE_IDENTIFIER = me.liolin.appBadgePlusExample.RunnerTests;
@@ -536,6 +537,7 @@
536537
BUNDLE_LOADER = "$(TEST_HOST)";
537538
CODE_SIGN_STYLE = Automatic;
538539
CURRENT_PROJECT_VERSION = 1;
540+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
539541
GENERATE_INFOPLIST_FILE = YES;
540542
MARKETING_VERSION = 1.0;
541543
PRODUCT_BUNDLE_IDENTIFIER = me.liolin.appBadgePlusExample.RunnerTests;
@@ -552,6 +554,7 @@
552554
BUNDLE_LOADER = "$(TEST_HOST)";
553555
CODE_SIGN_STYLE = Automatic;
554556
CURRENT_PROJECT_VERSION = 1;
557+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
555558
GENERATE_INFOPLIST_FILE = YES;
556559
MARKETING_VERSION = 1.0;
557560
PRODUCT_BUNDLE_IDENTIFIER = me.liolin.appBadgePlusExample.RunnerTests;
@@ -679,7 +682,7 @@
679682
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
680683
CLANG_ENABLE_MODULES = YES;
681684
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
682-
DEVELOPMENT_TEAM = NQ4ABWD2V2;
685+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
683686
ENABLE_BITCODE = NO;
684687
INFOPLIST_FILE = Runner/Info.plist;
685688
LD_RUNPATH_SEARCH_PATHS = (
@@ -702,7 +705,7 @@
702705
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
703706
CLANG_ENABLE_MODULES = YES;
704707
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
705-
DEVELOPMENT_TEAM = NQ4ABWD2V2;
708+
DEVELOPMENT_TEAM = 2RA5LSHPUJ;
706709
ENABLE_BITCODE = NO;
707710
INFOPLIST_FILE = Runner/Info.plist;
708711
LD_RUNPATH_SEARCH_PATHS = (
@@ -751,12 +754,14 @@
751754
defaultConfigurationName = Release;
752755
};
753756
/* End XCConfigurationList section */
757+
754758
/* Begin XCLocalSwiftPackageReference section */
755759
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = {
756760
isa = XCLocalSwiftPackageReference;
757761
relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
758762
};
759763
/* End XCLocalSwiftPackageReference section */
764+
760765
/* Begin XCSwiftPackageProductDependency section */
761766
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
762767
isa = XCSwiftPackageProductDependency;

example/macos/Podfile.lock

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
11
PODS:
2-
- app_badge_plus (1.2.0):
3-
- FlutterMacOS
42
- flutter_local_notifications (0.0.1):
53
- FlutterMacOS
64
- FlutterMacOS (1.0.0)
75

86
DEPENDENCIES:
9-
- app_badge_plus (from `Flutter/ephemeral/.symlinks/plugins/app_badge_plus/macos`)
107
- flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
118
- FlutterMacOS (from `Flutter/ephemeral`)
129

1310
EXTERNAL SOURCES:
14-
app_badge_plus:
15-
:path: Flutter/ephemeral/.symlinks/plugins/app_badge_plus/macos
1611
flutter_local_notifications:
1712
:path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos
1813
FlutterMacOS:
1914
:path: Flutter/ephemeral
2015

2116
SPEC CHECKSUMS:
22-
app_badge_plus: 6383952fd4ffa3fa5675a382e2583a6cb538cd5b
2317
flutter_local_notifications: 7062189aabf7f50938a7b8b6614ffa97656eb0bf
2418
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
2519

2620
PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
2721

28-
COCOAPODS: 1.15.2
22+
COCOAPODS: 1.16.2

example/macos/Runner.xcodeproj/project.pbxproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
3030
755EBFB295BA414190FCD4B5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB6365006ED8912F694D4CC2 /* Pods_RunnerTests.framework */; };
3131
8C8053C58A75F181362A0A79 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B6625D41737E7D3067D8965 /* Pods_Runner.framework */; };
32+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
3233
/* End PBXBuildFile section */
3334

3435
/* Begin PBXContainerItemProxy section */
@@ -103,6 +104,7 @@
103104
isa = PBXFrameworksBuildPhase;
104105
buildActionMask = 2147483647;
105106
files = (
107+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
106108
8C8053C58A75F181362A0A79 /* Pods_Runner.framework in Frameworks */,
107109
);
108110
runOnlyForDeploymentPostprocessing = 0;
@@ -231,6 +233,9 @@
231233
productType = "com.apple.product-type.bundle.unit-test";
232234
};
233235
33CC10EC2044A3C60003C045 /* Runner */ = {
236+
packageProductDependencies = (
237+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
238+
);
234239
isa = PBXNativeTarget;
235240
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
236241
buildPhases = (
@@ -256,6 +261,9 @@
256261

257262
/* Begin PBXProject section */
258263
33CC10E52044A3C60003C045 /* Project object */ = {
264+
packageReferences = (
265+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
266+
);
259267
isa = PBXProject;
260268
attributes = {
261269
BuildIndependentTargetsInParallel = YES;
@@ -796,6 +804,18 @@
796804
defaultConfigurationName = Release;
797805
};
798806
/* End XCConfigurationList section */
807+
/* Begin XCLocalSwiftPackageReference section */
808+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = {
809+
isa = XCLocalSwiftPackageReference;
810+
relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
811+
};
812+
/* End XCLocalSwiftPackageReference section */
813+
/* Begin XCSwiftPackageProductDependency section */
814+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
815+
isa = XCSwiftPackageProductDependency;
816+
productName = FlutterGeneratedPluginSwiftPackage;
817+
};
818+
/* End XCSwiftPackageProductDependency section */
799819
};
800820
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
801821
}

example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES">
8+
<PreActions>
9+
<ExecutionAction
10+
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
11+
<ActionContent
12+
title = "Run Prepare Flutter Framework Script"
13+
scriptText = "&quot;$FLUTTER_ROOT&quot;/packages/flutter_tools/bin/macos_assemble.sh prepare&#10;">
14+
<EnvironmentBuildable>
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
18+
BuildableName = "app_badge_plus_example.app"
19+
BlueprintName = "Runner"
20+
ReferencedContainer = "container:Runner.xcodeproj">
21+
</BuildableReference>
22+
</EnvironmentBuildable>
23+
</ActionContent>
24+
</ExecutionAction>
25+
</PreActions>
826
<BuildActionEntries>
927
<BuildActionEntry
1028
buildForTesting = "YES"

ios/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ GeneratedPluginRegistrant.m
2424
!default.mode2v3
2525
!default.perspectivev3
2626

27+
.index-build/
28+
.swiftpm/
2729
xcuserdata
2830

2931
*.moved-aside

ios/Assets/.gitkeep

Whitespace-only changes.

ios/app_badge_plus.podspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ Pod::Spec.new do |s|
88
s.version = library_version
99
s.summary = 'App badge plugin for Flutter.'
1010
s.description = <<-DESC
11-
App badge plugin for Flutter.
11+
App badge plugin for Flutter, use this plugin to set the app badge number on iOS.
1212
DESC
1313
s.homepage = 'https://github.com/windows7lake/app_badge_plus'
14-
s.license = { :file => '../LICENSE' }
14+
s.license = { :type => 'MIT', :file => '../LICENSE' }
1515
s.author = { 'Lio lin' => 'windows7lake@gmail.com' }
1616

17-
s.source = { :path => '.' }
18-
s.source_files = 'Classes/**/*'
17+
s.source = { :http => 'https://github.com/windows7lake/app_badge_plus/tree/main/ios' }
18+
s.source_files = 'app_badge_plus/Source/app_badge_plus/**/*'
1919

20-
s.resource_bundles = {'app_badge_plus_privacy' => ['Resources/PrivacyInfo.xcprivacy']}
20+
s.resource_bundles = {'app_badge_plus_privacy' => ['app_badge_plus/Source/app_badge_plus/Resources/PrivacyInfo.xcprivacy']}
2121

2222
s.dependency 'Flutter'
2323

ios/app_badge_plus/Package.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// swift-tools-version: 5.9
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "app_badge_plus",
7+
platforms: [
8+
.iOS("12.0"),
9+
],
10+
products: [
11+
.library(name: "app-badge-plus", targets: ["app_badge_plus"])
12+
],
13+
dependencies: [],
14+
targets: [
15+
.target(
16+
name: "app_badge_plus",
17+
dependencies: [],
18+
resources: [
19+
.process("Resources")
20+
]
21+
)
22+
]
23+
)

0 commit comments

Comments
 (0)