应用程序在启动时死亡,但没有崩溃报告

发布于 2024-08-14 13:12:49 字数 2404 浏览 10 评论 0原文

我已经向一些用户提供了我的应用程序的临时版本。其中两人的应用程序在启动时死机,而一名用户则没有任何问题。我也可以毫无问题地安装临时...但对我来说总是如此。一位用户从 Xcode Organizer Console 发送了以下信息。他们没有找到任何崩溃日志。我不知道如何理解下面的信息。突出的一件事是“许可被拒绝”。

我将配置文件和 myapp.app 文件放在 dropbox 文件夹中。然后,用户从同一位置检索文件。我已经针对保管箱中的 .app 文件运行了协同设计并获得了有效的输出:

codesign -vvvv myapp.app
myapp.app: valid on disk
myapp.app: satisfies its Designated Requirement

任何人都知道如何找出该应用程序不适用于该用户的原因吗?

这是一位用户的控制台输出。他们找不到任何相关的崩溃日志:

Stats
totalMLSITDBPostProcessing=5.31s
commands=0.01
misc=0.45s
icuSort=4.41s (MLS_icu_data=0.23s, MLS_icu_sec_data=0.13, dropIdx=0.04, normalize=0.13, update_orders=1.31, tStatsICUOther1=0.02, createIndex=2.50)
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x8cb6]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Exited with exit code: 1
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 179: (os/kern) failure
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Throttling respawn: Will start in 2147483647 seconds
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1
Sun Dec 13 12:35:10 unknown springboardservicesrelay[155] <Warning>: Unable to parse property list data of length: 0
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x3ce5]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Exited with exit code: 1
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 182: (os/kern) failure
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Throttling respawn: Will start in 2147483647 seconds
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1

I've given an ad hoc version of my app to some users. Two of them have the app die on start up while one user has no issues. I can also install the ad hoc without issue...but that is always the case for me. One user sent the info below from the Xcode Organizer Console. They didn't find any crash logs. I don't know what to make of the info below. The one thing that stands out is "Permission denied".

I place the provisioning and myapp.app files in a dropbox folder. The user then retrieves the files from the same location. I've run codesign against the .app file in the dropbox and get valid output:

codesign -vvvv myapp.app
myapp.app: valid on disk
myapp.app: satisfies its Designated Requirement

Any one have some ideas how I can figure out why the app doesn't work for this user?

Here is the Console output from one user. They couldn't find any associated crash logs:

Stats
totalMLSITDBPostProcessing=5.31s
commands=0.01
misc=0.45s
icuSort=4.41s (MLS_icu_data=0.23s, MLS_icu_sec_data=0.13, dropIdx=0.04, normalize=0.13, update_orders=1.31, tStatsICUOther1=0.02, createIndex=2.50)
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x8cb6]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Exited with exit code: 1
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 179: (os/kern) failure
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Throttling respawn: Will start in 2147483647 seconds
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1
Sun Dec 13 12:35:10 unknown springboardservicesrelay[155] <Warning>: Unable to parse property list data of length: 0
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x3ce5]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Exited with exit code: 1
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 182: (os/kern) failure
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Throttling respawn: Will start in 2147483647 seconds
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

一身骄傲 2024-08-21 13:12:49

临时分发是出了名的棘手。如果你错过了一件事,整个链条就会失败。这是我能想到的,基于它至少适用于您的一个用户这一事实:

  1. 您确定移动临时配置证书包含正在查看它的用户的 UDID失败?
  2. 这些用户的设备上是否有旧证书? (即,您在安装新证书之前是否删除了现有证书?设置 -> 常规 -> 配置文件)
  3. 您确定代码签名的 .app 捆绑包在名为embedded.mobileprovisioning 的文件中包含这些用户的 UDID 吗? (在 ProvisionedDevices 键下)
  4. 移动配置证书是否已过期?
  5. 您的开发人员代码签名证书是否已过期?
  6. 应用程序包是否在安装前被用户重命名?
  7. 在进行发行版构建之前,您是否尝试过进行清理?

