iOS - 真机调试的新经验


很久没有在真机运行 iOS 测试了,今天帮忙调试,发现很多东西都变了,有些东西也生疏了,在这里记录下。


获取真机 UDID

创建Profile 需要绑定设备的 UDID,如何获取?
搜索结果五花八门,实际上使用 Xcode 就足够。
手机连接后,点击 Add Additional Simulators,进入设备管理页面

在这里插入图片描述


切换到 Device Tab
下方的 Identifier 就是 UDID 了

在这里插入图片描述


Please reconnect the device.

不一定是数据线问题,而是 Xcode 的版本问题。
如果出现这个报错,也可以在上述 设备管理界面看到 相关的报错信息。如:
在这里插入图片描述

参考:https://blog.csdn.net/zjpjay/article/details/108770188


iOS 开发者模式

在一些版本的Xcode 调试过程中,手机需要开启 开发者模式 才能调试;
在设置 – 隐私与安全性 中打开,切换开发者模式后,手机需要重启后生效。

在这里插入图片描述


Fetching debug symbols

点击run,可能需要下载一些 symbols,这个过程大概耗时 3min。
下载完成后,会自动运行代码。
在这里插入图片描述


Library not found for

pod 引入第三方库 编译时,Xcode 提示 library not found for,一般是找不到库,搜索结果会提示去看看 search library path;
但同时做 iOS 和 macOS 的同学,可以看看 podfile 引入第三方库的 target 是不是 iOS。


The file couldn’t be opened. – 修改 objectVersion

在两台电脑之前同步项目,Xcode 版本不同,运行时可能报错:

The file couldn’t be opened

一般是项目配置文件中的 objectVersion 导致不兼容。处理方式如下:


找到工程文件 appname.xcodeproj (非 .xcworkspace 文件),显示包内容
在这里插入图片描述


打开 project.pbxproj 文件(我使用 VS Code),
在这里插入图片描述


可以看到 objectVersion 版本原本为 56,我改为 48。再次打开项目就可以运行了。
具体每个 Xcode 对应的 objectVersion 是多少我没有深究;如果你不确定改为哪个数值合适,也可以用当前Xcode 新建一个项目,然后看看对应的 objectVersion。
在这里插入图片描述


对于 Pod

找到 Pod 的工程位置,不知道的可以在 xcode 中这样操作。
在这里插入图片描述


在这里插入图片描述


同样打开 project.pbxproj,修改 objectVersion


Any iOS Device 无模拟器可选

同样出现在两台不同版本Xcode 项目同步的场景

运行时提示:

A build only device cannot be used to run this target.
Please select an available device or choose a simulated device as the destination.

模拟器显示: Any iOS Device,且无法添加。
这时,可以去看看 Deployment Info
可能之前同步下来的代码,选择的模拟器版本过高;你当前的 Xcode 不支持。将它调低一点试试。

在这里插入图片描述


伊织 2023-12-24(日)

猜你喜欢

转载自blog.csdn.net/lovechris00/article/details/135183416