mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-01-11 20:10:25 +00:00
43 lines
1.4 KiB
Ruby
43 lines
1.4 KiB
Ruby
require 'xcodeproj'
|
|
require 'fileutils'
|
|
|
|
project_path = File.expand_path('../Nuvio.xcodeproj', __dir__)
|
|
project = Xcodeproj::Project.open(project_path)
|
|
|
|
app_dir = File.expand_path('..', __dir__)
|
|
|
|
target_name = 'Nuvio'
|
|
bridge_files = [
|
|
File.expand_path('Nuvio/KSPlayerView.swift', app_dir),
|
|
File.expand_path('Nuvio/KSPlayerViewManager.swift', app_dir),
|
|
File.expand_path('Nuvio/KSPlayerManager.m', app_dir),
|
|
File.expand_path('Nuvio/KSPlayerModule.swift', app_dir),
|
|
]
|
|
|
|
missing = bridge_files.reject { |p| File.exist?(p) }
|
|
if missing.any?
|
|
abort "Missing files: \n#{missing.join("\n")}"
|
|
end
|
|
|
|
target = project.targets.find { |t| t.name == target_name }
|
|
abort "Target '#{target_name}' not found" unless target
|
|
|
|
# Ensure group exists at the correct relative path
|
|
root_group = project.main_group
|
|
app_group = root_group['Nuvio'] || root_group.new_group('Nuvio', 'Nuvio')
|
|
|
|
added_files = []
|
|
bridge_files.each do |file_path|
|
|
relative_path = Pathname.new(file_path).relative_path_from(Pathname.new(project_path).dirname).to_s
|
|
ref = project.files.find { |f| f.path == relative_path }
|
|
unless ref
|
|
ref = app_group.new_file(relative_path)
|
|
added_files << relative_path
|
|
end
|
|
unless target.source_build_phase.files_references.include?(ref)
|
|
target.add_file_references([ref])
|
|
end
|
|
end
|
|
|
|
project.save
|
|
puts "Ensured bridge files are added to target '#{target_name}':\n - #{(added_files.empty? ? '(no new files)' : added_files.join("\n - "))}"
|