问题标签 [on-demand-resources]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - 以编程方式添加 ODR 资源
我正在将文件列表作为 ODR 资源添加到我的 Xcode 项目中。当我创建新文件时,我必须再次将它们添加为带有 ODR 资源标签的 ODR 资源。我非常频繁地获取新文件,我一次又一次地添加它。有没有办法自动添加 ODR 资源?
ios - 是否需要请求 iOS 按需资源的预取标签?
根据 Apple关于Prefetched On-Demand标签的文档:
安装应用程序后,资源开始下载。标签将按照它们在 Prefetched 标签顺序组中列出的顺序下载。
使用预取标签指定的资产是否需要通过beginAccessingResources
on明确请求NSBundleResourceRequest
(就像常规的仅按需下载标签一样),还是应该像文档建议的那样在没有任何明确代码的情况下自动下载?
我已经用预取标签标记了几个资产,但我没有看到它们在调试版本中自动下载,但如果我明确要求它们,它们将被下载。(我还没有在 TestFlight 上测试过。)
ios - 按需资源 (ODR) 已完成/已下载标签的总文件大小
我正在通过 ODR 下载 zip 存档并希望向用户显示进度和已完成/总文件大小(如“3/10MB 已下载”)使用 KVO 我设法观察了相关Progress对象的fractionCompleted属性,所以我'能够显示一个进度条。
代码如下所示:
现在,为了显示以字节为单位的已完成/总文件大小,我尝试访问completedUnitCount和totalUnitCount,它们的值恰好总是 1(意思是 1 个文件?)。
如何获得completedUnitCount和totalUnitCount的正确值?
ios - 找不到嵌入在应用程序包中的按需资源
我在下载后使用URLForResource来查找按需资源,它目前可以正常工作。
由于 Apple 在审核期间无法下载 ODR 的一些问题,我现在必须暂时将我的 On-Demand Resources AssetPacks 嵌入到 App Bundle 中,将 XCode 中的“Embed Asset Packs In Product Bundle”从 false 更改为 true。
问题是,当我使用相同的 URLForResource 方法后,它现在返回 null。
由于它们成为产品包的一部分,我不应该以这种方式找到它们吗?
更新: 来自非 iOS 开发人员的一些(丑陋的)工作代码在 Cordova 插件上工作.. :)
amazon-web-services - Amazon EC2-按需实例和现货实例之间的区别是什么,除了定价该现货比按需便宜
我想区分现场实例和按需实例。我知道这两者之间存在价格差异,但除此之外我想知道差异。请帮我
ios - 使用按需资源自动上传 iOS AppStore
将 iOS 构建自动上传到使用按需资源的 AppStoreConnect 的正确方法是什么?我尝试过的工具/解决方案是App Center
和xcrun
cli,它只允许上传*.ipa
.
我的理解是 ODR 资源不会包含在 中,ipa
因为它应该包含除 Resources used as 之外的所有内容Download on Demand
。没有ASSET_PACK_MANIFEST_URL_PREFIX
设置,因为我想使用 Apple 的托管解决方案(如果通过 Xcode 手动完成上传,则会发生这种情况)。EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE
设置为YES
会将 ODR 嵌入到其中,ipa
但这会增加其大小,我“假设”然后导致我们最初Download on Demand
在生产设置(TestFlight/AppStore)中通过应用下载由用户下载的资产。
sql - BigQuery-如何为我的查询使用槽
我正在尝试使用插槽来运行我的查询,所以我要求 BigQuery 在我的请求获得批准后增加我的配额(5 天!)我按下“购买插槽”并选择 400(我有 500 个可用),我认为足以确保我的查询将在这 400 个插槽上运行,而不是在“按需无服务器”方法上运行。不幸的是,第二天我收到了我的查询账单,我看到他们向我收取了“按需”收费方式的费用。我尝试使用 BigQuery 聊天支持来了解如何使用这 400 个插槽并保证我的查询将在这些插槽上运行,但我没有得到任何有用的答案!
有人知道如何使用这些插槽来运行我的查询吗?我做错了什么?谢谢,
ios - NSBundle PathsForResources 在下载按需资源包后返回 null
我的团队在使用 Apple 的按需资源框架时遇到了一个非常奇怪的问题。这是一个随机发生的问题,用户将成功下载我们的资源之一,但是当我们尝试通过 NSBundle.PathsForResources() 访问该资源的路径时,它不会出现。当用户使用特定资源标签进入此状态时,我们还没有找到解决问题的方法。每次访问应用程序的这一部分时,我们的代码都会尝试重新获取受影响的资源标签,因此这不是不重新获取的问题,我们肯定会获取并成功下载。奇怪的是,卸载应用程序并重新安装甚至无法修复这种损坏状态。人们会假设在 iOS 上删除应用程序和重新安装之间没有任何转移,但这里似乎并非如此。此外,这发生在看似随机的资产上,没有影响某些按需资源包的模式,在所有情况下都不同。一旦资源标签被“变砖”,它就会保持这种状态。有什么想法可能导致此问题/我们可以尝试解决什么问题?
下载代码:
swift - “按需资源”下载进度指示器
我有一个 SwiftUI 项目,我在其中使用 Apple 的按需资源(ODR)。
我想显示一个进度条,指示资源的下载进度。
我试过的:
以下代码请求 ODR 资源,将其存储NSBundleResourceRequest
在静态属性中,以便在其他地方可用:
然后我UIViewRepresentable
用来连接一个UIProgressView
,将视图的observedProgress
属性设置为上述静态请求对象的progress
属性:
根据文档,设置observedProgress
属性应该会导致进度值自动更改:
设置此属性后,进度视图会使用从 Progress 对象接收到的信息自动更新其进度值。
最后,我ProgressBar
在 SwiftUI 视图中使用我的,如下所示:
结果:
进度条从不显示任何进度;它只是一个空白栏。
问题:
为什么我不ProgressBar
显示 ODR 下载进度?我究竟做错了什么?这是这样做的方法,还是有更简单的方法?
谢谢!