Skip to content

Commit 6c4482a

Browse files
authored
[image_picker_ios] Adds Swift Package Manager compatibility (flutter#6696)
Relands flutter#6617. Was reverted in hopes of fixing flutter/flutter#148003, but ended up being fixed by flutter#6694.
1 parent 4799c49 commit 6c4482a

27 files changed

+110
-10
lines changed

packages/image_picker/image_picker_ios/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.8.11
2+
3+
* Adds Swift Package Manager compatibility.
4+
15
## 0.8.10+1
26

37
* Fixes a possible crash when calling a picker method UIGraphicsImageRenderer if imageToScale is nil.

packages/image_picker/image_picker_ios/example/ios/Podfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ target 'Runner' do
3333
target 'RunnerTests' do
3434
platform :ios, '12.0'
3535
inherit! :search_paths
36-
# Pods for testing
37-
pod 'OCMock', '~> 3.8.1'
3836
end
3937
end
4038

packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
7865C5FD294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; };
3333
7865C5FF294252A60010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FE294252A60010E17F /* proRawImage.dng */; };
3434
7865C600294252A60010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FE294252A60010E17F /* proRawImage.dng */; };
35+
78CF8D862BC5E7070051231B /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 78CF8D852BC5E7070051231B /* OCMock */; };
3536
86430DF9272D71E9002D9D6C /* gifImage.gif in Resources */ = {isa = PBXBuildFile; fileRef = 9FC8F0E8229FA49E00C8D58F /* gifImage.gif */; };
3637
86E9A893272754860017E6E0 /* PickerSaveImageToPathOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 86E9A892272754860017E6E0 /* PickerSaveImageToPathOperationTests.m */; };
3738
86E9A894272754A30017E6E0 /* webpImage.webp in Resources */ = {isa = PBXBuildFile; fileRef = 86E9A88F272747B90017E6E0 /* webpImage.webp */; };
@@ -129,6 +130,7 @@
129130
isa = PBXFrameworksBuildPhase;
130131
buildActionMask = 2147483647;
131132
files = (
133+
78CF8D862BC5E7070051231B /* OCMock in Frameworks */,
132134
3A72BAD3FAE6E0FA9D80826B /* libPods-RunnerTests.a in Frameworks */,
133135
);
134136
runOnlyForDeploymentPostprocessing = 0;
@@ -291,6 +293,9 @@
291293
334733F82668136400DCC49E /* PBXTargetDependency */,
292294
);
293295
name = RunnerTests;
296+
packageProductDependencies = (
297+
78CF8D852BC5E7070051231B /* OCMock */,
298+
);
294299
productName = RunnerTests;
295300
productReference = 334733F22668136400DCC49E /* RunnerTests.xctest */;
296301
productType = "com.apple.product-type.bundle.unit-test";
@@ -342,7 +347,7 @@
342347
isa = PBXProject;
343348
attributes = {
344349
DefaultBuildSystemTypeForWorkspace = Original;
345-
LastUpgradeCheck = 1430;
350+
LastUpgradeCheck = 1510;
346351
ORGANIZATIONNAME = "The Flutter Authors";
347352
TargetAttributes = {
348353
334733F12668136400DCC49E = {
@@ -374,6 +379,9 @@
374379
Base,
375380
);
376381
mainGroup = 97C146E51CF9000F007C117D;
382+
packageReferences = (
383+
78CF8D842BC5E7070051231B /* XCRemoteSwiftPackageReference "ocmock" */,
384+
);
377385
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
378386
projectDirPath = "";
379387
projectRoot = "";
@@ -879,6 +887,25 @@
879887
defaultConfigurationName = Release;
880888
};
881889
/* End XCConfigurationList section */
890+
891+
/* Begin XCRemoteSwiftPackageReference section */
892+
78CF8D842BC5E7070051231B /* XCRemoteSwiftPackageReference "ocmock" */ = {
893+
isa = XCRemoteSwiftPackageReference;
894+
repositoryURL = "https://github.com/erikdoe/ocmock";
895+
requirement = {
896+
kind = revision;
897+
revision = ef21a2ece3ee092f8ed175417718bdd9b8eb7c9a;
898+
};
899+
};
900+
/* End XCRemoteSwiftPackageReference section */
901+
902+
/* Begin XCSwiftPackageProductDependency section */
903+
78CF8D852BC5E7070051231B /* OCMock */ = {
904+
isa = XCSwiftPackageProductDependency;
905+
package = 78CF8D842BC5E7070051231B /* XCRemoteSwiftPackageReference "ocmock" */;
906+
productName = OCMock;
907+
};
908+
/* End XCSwiftPackageProductDependency section */
882909
};
883910
rootObject = 97C146E61CF9000F007C117D /* Project object */;
884911
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"pins" : [
3+
{
4+
"identity" : "ocmock",
5+
"kind" : "remoteSourceControl",
6+
"location" : "https://github.com/erikdoe/ocmock",
7+
"state" : {
8+
"revision" : "ef21a2ece3ee092f8ed175417718bdd9b8eb7c9a"
9+
}
10+
}
11+
],
12+
"version" : 2
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"pins" : [
3+
{
4+
"identity" : "ocmock",
5+
"kind" : "remoteSourceControl",
6+
"location" : "https://github.com/erikdoe/ocmock",
7+
"state" : {
8+
"revision" : "ef21a2ece3ee092f8ed175417718bdd9b8eb7c9a"
9+
}
10+
}
11+
],
12+
"version" : 2
13+
}

