- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个针对 iOS 8.0 的应用程序,它需要下载最大 250Mb 的文件。我有一个使用 Alamofire
大致工作的下载代码版本,但我最近用纯 NSURLSession
实现替换了它。这个新实现在模拟器和我运行 iOS 9.2 (13C75) 的 iPhone 5S 上按预期工作。无论是通过 XCode
和物理连接还是通过 TestFlight
安装,它都可以在我的手机上运行。我已经删除了该应用程序,重新启动手机并重新安装,它始终可以正确完成下载。我的一位同事提取了代码并能够从 XCode
成功模拟它。
但是,在我所有合作者的设备上下载都失败了。他们通过 TestFlight
安装应用程序并设置为内部测试人员。一位合作者还有一部运行 iOS 9.2 (13C75) 的 iPhone 5S。当通过 TestFlight
部署到这些相同的设备时,基于 Alamofire
的实现按预期工作,其他代码几乎没有变化。
我添加了一些远程日志记录,我可以看到在出现故障的设备上,下载被正确触发,我创建的每个下载任务都有一个我可以记录的 taskIdentifier
。但是,NSURLSessionDelegate
或 NSURLSessionDownloadDelegate
方法均未被调用。
您对问题排查有何建议?
这是否可能与 TestFlight
问题有关?我目前的下一步是尝试替代 TestFlight
。最后,如果可能的话,我希望能够通过 TestFlight
部署测试版。
我在 XCode 7.2 (7C68)
中使用 Swift 2.1.1
。
最佳答案
问题原来是我设置了NSURLSessionConfiguration
discretionary
property为真。文档陈述了以下对我来说听起来不错的内容:
When transferring large amounts of data, you are encouraged to set the value of this property to true.
但我没有意识到文本其余部分的后果:
For example, the system might delay transferring large files until the device is plugged in and connected to the network via Wi-Fi.
通过 XCode
进行安装的原因可能是手机正在充电,因为在我开始下载时它已连接到我的计算机,或者刚刚充电。
我最初怀疑问题来自 TestFlight
或与手机状态有关的问题。使用 Sentry 进行远程记录(我已经将其用于后端)对于深入了解我的合作者运行该应用程序时的不同之处非常有帮助。我最终为所有 NSURLSessionDownloadDelegate
方法添加了实现,以记录调用了哪些方法。这让我看到了 didReceiveChallenge
是唯一被调用的委托(delegate)方法,然后我花了一些时间思考这可能是一个与身份验证相关的问题并在该一般领域进行故障排除。
最后,我开始注意到我自己的安装有时会失败,而一位合作者却成功下载了。这让我开始考虑可能阻止下载的手机状态。我回到了我拥有的 NSURLSession
配置,那是我阅读 discretionary
属性的时候。
回想起来,仔细检查配置是早点做的好一步。另一件好事是记录 state
property。已创建的下载任务。
关于ios - TestFlight 安装中未调用 NSURLSessionDelegate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547953/
尝试安装应用程序时。出现一个弹出窗口并显示:无法安装 {AppName}该应用程序无效,无法安装。再试一次。 最佳答案 Testflight 当前遇到服务器问题。 您可以在此处查看当前状态: http
是否可以在 TestFlight 上重命名 iOS 应用程序?我认为这是可能的唯一方法是删除应用程序(及其所有相关的构建)并添加一个新的。 最佳答案 这是一个老问题,但今天我们的一个应用程序提出了这个
所以我有两个应用程序成功提交用于 TestFlight Beta 测试(见下图)。 对于第一个,安装按预期进行。对于第二个应用程序,该应用程序在 90% 左右出现“停滞”。永远不会通过图像中显示的内容
我们有一个提交到应用商店的 channel ,它处理上传到应用商店的操作。我想将那些已经上传的构建提交给外部审查。 据我所知,appstore 和 tesflight 操作都希望有一个实际的 ipa
当我准备好通过 TestFlight 发送我的 IPA 时,我按预期到达了构建权限列表。这是具有用户名供您选择分发的屏幕。 其中一些名称是灰色的,我无法选择它们。我很确定他们在我的配置文件中并且我已经
我使用 TestFlight ( link ) 来传送 .ipa 文件。我的问题是 - 如何将我的 UDID 添加到我的团队?目前,当我转到人员并打开我的用户详细信息时,UDID 字段为空。 最佳答案
在 https://developer.apple.com/support/account/authentication/ 解释了新的苹果规则: In an effort to keep your a
将我的 iPhone 5 升级到 iOS 7 beta 后,似乎我必须将其重新连接到 Testflight。不幸的是,我无法安装配置文件: 选择“重新连接设备”、“安装配置文件”、“立即安装”后,警报
尝试使用 TF SDK 上传构建时我看到以下错误消息: Sorry, we are no longer accepting any new builds that use TestFlight SDK
我们都在摸不着头脑, 我们使用新的 testflight/itunes connect 并能够为内部用户提交构建。不知何故,它停止工作,并且在我们发布时它总是转到旧版本。 在预发布版中,我们看到所有版
在过去的几个月里,我的团队一直在使用 TestFlight 对新版本进行 Beta 测试。我今天收到一封关于 Apple 集成版 TestFlight 的电子邮件 1 . 将我的用户转移到新版本的最佳
我为我的新应用程序的售前部分列出了九个外部测试人员。当我上传新版本时,我希望能够仅向其中一些测试人员发送邀请,但是单击 Builds 下的“发送邀请”按钮会自动向所有测试人员发送邀请。有谁知道解决这个
我们开始使用 Fastlane用于自动化部署,这是一个非常令人印象深刻的工具集。 但有一个谜团:向 Apple 的 TestFlight 提交 BETA 版本时,如何传入 Demo Account 凭
我已按照 TestFlight 的说明复制“发布”配置。我还使用 TestFlight SDK 从我的应用程序获取实时报告。通过这样做,我必须在我的应用程序中包含一些 TestFlight 代码。当然
这document解释说可以将 TestFlight SDK 保留在 App Store 的生产版本中。 但他们正在谈论的 TestFlight Live 变成了一项名为 FlightPath 的新服
我已提交应用程序进行试飞。当我向该构建添加信息时,出现错误“抱歉,出了点问题”。 ITC.apps.tf.build.test.info.missing.feedback testflight 有人遇
这是我的场景: 我们最近为我们的新应用程序创建了一个 iTunes 应用程序记录,该记录尚未公开。因此,默认情况下,iTunes 会显示状态为“准备提交”的应用程序 (1.0)。 (我假设我们可以在应
我已经在 testflight 上有一个应用程序,版本号为 2.2.1,允许 3 个用户使用。 我现在创建了另一个带有一些细微更改的 IPA,并使用完全相同的版本号将相同的 IPA 上传到 testf
自从 Apple 迁移到他们新的和改进的 TestFlight 网站后,当我将新版本用于测试时,我的内部或外部用户都不会收到推送通知或电子邮件。 这些是以前每个新版本都会收到推送和电子邮件的测试人员。
为什么当我的所有崩溃日志都有一个testflight帐户并且我在测试飞行初始化中设置了uuid时,为什么所有崩溃日志都显示匿名用户? 在我的单例中: #define kTestFlightTest 1
我是一名优秀的程序员,十分优秀!