lib/calabash-cucumber/launch/simulator_helper.rb in calabash-cucumber-0.9.158 vs lib/calabash-cucumber/launch/simulator_helper.rb in calabash-cucumber-0.9.159
- old
+ new
@@ -206,16 +206,26 @@
return ios_project_dir if ios_project_dir && File.directory?(ios_project_dir)
# ios_project_dir does not exist
# Detect case where there is no such sub directory
# (i.e. iOS only Xamarin project)
bin_dir = File.join(project_dir, 'bin')
- if File.directory?(bin_dir) &&
- (File.directory?(File.join(bin_dir,'iPhoneSimulator')) ||
- File.directory?(File.join(bin_dir,'iPhone')))
+ if xamarin_ios_bin_dir?(bin_dir)
return project_dir ## Looks like iOS bin dir is here
end
+ sub_dirs = Dir[File.join(project_dir,'*')].select {|dir| File.directory?(dir)}
+ sub_dirs.find do |sub_dir|
+ contains_csproj = Dir[File.join(sub_dir,'*.csproj')].first
+ contains_csproj && xamarin_ios_bin_dir?(File.join(sub_dir,'bin'))
+ end
+
+ end
+
+ def self.xamarin_ios_bin_dir?(bin_dir)
+ File.directory?(bin_dir) &&
+ (File.directory?(File.join(bin_dir,'iPhoneSimulator')) ||
+ File.directory?(File.join(bin_dir,'iPhone')))
end
def self.bundle_path_from_xamarin_project(device_build_dir='iPhoneSimulator')
ios_project_path = xamarin_ios_csproj_path
conf_glob = File.join(ios_project_path,'bin',device_build_dir,'*')