2
我正在使用Cocoapods以及包含我自己的靜態庫以及使用靜態庫的主項目的工作空間。構建之前自動執行靜態庫刪除以防止Cocoapods重複出現符號錯誤
靜態庫和主應用程序共享相同的窗格。
問題是在構建主應用程序時,'pod install'後創建的鏈接會導致重複的符號錯誤。
我已經研究了通過腳本構建階段從靜態lib目標中移除libPods.a靜態庫,以及方案構建預執行。它們似乎都沒有預期的效果。
這裏是我的Podfile:
workspace 'MyWorkspace.xcworkspace'
platform :ios, '6.0'
inhibit_all_warnings!
# POD ACTIONS ----------------------------------------
def import_pods
pod 'AFNetworking', '1.3.2'
pod 'AFHTTPRequestOperationLogger', '0.10.0'
pod 'CorePlot', '1.3'
end
# POD LINKAGE -----------------------------------------
target :'MyStaticLib' do
xcodeproj 'StaticLib/StaticLib.xcodeproj'
import_pods
target :'MyApp' do
xcodeproj 'MyApp.xcodeproj'
end
end
而且Ruby腳本從我的靜態庫中刪除libPods.a:
require 'xcodeproj'
project = Xcodeproj::Project.open("StaticLib/StaticLib.xcodeproj")
project.targets.each do |target|
if target.display_name == 'MyStaticLib'
target.frameworks_build_phase.files_references.each do |file|
if file.path == "libPods.a"
file.build_files.each do |build_file|
build_file.remove_from_project
puts "Removed build file from project: #{build_file.display_name}"
end
file.remove_from_project
end
end
end
end