Skip to content

Make plugins work in Swift projects - #15437

Merged
mravn-google merged 4 commits into
flutter:masterfrom
mravn-google:fix_swift_plugin
Mar 12, 2018
Merged

mravn-google merged 4 commits into
flutter:masterfrom
mravn-google:fix_swift_plugin

Conversation

@mravn-google

Copy link
Copy Markdown
Contributor

Enabling plugins in Swift iOS projects (#14667) and making Podfiles use symlinks (#14748) collided due to CocoaPods/CocoaPods#7463 which affects Swift projects with plugins only.

This PR adds a workaround for the CocoaPods issue to the project template's Swift Podfile.

Fixes #15099

@jakobr-google jakobr-google left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

await flutter('create', options: <String>['--org', 'io.flutter.devicelab', 'plugintest']);
await flutter('create', options: <String>[
'--org', 'io.flutter.devicelab',
'-${buildTarget[0]}', language,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Correct, but slightly magical - just so happens that the abbreviation of --android-language (-a) is also the first letter of the build target 'apk'... :)

@jakobr-google jakobr-google left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@Hixie

Hixie commented Mar 15, 2018

Copy link
Copy Markdown
Contributor

This commit seems to have made plugin_test_win significantly flakier and made plugin_test_ios fail (that test has since been disabled). Do we know why? Are we planning on fixing the broken test any time soon or is it just wrong and we should just remove it?

@mravn-google

Copy link
Copy Markdown
Contributor Author

The failing test should turn green once CocoaPods is upgraded to v 1.4.0 on the device lab machines. (cf #15446 @yjbanov)

I'll have a look at plugin_test_win. There may be two tests racing for access to the same tmp files.

@yjbanov

yjbanov commented Mar 15, 2018

Copy link
Copy Markdown
Contributor

I upgraded cocoapods to 1.4.0 just now.

@jermahs

jermahs commented Mar 21, 2018

Copy link
Copy Markdown

When will this get to the beta channel?

@jeroen-meijer

Copy link
Copy Markdown

I get a similar error when trying to build a project that includes the image_picker package:

Launching lib/main.dart on iPhone van Jeroen Meijer in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: [REMOVED]
Running Xcode clean...                                       1,0s
Starting Xcode build...
Xcode build done                                             1,4s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.1/ios/Classes/ImagePickerPlugin.m:7:
    /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.1/ios/Classes/ImagePickerPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the precompiled application for the device.

Error launching application on iPhone van Jeroen Meijer.

@mikeashelby

Copy link
Copy Markdown

Hi,

I think I'm running into this problem - but I can't be sure. I'm following this tutorial to add firestore to my flutter project. Running Swift on the iOS side - though in reality that was a 'just in case' situation, I haven't written any platform specific code.

I'm getting the following errors having followed the above tutorial, and it seems to match the errors others have had.

=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug === The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "Runner" target. === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug === diff: /Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

Any ideas? Is this fixed?

Mike

@zoechi

zoechi commented Jun 11, 2018

Copy link
Copy Markdown
Contributor

@mikeashelby I wouldn't expect anyone reading comments on closed PRs.
I'd suggest to create a new issue (you can link to this PR by adding #15437)
with full information (flutter doctor output, info required to reproduce, ...)

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Aug 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Made Podfiles use symlinks to local pods" not working

9 participants