Xcode says “You don't have permission” when trying to run

近期更新了xcode至xcode12.2版本,运行老项目,会报You don’t have permission. To view or change permissions, select the item in the Finder and choose File > Get Info.一脸懵逼,没有权限查看、与更改~~~[大写的问号脸]

截屏2020-12-10 上午9.10.49.png

点击Details跟着路径前往文件夹并显示包内容,发现没执行文件...

为什么会出现这些错误?

查看Xcode12的升级文档,发现如下内容:


Xcode12升级文档.png

1、Xcode11项目中模拟器会编译为x86_64,但Xcode12的模拟器基于苹果Apple Silicone architecture执行,需要编译为arm64运行在模拟器上。还有许多第三方库(如AFNetworking等)并未提供Xcode12版本的更新支持,导致报错。
2、Xcode12开始移除编译设置Bulid Setting中的Valid Architectures
的宏定义,当使用Xcode12打开项目,会在Bulid Setting中的User-Defines中自动生成VALID_ARCHS宏定义。如果旧项目存在于此冲突的宏定义,会导致编译失败。

如何解决

一:终端执行sudo chmod -R 777 +文件路径获取权限

然后clear一下,运行。

如果还不行就去项目里设置Excluded Architectures

二:设置Excluded Architectures

打开项目,找到路径Build Settings - Excluded Architectures,Debug&Release都添加 Any iOS Simulator SDK ,设置为arm64

image.png

然后clear一下,运行。
如果还是失败,想必这个时候你可能有点崩溃...没关系还有一种方法。

三:删除项目里所有的VALID_ARCHS(整个删除,不能只删除value留下Key)

image.png

点击步骤1进入源代码,command+f全局搜索VALID_ARCHS,然后整行删除就可以了,如图步骤二,0 matchs,为全部删除。

未删除VALID_ARCHS状态如下图所示:

image.png

然后clear一下,运行,终于有权限了,hhh~

网上还有一种方法:重新创建项目,然后把文件都copy过去。

我看网上有的小伙伴说可以,有的说不可以,我是没操作,直接给pass掉了- 0 - 有兴趣的同学可以试一试该方法。

你可能感兴趣的:(Xcode says “You don't have permission” when trying to run)