添加一个框架到"链接到二进制文件库"使用xcodeproj

时间:2016-06-16 09:00:18

标签: ios ruby xcode xcodeproj

我目前正在努力使用Xcodeproj来添加一些库并更改我的Xcode项目中的一些细节。 我是Ruby的新手,通常只使用Xcode来编译我的项目,所以我现在在这里,尝试添加CoreTelephony.framework,以便它出现在"链接到二进制库和#34 ;如果我在Xcode中打开项目......

require 'rubygems'
require 'Xcodeproj'

buildPath = '/Users/matth/Desktop/buildiOS/'
origName = 'Unity-iPhoneOrig.xcodeproj'
destName = 'Unity-iPhoneMod.xcodeproj'

project = Xcodeproj::Project.new(buildPath + origName)
project::Object::AbstractTarget::add_system_framework("CoreTelephony.framework")
project.save(buildPath + destName)

......当然,它并不起作用。 如果有人能帮助我,那么我就开始了,我们将非常感激!

1 个答案:

答案 0 :(得分:3)

好的,我在gist

上找到了一些有趣的例子

这是一个相关的,完美地运作:

def add_system_frameworks(project, names, optional = false)
    project.targets.each do |target|
        next unless TARGET == target.name

        build_phase = target.frameworks_build_phase
        framework_group = project.frameworks_group

        names.each do |name|
            next if exist_framework?(build_phase, name)
            path = "System/Library/Frameworks/#{name}.framework"
            file_ref = framework_group.new_reference(path)
            file_ref.name = "#{name}.framework"
            file_ref.source_tree = 'SDKROOT'
            build_file = build_phase.add_file_reference(file_ref)
            if optional
                build_file.settings = { 'ATTRIBUTES' => ['Weak'] }
            end
        end
    end
end