Xcode,链接框架在使用自定义构建配置时不起作用

时间:2016-02-05 15:58:13

标签: ios xcode cocoapods

我的工作空间包含两个项目:主项目名为" MainProject"第二个是CocoaTouch Framework,名为" PrivateFramework"。 PrivateFramework链接到MainProject并且运行良好。

Workspace configuration

我在项目中也有Podfile文件,如下所示。你可以看到我在PrivateFramework和MainProject中使用XCGLogger pod。

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '8.0'
use_frameworks!

workspace 'MainProject'

def shared_pods
    pod 'XCGLogger'
end

target 'PrivateFramework' do
    xcodeproj 'PrivateFramework/PrivateFramework.xcodeproj'
    shared_pods
end

target 'MainProject' do
    xcodeproj 'MainProject.xcodeproj', 'Development' => :debug, 'Production' => :release

    shared_pods
    pod 'Alamofire'
    pod 'Unbox'
    pod 'Locksmith'
end

安装pod之后一切正常,所以PrivateFramework和MainProject正在编译并运行良好。

问题是我尝试在MainProject中添加新的构建配置而不是Debug和Release。我添加了生产和开发配置,它与Release和Debug重复。 Build configurations Scheme configuration

当我将新方案添加到名为" MainProject Development"我在哪里使用开发构建配置(称为开发)项目停止编译。 我在我的PrivateFramework中有链接问题,它无法看到XCGLogger以及此警告:

Target 'Pods-PrivateFramework' of project 'Pods' was rejected as an implicit dependency for 'Pods_PrivateFramework.framework' because its architectures 'i386' didn't contain all required architectures 'i386 x86_64'
  • 为什么我使用自定义构建配置我的新方案不起作用    和项目停止编译?
  • 你有什么建议如何修复它?

在这里,您可以找到该工作区的存储库:https://github.com/krystiansliwa/TestWorkspace

1 个答案:

答案 0 :(得分:0)

我读了" 你可以在同一个配置中混合调试和发布"来自CocoaPods的一名成员。并且您的Podfile对两个目标(PrivateFramework和MainProject)使用相同的配置('开发'生产')。因此,PrivateFramework的隐式规则可能与MainProject的显式规则冲突。

尝试使用:

xcodeproj 'PrivateFramework/PrivateFramework.xcodeproj', 'Development' => :debug, 'Production' => :release