Ad-hoc distribution is notoriously tricky. If you've missed one thing, the whole chain fails. Here's what I can think of, off the top of my head, based on the fact that it works for at least one of your users:

  1. Are you certain that the mobile ad-hoc provisioning certificate contains the UDID for the users who are seeing it fail?
  2. Do those users have an old certificate on their device? (i.e. did you delete the existing certificate before installing a new one? Settings->General->Profiles)
  3. Are you certain the code-signed .app bundle contains the UDIDs for those users, inside the file named embedded.mobileprovisioning? (Under the ProvisionedDevices key)
  4. Is the mobile provisioning certificate expired?
  5. Is your developer code-sign certificate expired?
  6. Was the application package renamed by the user before installation?
  7. Did you try doing a clean before doing the distribution build?
凉墨 2024-08-21 13:12:49

我认为您使用的关键词是“dropbox”。在过去的两周里,我刚刚花了两周时间尝试解决我的应用程序无法在其他计算机上运行的问题,我已经解决了这是因为我一直通过 DropBox 分发应用程序而没有对其进行压缩。

尝试将应用程序放入 zip 文件中,然后再上传到 DropBox。指导用户下载 zip 文件、解压缩并安装应用程序。

我的猜测是 DropBox 塞满了应用程序包中的一些文件。

The key word I think you have used is the word 'dropbox'. I've just spent the last 2 weeks trying to work out my app would not work on other machines and I have worked out that is because I have been distributing the app via DropBox with out zipping it.

Try putting the app in a zip file before uploading to DropBox. Instruct the users to download the zip file, unzip it and install the app.

My guess is that DropBox is stuffing up some of the files in the app package.

夜雨飘雪 2024-08-21 13:12:49

是的,我们在使用 DropBox 时遇到了同样的问题...首先压缩文件。

Yep, we had the same issue with DropBox... zip the file first.

安人多梦 2024-08-21 13:12:49

Dropbox 也适合我,压缩后运行良好。

Dropbox for me as well, zipped and it worked fine.

乱世争霸 2024-08-21 13:12:49

确保可执行文件在更新版本中具有相同的名称。我发现如果这些不匹配,我会收到与提问者完全相同的错误消息。这是在 info.plist 中定义的。

我的团队试图模拟用户将我们的应用程序的旧版本升级到新版本。新版本非常不同,我们创建了一个全新的项目,具有新的目标和一切。不幸的是这改变了可执行文件的名称。将其改回原来的状态使升级工作完美。

Ensure the executable has the same name in the updated version. I found if these don't match up, I get the exact same error messages as the asker. This is defined in the info.plist.

My team was trying to simulate the user upgrading an old version of our app to a new one. The new version was very different and we'd created a whole new project with new target and everything. Unfortunately this changed the executable name. Changing this back to the original made the upgrade work perfectly.

国产ˉ祖宗 2024-08-21 13:12:49

尝试使用 iPhone 配置实用程序(可从 Apple 免费下载)。我遇到了同样的问题,卸载并使用 iPCU 安装,现在完美运行。

使用起来有点不直观,请尝试谷歌搜索配置文件 iCPU。我在“redfin 的开发者博客”上找到了详细的说明。

Try using the iPhone Configuration Utility, a free download from Apple. I had the same problem, uninstalled and installed using the iPCU and now it works perfectly.

It's somewhat unintuitive to use, try googling for provisioning profile iCPU. I found detailed instructions on a "redfin's developper blog".

夏有森光若流苏 2024-08-21 13:12:49

Sun Dec 13 12:35:04 未知 SpringBoard[24]:无法生成 myapp。无法获取 pid 179 的任务名称端口:(os/kern) 失败

我已经为此奋斗了一段时间,就我而言,这是我们的构建系统使用不同的 zip 例程的结果,该例程不尊重 OSX资源分叉。我对它们了解不多,但简而言之,它们是一个 HFS 构造,用于存储有关文件/目录的额外元数据,大多数工具都隐藏这些元数据。使用 finder 压缩似乎有效,同上 也是如此。更多信息请参见:http://xahlee.org/UnixResource_dir/macosx.html

Sun Dec 13 12:35:04 unknown SpringBoard[24] : Failed to spawn myapp. Unable to obtain a task name port right for pid 179: (os/kern) failure

I've been fighting this for some time, and in my case it was a result of our build system using a different zip routine which did not respect OSX's resource forks. I don't know much about them, but in short they are an HFS construct for storing extra metadata about a file/dir which is hidden from most tools. Compressing with finder seems to work, as well as ditto. More info here: http://xahlee.org/UnixResource_dir/macosx.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文