【问题标题】:Xcode Deployment Info and icons using CMake使用 CMake 的 Xcode 部署信息和图标
【发布时间】:2015-09-10 04:06:29
【问题描述】:

我尝试寻找有关如何使用 CMake 设置这些(红色)的信息,但到目前为止还没有运气:

第一个红框问题:

首先,即使设备看起来已正确设置为“通用”,但 Xcode 并未正确解释该值。当我使用下拉菜单手动将其设置为“通用”时,它会为 iPhone 和 iPad 分别提供一个选项卡。此外,我知道它没有被正确解释,因为应用程序无法正常运行(在我的情况下,启动图像和应用程序本身都没有全屏运行)。

我不认为以编程方式设置方向对我来说是一种选择,因为我也需要正确方向的启动图像。 所以不能做这样的事情: How do I programmatically set device orientation in iOS7?

第二个红框问题:

我为我的所有图标使用了一个资产文件,所以目前我必须使用 CMake 进行构建,然后每次都按“使用资产目录”。 我发现了这个,但似乎不是很有用: http://cmake.3232098.n2.nabble.com/Icon-and-Launch-image-support-for-iOS-apps-td7590970.html

【问题讨论】:

  • 可能会有所帮助:您可以通过例如设置任何 xcode 选项。 set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iOS Developer") - 这意味着如果你可以在你的 ios 项目中找到选项名称(应该很容易区分) - 那么你可以通过 XCODE_ATTRIBUTE_XXX 轻松设置它。
  • @MartinGerhardy 问题是,对于方向配置,它不是XCODE_ATTRIBUTE_<...>,它是在 plist 文件中配置的。
  • 如果您在 MyApp.plist.in 上使用 configure_file 并设置应替换的正确 cmake 变量会怎样?
  • 为确保设备系列正确设置为通用,您可以添加此 cmake 设置:set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")

标签: ios xcode cmake


【解决方案1】:

关于“第一个盒子问题”,我发现这个演示项目采用的方法非常有效。

https://github.com/forexample/testapp/blob/master/CMakeLists.txt

他们在配置过程中使用模板化的Info.plist 注入包标识符等。好的部分是您可以修改 plist.in 文件中的方向,然后在您打开项目后将它们干净地转换为 Info.plist

【讨论】:

    【解决方案2】:

    关于第二个红框问题,我发现我需要设置的属性是XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME

    例如:

    set_target_properties(${TARGET} PROPERTIES
        XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
    

    对于启动图像,我通过在 UILaunchStoryboardName 下的 plist.in 文件中设置它来使其工作,如 yano 先前的回答中所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-01
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多