Unable to boot device in current state: Creating
- Xcode: 9.4.1
- macOS: 10.13
- 在使用模拟器或者
xcodebuild test
时可能会出现此问题。
Solution
- 使用
xcrun simctl list
命令列出所有模拟器机型,用 xcrun simctl erase UDID
还原相应的设备,重试即可。
- 下面是一个 Python 3 脚本,可以使用
python erase_simulators.py -d 'DEVICE_TYPE'
来直接还原相应设备类型的所有设备。
# -*- coding: utf-8 -*-
import argparse
import subprocess
import re
def erase_device(device):
status, output = subprocess.getstatusoutput('xcrun simctl list | grep \'' + device + ' (\'')
if status == 0:
outputs = output.split('\n')
for output in outputs:
simulator_udids = re.findall('[A-Z0-9-]{36}', output)
if simulator_udids != []:
for udid in simulator_udids:
subprocess.getstatusoutput('xcrun simctl erase' + udid)
print('Already erased ' + device + ' - UDID: ' + udid)
if __name__ == '__main__':
iphone_64_devices = ['iPhone 5s', 'iPhone 6', 'iPhone 6 Plus', 'iPhone 6s', 'iPhone 6s Plus', 'iPhone 7', 'iPhone 7 Plus', 'iPhone 8', 'iPhone 8 Plus', 'iPhone X']
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--device', help='Specify the simulator device, eg. iPhone X', choices=iphone_64_devices)
args = parser.parse_args()
if args.device is not None:
erase_device(args.device)
else:
print('Please specify the device option!')
The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.)
- Xcode: 10
- macOS: 10.14
- 在清空了
~/Library/Developer/CoreSimulator/Devices
后 xcodebuild test
时出现此问题。
Solution
Cannot find “$(SRCROOT)/*/Info.plist”
- Fastlane
increment_version_number
agvtool new-marketing-version x.x.x
- 某些 Target 无法使用命令批量更新版本号时出现此问题。
Solution
- 在项目的 Build Settings 中搜索
$(SRCROOT)
,删除包含该内容条目中的 $(SRCROOT)
变量(通常是 INFOPLIST_FILE
字段)。
Failed to verify bitcode in *
- 当主 Target 未开启 Bitcode 时,Archive 后,通常有「Rebuild from bitcode」选项,勾选时可能会出现此问题;
- 抑或使用 Fastlane「build_ios_app」打包,出现该问题。
Solution
- 手动打包不勾选「Rebuild from bitcode」选项即可;
- Fastlane 需要在关闭 Bitcode,具体如下:
build_ios_app(export_options: { compileBitcode: false })
- Fastlane 上传 App Store 时会出现该问题。
Solution
No value found for ‘username’
- Fastlane 上传 App Store 时会出现该问题。
Solution
No value found for 'username'
是 Pilot(upload_to_testflight)的报错信息;
- 可在 AppFile 配置上传 App Store 的 Apple ID,或在 upload_to_testflight 添加 username 参数,并按照上条 Tips 添加账号密码至 Key Chain。
- 在使用模拟器作为 destination 时出现此错误。
Solution
sudo launchctl limit maxproc 2000 2500
在 iPhone X 及以上全面屏机型 UIWebView 的内容未填充整个视图
- 视图层级关系:UIWebView > UIWebScrollView > UIWebBrowserView
- 由于 iPhone X 带来的全面屏,系统会自动对其中的 UIWebBrowserView 进行调整,导致即使设置 UIWebView 整体的约束,显示的内容区域也时有问题。
Solution
- 将其中的 UIScrollView 的自动调整行为关闭即可。
if #available(iOS 11.0, *) {
webView.scrollView.contentInsetAdjustmentBehavior = .never
}