首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用相同的CocoaPod规范安装EarlGrey 2.0应用程序的不同结果

用相同的CocoaPod规范安装EarlGrey 2.0应用程序的不同结果
EN

Stack Overflow用户
提问于 2019-10-17 20:44:49
回答 1查看 223关注 0票数 0

我正在试图弄清楚为什么在对应该相同的podspec文件运行pod安装之后,我会得到两个不同的结果。该组件名为EarlGreyApp,今年发布了2.0.0版本。2.0.0发行版的podspec位于EarlGrey repo:https://github.com/google/EarlGrey/blob/earlgrey2/EarlGreyApp.podspec的EarlGrey分支中。

当我在podfile中定义了这一点时(我使用Demo/EarlGrey示例来复制):

代码语言:javascript
复制
 target 'EarlGreyExampleSwift' do
  pod 'EarlGreyApp', '2.0.0'
 end

它正确地修改了EarlGreyExprese.xcodeproj/project.pbxproj的这一部分,以引用EarlGrepApp的AppFramework.framework组件:

代码语言:javascript
复制
/* Begin PBXShellScriptBuildPhase section */
                4D216774E658C2E4470F936E /* [CP] Embed Pods Frameworks */ = {
                        isa = PBXShellScriptBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
                        );
                        inputPaths = (
                                "${PODS_ROOT}/Target Support Files/Pods-EarlGreyExampleSwift/Pods-EarlGreyExampleSwift-frameworks.sh",
                                "${PODS_ROOT}/EarlGreyApp/AppFramework.framework",
                        );
                        name = "[CP] Embed Pods Frameworks";
                        outputPaths = (
                                "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppFramework.framework",
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-EarlGreyExampleSwift/Pods-EarlGreyExampleSwift-frameworks.sh\"\n";
                        showEnvVarsInLog = 0;
                };

但是,当我将podfile更改为指向分支时:

代码语言:javascript
复制
target 'EarlGreyExampleSwift' do
  pod 'EarlGreyApp', :git => 'https://github.com/google/EarlGrey.git', :branch => 'earlgrey2'
end

上述部分不会生成到project.pbxproj文件中。

我无法解释为什么EarlGreyApp注册的podspec应该是相同的。当我执行pod规范猫EarlGreyApp时,我看到的内容与earlgrey2分支中的内容相同。

Podspecs -- Shows 向我展示了只有两种Podspecs,2.0.0和2.0.0-rc

有什么不同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-19 15:33:35

这是因为Podspec不是通过earlgrey2分支发布的,而是通过earlgrey2pod分支发布的。

这样做的原因是,一些用户希望使用EarlGrey而不使用CocoaPods,而有些用户希望使用它。这两个分支有细微的差异,以允许这两个用例(编译问题)。

此外,当您执行手动吊舱安装时,CocoaPods还有更复杂的地方,就像直接引用github时所做的那样。我建议你不要这么做。由于EarlGreyApp是作为一个框架编译的,所以您不能不幸地这样做(您可以使用从源代码编译的EarlGreyTest )。CocoaPods在这方面有很差的未定义行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58440493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档