2016-06-16 1 views
1

현재 Xcode 프로젝트에서 일부 라이브러리를 추가하고 몇 가지 세부 사항을 변경하려면 Xcodeproj으로 고생하고 있습니다. 저는 Ruby를 처음 접했고 일반적으로 Xcode를 사용하여 프로젝트를 컴파일합니다. 그래서 현재 Xcode에서 프로젝트를 열면 CoreTelephony.framework를 추가하여 "라이브러리와 바이너리 링크"에 나타납니다.xcodeproj를 사용하여 "라이브러리와 바이너리 연결"프레임 워크 추가

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) 

... 물론 작동하지 않습니다. 누군가가 내게 손을 뻗어서 시작할 수 있다면 많은 도움이 될 것입니다!

답변

2

좋아, 내가 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 
관련 문제