在设备上运行收到“完成在设备上运行”消息,但从未运行
Posted
技术标签:
【中文标题】在设备上运行收到“完成在设备上运行”消息,但从未运行【英文标题】:Run on device gets "Finish running on device" message but never runs 【发布时间】:2012-02-26 09:33:45 【问题描述】:我正在尝试在设备中首次运行应用程序。
XCode 4.2iPhone 3G 4.2.1
我在安装了通配符应用标识符 (DQQVZJ94G3.*) 的 Xcode 管理器下显示了一个配置文件。
XCode 管理器中的设备列表。我的 Mac 钥匙串中安装了证书,它们显示了私钥。
我从模板创建了一个新项目,没有添加任何代码。
我已将 iPhone 设置为我的架构。 我已在 Build Settings->Code Signing->Code Signing Identity->Debug->Any ios SDK->iOS Development Certificate/Provisioning Profile 对下设置。 我已将 tagert 部署目标设置为 4.1。 我已将 Bulid Settings->Architectures 设置为 Standard(armv6) 我已从 plist 文件中删除“所需设备功能”->armv7之前的所有设置都在 Target settings 中设置好了。
我重新启动 xCode 并重新安装了证书和配置文件。每当我点击“运行”时,我只会收到“在 iPhone 上完成运行 myApp”,但什么也没有发生,甚至没有日志来提示正在发生的事情。
【问题讨论】:
“必需的设备功能”是否包含任何其他键?此外,当您在 Organizer 中选择设备并转到其 Provisioning Profiles 窗格时,它是否会在没有任何警告的情况下显示配置文件? 它没有钥匙。管理器中没有警告。 Here is a question about an iPod touch running 4.2.1. 但听起来您已经完成了列出的所有操作。我有时会看到Target
和Project
设置不同步,因此还要检查Target
> 构建设置> 架构中的架构属性。 Target
设置将覆盖Project
设置。
所有设置都是目标设置,没有全局项目设置。
尝试将 Architectures 设置为 $(VALID_ARCHS) 并将 Valid Architectures 设置为 armv6 armv7.
【参考方案1】:
构建设置重复:有项目构建设置和目标构建设置。通常,如果您更改项目设置,目标设置会自动更改,这在项目包含多个目标时很有用。但有时,这不起作用,您需要手动更改目标设置,这些设置是用于构建目标的实际设置。因此,从它开始并验证目标设置是否如下所示:
架构:$(VALID_ARCHS) 有效架构:armv6 armv7(默认值) iOS 部署目标:iOS 4.2.1 或更低版本如果这不起作用,那么问题可能是配置文件设置不正确。确保它正常工作的一种简单方法是让 Xcode 为您管理它。因此,从您的设备和 Organizer 中删除配置文件,同时从 Organizer 中删除开发人员配置文件。然后插入 iPhone,在 Organizer 中右键单击它并选择:Add Device to Provisioning Portal。
编辑
确保删除 Architectures 中的其他值。例如,在下面的屏幕截图中,您必须删除选定的行 armv7。
【讨论】:
我已经尝试了这两种方法,通过 xCode 或通过门户添加配置文件并导入到 xCode。我已更新帖子以显示所有设置都是针对特定目标的。 @DavidCasillas - 我认为您的问题是您没有删除 Architectures 中的旧值,只保留 $(VALID_ARCHS)。实际上 $(VALID_ARCHS) 等价于 armv6 armv7,所以你是在复制 armv7。 你懂的。谢谢你的好工作。我自己不会去做。【参考方案2】:我按照另一个答案中的描述添加了 armv6,然后在目标下,我必须从“必需的设备功能”中删除“armv7”
【讨论】:
【参考方案3】:我遇到了同样的问题,我的解决方案是我没有将 iPad 的设备 ID 添加到我的设备列表中。
【讨论】:
以上是关于在设备上运行收到“完成在设备上运行”消息,但从未运行的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 消息传递 iOS:usersInfo 为空或我从未收到通知