我正在使用Cocoapods以及一个包含我自己的静态库以及使用静态库的主项目的工作区。
静态库和主应用程序共享相同的 pod。
问题是在“pod install”之后创建的链接在构建主应用程序时会导致重复符号错误。
我已经研究过通过脚本构建阶段以及方案构建预操作从我的静态库目标中删除 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
以及从我的静态库中删除 libPods.a 的 Ruby 脚本:
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