Ruby xcodeproj 没有返回 XCBuildConfiguration.build_settings

问题描述

我正在处理一个实现“xcodeproj”的 Ruby 文件,以便能够检查和修改我所有目标的构建设置。

但是,我意识到当为 XCBuildConfiguration 对象调用 build_settings 时,哈希不会显示项目显示的所有值。更具体地说,Xcode 中未加粗的值不会显示在哈希中。

enter image description here

这是我的代码

def clean_build_settings()
    project = Xcodeproj::Project.open "./WhiteLabel.xcodeproj"
    puts "** Removing Cocoapods references from 'BUILD SETTING' **"
    project.targets.each { |target| 
        target.build_configurations.each { |build_configuration|
            puts "Inspecting BUILD_SETTINGS for TARGET => #{target.name} & CONfigURATION => #{build_configuration.name}"
            build_settings = build_configuration.build_settings
            puts build_settings
        }
    }
    project.save()
end

“puts”的结果:

{
    "ASSETCATALOG_COMPILER_APPICON_NAME"=> "AppIcon","CODE_SIGN_ENTITLEMENTS"=> "$(SRCROOT)/Clients/WhiteLabel/iOS/WhiteLabel.entitlements","CODE_SIGN_IDENTITY"=> "Apple Development","CODE_SIGN_IDENTITY[sdk=iphoneos*]"=> "Apple Development","CODE_SIGN_STYLE"=> "Automatic","CURRENT_PROJECT_VERSION"=> "18","DEBUG_informatION_FORMAT"=> "dwarf-with-dsym","DEFInes_MODULE"=> "YES","DEVELOPMENT_TEAM"=> "afdsf","FRAMEWORK_SEARCH_PATHS"=> ["$(inherited)","$(PROJECT_DIR)/Carthage/Build/iOS"],"GCC_OPTIMIZATION_LEVEL"=> "s","INFOPLIST_FILE"=> "$(SRCROOT)/Clients/WhiteLabel/iOS/Info.plist","LD_RUNPATH_SEARCH_PATHS"=> "$(inherited) @executable_path/Frameworks","OTHER_LDFLAGS"=> ["$(inherited)","-ObjC"],"PRODUCT_BUNDLE_IDENTIFIER"=> "com.app","PRODUCT_NAME"=> "WhiteLabel","PROVISIONING_PROFILE"=> "","PROVISIONING_PROFILE_SPECIFIER"=> "","SDKROOT"=> "iphoneos","SWIFT_OBJC_BRIDGING_HEADER"=> "WhiteLabel-Bridging-Header.h","SWIFT_OBJC_INTERFACE_HEADER_NAME"=> "$(PROJECT_NAME)-Swift.h","SWIFT_SWIFT3_OBJC_INFERENCE"=> "Default","SWIFT_VERSION"=> "5.0","TARGETED_DEVICE_FAMILY"=> "1,2","VALID_ARCHS"=> "$(ARCHS_STANDARD)"
}

此时我想知道:

  • 为什么会这样?
  • 从技术上讲,“Cocopods”已经修改了构建设置,为什么不以粗体显示

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)