Skip to content

Conversation

@jmagman
Copy link
Member

@jmagman jmagman commented Dec 2, 2020

Description

CocoaPods 1.9.3 has bugs related to XCFrameworks and doesn't build for add-to-app for the simulator on top of #71495. 1.9.3 works for non-add-to-app projects.

Essentially, it sets up the search paths incorrectly and includes both ios-armv7_arm64 and ios-x86_64-simulator.

-Fhello_module/.ios/Pods/../Flutter/engine/Flutter.xcframework/ios-armv7_arm64 -Fhello_module/.ios/Pods/../Flutter/engine/Flutter.xcframework/ios-x86_64-simulator

That works out on ARM builds because ios-armv7_arm64/Flutter.framework is found first, but fails on the simulator.

[build_ios_framework_module_test] [STDOUT] stdout:            ld: warning: ignoring file hello_module/.ios/Flutter/engine/Flutter.xcframework/ios-armv7_arm64/Flutter.framework/Flutter, missing required architecture x86_64
[build_ios_framework_module_test] [STDOUT] stdout:            Undefined symbols for architecture x86_64:
[build_ios_framework_module_test] [STDOUT] stdout:              "_OBJC_CLASS_$_FlutterMethodChannel", referenced from:
[build_ios_framework_module_test] [STDOUT] stdout:                  objc-class-ref in DeviceInfoPlugin.o
[build_ios_framework_module_test] [STDOUT] stdout:              "_FlutterMethodNotImplemented", referenced from:
[build_ios_framework_module_test] [STDOUT] stdout:                  -[FLTDeviceInfoPlugin handleMethodCall:result:] in DeviceInfoPlugin.o
[build_ios_framework_module_test] [STDOUT] stdout:            ld: symbol(s) not found for architecture x86_64
[build_ios_framework_module_test] [STDOUT] stdout:            clang: error: linker command failed with exit code 1 (use -v to see invocation)

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8862069565374960560/+/steps/run_build_ios_framework_module_test/0/stdout

I'll add an add-to-apps doc note that CocoaPods 1.10 is required. Hopefully #71170 can land soon, which will mark 1.10 as the recommended version.

Related Issues

Failures at #71495
flutter/website#5034

@jmagman jmagman added c: contributor-productivity Team-specific productivity, code health, technical debt. platform-ios iOS applications specifically team-infra Owned by Infrastructure team labels Dec 2, 2020
@jmagman jmagman self-assigned this Dec 2, 2020
@google-cla google-cla bot added the cla: yes label Dec 2, 2020
@jmagman jmagman merged commit f0f9a81 into flutter:master Dec 2, 2020
@jmagman jmagman deleted the cocoapods-ci branch December 2, 2020 19:05
@jmagman jmagman mentioned this pull request May 12, 2022
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: contributor-productivity Team-specific productivity, code health, technical debt. platform-ios iOS applications specifically team-infra Owned by Infrastructure team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants