Qt 5.9.8 ios Qt Creator 不能编译运行模拟器 "availabilityError"

11 篇文章 0 订阅

最近在升级 Qt 到 Qt 5.9.8, xcode 升级到 xcode 10.2.1, 突然想用QtCreator在模拟器调试,结果不能编译通过,报错如下:

 

xcodebuild build  -project MofingIEK.xcodeproj -scheme MofingIEK   -configuration Release  -destination "id=7ECEBF69-9F76-43A1-A643-BBE2CD0F2650",        "availabilityError" : "" -destination-timeout 1  ENABLE_ONLY_ACTIVE_RESOURCES=NO 
Build settings from command line:
    ENABLE_ONLY_ACTIVE_RESOURCES = NO

这两天实在不能忍受了,花了一天时间,网上找也没有好的解决方案,自己发现主要是  -destination "id=7ECEBF69-9F76-43A1-A643-BBE2CD0F2650" 这个地方出问题,索性自己在Qt 安装目录的 mkspecs 文件夹下 搜索关键字 “availabilityError”,没找相关内容, 搜索关键字 “destination ”有收获:

MagicdeMacBook-Pro:mkspecs magic$ grep -rin 'destination' ./

打开Qt 安装目录下面的 mkspecs/features/uikit/xcodebuild.mk 文件,75行:

GENERIC_SIMULATOR_DESTINATION := "id=$(shell $(MAKEFILE_DIR)devices.pl '$(EXPORT_DEVICE_FILTER)' "NOT unavailable" | tail -n 1)"
发现目标设备id是动态生成了,但每次动态生成都报错,现在就是要想办法替换,最笨的办法的就写死,但id 去哪找,xcode 安装好后会生成相应模拟器的目录,下面有个device_set.plist文件,里面找到你想要的版本id

/Users/magic/Library/Developer/CoreSimulator/Devices/device_set.plist

 

<key>com.apple.CoreSimulator.SimRuntime.iOS-12-1</key>
<dict>
<key>com.apple.CoreSimulator.SimDeviceType.iPad--5th-generation-</key>
<string>73926A00-1BD0-454D-81EE-8FFCE0C3556D</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad--6th-generation-</key>
<string>DC8A692A-03CD-4372-BDC2-D4C29809526B</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Air</key>
<string>3DB96D19-5F4C-41F8-A012-F1735C5D73B4</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Air-2</key>
<string>2092E38C-CDF1-491E-88CB-5BA74E1E5871</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro</key>
<string>D9764814-71A4-490B-A62F-D7FD0F68BC78</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro--10-5-inch-</key>
<string>8077C3B0-DB1B-4BAC-9539-7AFCA9CCA089</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch-</key>
<string>07B42A09-0083-47C8-81C4-A80F0714B930</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-</key>
<string>742F2253-3FBE-47AF-A31B-360ADAD7650B</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---3rd-generation-</key>
<string>B39E8929-0434-4A7D-8478-FA22822EFAA7</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPad-Pro--9-7-inch-</key>
<string>7B08CC02-C074-4811-A582-E63A41D6EF5F</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-5s</key>
<string>DF077AD1-18C9-4CDB-BC47-1E586DDD459B</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-6</key>
<string>B01FD5B8-8AF3-4AED-AC13-C139AB97ACA1</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus</key>
<string>083A0019-428A-414E-974D-32CC64A8A6F7</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-6s</key>
<string>3291F7A5-B1E9-40C1-ACF6-8C9EB529A425</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus</key>
<string>5C36FA29-CCDB-4876-A907-CAAF2D0B3011</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-7</key>
<string>7D103B59-4D3A-442F-8B18-71F54255A13F</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus</key>
<string>F7771B65-4E02-4A2D-AD58-E8DE3582BD86</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-8</key>
<string>B4AC5DDF-46D9-475A-BA9C-4C80C3528411</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus</key>
<string>EFF25320-84B6-4199-8467-F612A379ABE0</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-SE</key>
<string>4D8472FC-11C0-4B35-BDE0-43B8FFBBE83A</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-X</key>
<string>CC977BC0-F62E-4C09-A6A1-3B13106136AA</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-XR</key>
<string>EFA4D728-6D99-4903-998A-CC08855F8D0D</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-XS</key>
<string>14C94B94-1C82-4B6E-8486-9B7181596DFB</string>
<key>com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max</key>
<string>0BE72603-4D83-4096-887E-212B9B69A5F1</string>
</dict>

我选择 iphonex ios12.1,所以把mkspecs/features/uikit/xcodebuild.mk 文件,75行改成:

GENERIC_SIMULATOR_DESTINATION := "id=CC977BC0-F62E-4C09-A6A1-3B13106136AA"

保存,重新运行到 simulator 就要可以了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值