Jua*_*gal 1 ios react-native podfile expo
我正在尝试为我的 React Native 项目设置多个变体(关于裸工作流程的博览会),我正在使用 eas 官方文档来执行此操作(https://docs.expo.dev/build-reference/variants/)
正如文档所说,我将原始的 podfile 目标代码包装在 an 中abstract_target,最终结果如下
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")
platform :ios, '12.0'
require 'json'
podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {}
abstract_target 'common' do
use_expo_modules!
config = use_native_modules!
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes'
)
target 'LoperDEVELOP' do
end
target 'LoperSTAGING' do
end
post_install do |installer|
react_native_post_install(installer)
installer.pods_project.targets.each do |target|
if (target.name&.eql?('FBReactNativeSpec'))
target.build_phases.each do |build_phase|
if (build_phase.respond_to?(:name) && build_phase.name.eql?('[CP-User] Generate Specs'))
target.build_phases.move(build_phase, 0)
end
end
end
end
end
post_integrate do |installer|
begin
expo_patch_react_imports!(installer)
rescue => e
Pod::UI.warn e
end
end
end
Run Code Online (Sandbox Code Playgroud)
一切看起来都很好,直到编译器失败并出现以下错误:
找不到构建输入文件:'/Users/expo/workingdir/build/ios/Pods/Target Support Files/Pods-LoperDEVELOP/ExpoModulesProvider.swift
检查临时生成的文件夹后,它看起来在添加后使用错误的名称创建abstract_target
现在输出文件夹是
/Users/expo/workingdir/build/ios/Pods/目标支持文件/ Pods-common-LoperDEVELOP /ExpoModulesProvider.swift
预期是
/Users/expo/workingdir/build/ios/Pods/目标支持文件/ Pods-LoperDEVELOP /ExpoModulesProvider.swift
正如您所看到的,在 LoperDevelop 文件夹中,Pods-{abstract_target}-{target}当编译器期望只是连接时,它正在连接Pods-{target}
难道我做错了什么?或者这种情况有什么解决方法吗?
编辑:为问题添加更多信息。当我pod install在 ios 文件夹中执行时,pod 的安装没有任何问题。
但之后,当我运行时,它会产生失败,因为它正在文件夹中expo run:ios查找而不是(使用创建的)ExpoModulesProvider.swiftPods-LoperDEVELOPPods-common-LoperDevelopabstract target 'common'
谢谢!
问题已经解决了。
这是 XCode 中的配置错误,如果有人遇到同样的情况,你必须转到以下部分
XCode -> 特定目标 -> 构建阶段 -> 编译源
在其中,确保所有文件都是正确的,就我而言,有一个文件的路径错误导致了整个问题
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |