我正在按照测试中断的应用内购买的步骤进行操作,如 Apple 文档中“测试中断的购买”标题下的概述。我的问题从第 6 步开始,其中指出:
“在您的代码中,观察付款失败。付款队列收到状态为 SKPaymentTransactionState.failed 的更新交易。”
这对我有用,但失败状态会触发我的 UI 显示错误警报,指出付款失败,即使它只是准备显示条款和条件页面。
有没有办法检测事务何时实际失败,而不是暂停以让其他操作发生?我原以为这里的 SKPaymentTransactionState 状态是deferred而不是failed,因为这样可以更容易地进行适当处理。
我正在尝试使用Swift 4 Decodable解析包含两种不同类型对象的数组。数据看起来像这样,其中的included数组是包含Member和ImageMedium对象的数组:
{
"data": [{
"id": "8f7cbbac-c133-4b5e-a2ec-1f32353018fa",
"type": "post",
"title": "Test Post 1",
"owner-id": "8986563c-438c-4d77-8115-9e5de2b6e477",
"owner-type": "member"
}, {
"id": "f6b3c640-a58b-449f-93c7-f6cb7b569a9c",
"type": "post",
"title": "Test Post 2",
"owner-id": "38d845a4-db66-48b9-9c15-d857166e255e",
"owner-type": "member"
}],
"included": [{
"id": "8986563c-438c-4d77-8115-9e5de2b6e477",
"type": "member",
"first-name": "John",
"last-name": "Smith"
}, {
"id": "d7218ca1-de53-4832-bb8f-dbceb6747e98",
"type": "image-medium",
"asset-url": "https://faketest.com/fake-test-1.png",
"owner-id": "f6b3c640-a58b-449f-93c7-f6cb7b569a9c",
"owner-type": "post"
}, {
"id": "c59b8c72-13fc-44fd-8ef9-4b0f8fa486a0",
"type": "image-medium",
"asset-url": "https://faketest.com/fake-test-2.png",
"owner-id": "8f7cbbac-c133-4b5e-a2ec-1f32353018fa",
"owner-type": "post"
}, {
"id": "38d845a4-db66-48b9-9c15-d857166e255e",
"type": "member",
"first-name": …Run Code Online (Sandbox Code Playgroud) 我有一个用于存储图像的iOS应用程序Firebase Storage。上传图像后,我将其保存storage reference在我的Firebase Database. 当应用程序加载时,它storage references从数据库中获取各种信息并使用该FirebaseUI方法显示其相应的图像,如下所示:
let storageRef = Storage.storage().reference(forURL: imageUrl)
imageView.sd_setImage(with: storageRef, placeholderImage: nil)
Run Code Online (Sandbox Code Playgroud)
这很好用……但速度很慢。
在寻找加速解决方案时,Firebase Storage我发现这篇文章暗示使用图像的公共链接,即。它的download url,而不是它的storage reference:https : //stackoverflow.com/a/44362350/5225013
我的理解是,这与在public urls他们面前有一个 CDN 有关,而storage references没有。
在download url可以在用下面的代码应用程序中检索:
let storageRef = Storage.storage().reference(forURL: imageUrl)
storageRef.downloadURL { (downloadUrl, error) in
if let downloadUrl = downloadUrl {
// do something with downloadUrl
}
}
Run Code Online (Sandbox Code Playgroud)
但是,以这种方式获取它对我的目的来说毫无用处,因为在显示图像之前使异步调用需要额外的时间......
我一直在考虑编写一个云函数来将每个图像download …
google-cloud-storage firebase firebase-realtime-database firebaseui firebase-storage
我试图将一个应用程序提交到iTunes Connect上的Apple App Store,但收到此错误消息:
“要将此应用程序配置为iOS路由应用程序,请在iTunes Connect上“我的应用程序”中“应用程序的版本”页面上上传路由应用程序覆盖文件。”
我的应用程序使用MapKit来显示用户所在城市中各种古迹的位置,并提供如何到达古迹的指示。我用Google搜索了此错误,有趣的是,回答该问题的大多数人似乎在说实际上不需要该文件,但是我不确定这是否适用于我的应用程序提供的功能。
我怎么知道我是否真的需要路由覆盖文件?而且,如果我确实需要它,我可以使其覆盖全球吗(即该应用程序应该可以在世界上任何地方运行)?