packages/image_picker/image_picker_ios/ios/Assets/.gitkeep

Whitespace-only changes.

packages/image_picker/image_picker_ios/ios/image_picker_ios.podspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ Downloaded by pub (not CocoaPods).
1414
s.author = { 'Flutter Dev Team' => '[email protected]' }
1515
s.source = { :http => 'https://github.com/flutter/packages/tree/main/packages/image_picker_ios' }
1616
s.documentation_url = 'https://pub.dev/packages/image_picker_ios'
17-
s.source_files = 'Classes/**/*.{h,m}'
18-
s.public_header_files = 'Classes/**/*.h'
19-
s.module_map = 'Classes/ImagePickerPlugin.modulemap'
17+
s.source_files = 'image_picker_ios/Sources/image_picker_ios/**/*.{h,m}'
18+
s.public_header_files = 'image_picker_ios/Sources/image_picker_ios/**/*.h'
19+
s.module_map = 'image_picker_ios/Sources/image_picker_ios/include/ImagePickerPlugin.modulemap'
2020
s.dependency 'Flutter'
2121
s.platform = :ios, '12.0'
2222
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
23-
s.resource_bundles = {'image_picker_ios_privacy' => ['Resources/PrivacyInfo.xcprivacy']}
23+
s.resource_bundles = {'image_picker_ios_privacy' => ['image_picker_ios/Sources/image_picker_ios/Resources/PrivacyInfo.xcprivacy']}
2424
end
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// swift-tools-version: 5.9
2+
3+
// Copyright 2013 The Flutter Authors. All rights reserved.
4+
// Use of this source code is governed by a BSD-style license that can be
5+
// found in the LICENSE file.
6+
7+
import PackageDescription
8+
9+
let package = Package(
10+
name: "image_picker_ios",
11+
platforms: [
12+
.iOS("12.0")
13+
],
14+
products: [
15+
.library(name: "image-picker-ios", targets: ["image_picker_ios"])
16+
],
17+
dependencies: [],
18+
targets: [
19+
.target(
20+
name: "image_picker_ios",
21+
dependencies: [],
22+
exclude: ["include/ImagePickerPlugin.modulemap"],
23+
resources: [
24+
.process("Resources")
25+
],
26+
cSettings: [
27+
.headerSearchPath("include/image_picker_ios")
28+
]
29+
)
30+
]
31+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module image_picker_ios {
2+
umbrella header "image_picker_ios-umbrella.h"
3+
4+
export *
5+
module * { export * }
6+
7+
explicit module Test {
8+
header "../FLTImagePickerPlugin_Test.h"
9+
header "../FLTImagePickerImageUtil.h"
10+
header "../FLTImagePickerMetaDataUtil.h"
11+
header "../FLTImagePickerPhotoAssetUtil.h"
12+
header "../FLTPHPickerSaveImageToPathOperation.h"
13+
}
14+
}

packages/image_picker/image_picker_ios/pigeons/messages.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import 'package:pigeon/pigeon.dart';
77
@ConfigurePigeon(PigeonOptions(
88
dartOut: 'lib/src/messages.g.dart',
99
dartTestOut: 'test/test_api.g.dart',
10-
objcHeaderOut: 'ios/Classes/messages.g.h',
11-
objcSourceOut: 'ios/Classes/messages.g.m',
10+
objcHeaderOut: 'ios/image_picker_ios/Sources/image_picker_ios/messages.g.h',
11+
objcSourceOut: 'ios/image_picker_ios/Sources/image_picker_ios/messages.g.m',
1212
objcOptions: ObjcOptions(
1313
prefix: 'FLT',
1414
),

packages/image_picker/image_picker_ios/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: image_picker_ios
22
description: iOS implementation of the image_picker plugin.
33
repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_ios
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
5-
version: 0.8.10+1
5+
version: 0.8.11
66

77
environment:
88
sdk: ^3.3.0

0 commit comments

Comments
 (0)