禁止 iOS 自动下载更新和提示的方法


Apple 的设备都会自动更新自身的固件,在你的设备能联网的时候,在后台偷偷下载。虽然你可以用“NoOTA Badge”之类的 Cydia 插件来禁止在 “设置” 程序上显示一个数字“1”的标,但,实际上,固件依然被偷偷下载到你的 Apple 设备上了,占用了你的硬盘空间(1.5G 左右),只是没提示你更新罢了。所以,这类方法只治标不治本。要从根本上杜绝这种偷偷摸摸下载占用带宽占用设备空间的行为,有如下两种方法:


1、利用 etc/host 文件屏蔽 Apple 更新服务器

用电脑 iTools 或者手机 iFile 打开 etc/host 文件,添加:

127.0.0.1 mesu.apple.com
到文件中。


2、修改 LaunchDaemons 的 OTA 配置文件

用 iFile 或者 iTools 等文件管理器 改名(建议)或删除(不建议)

/System/Library/LaunchDaemons

下的

egcom.apple.mobile.softwareupdated.plist -- OTA升级,不需要自动更新系统功能的,可安全改名或删除.
com.apple.OTATaskingAgent.plist -- 通知系统进行ota升级,不需要OTA自动更新的,可安全改名或删除.
com.apple.softwareupdateservicesd.plist -- OTA升级服务,不需要OTA自动更新的,可安全改名或删除.

把需要的服务 加个后缀即可。改名或者删除后记得必须重启!

另:附上另外三条相关的处理方案:

1、清除掉通用以及软件更新右侧的数字1的办法
进入

System/Library/CoreServices
文件夹,找到 SystemVersion.plist,拷贝到电脑里,

将 ProductBuildVersion 的数值改为10B329,版本号 改为 6.1.3,再把在电脑上修改好的文件拷贝到手机里覆盖原来文件,然后重启手机。

或者使用 BadgeClear 这个 Cydia 插件。


2、删除已经下载到设备的升级包

删除已经在

/var/mobile/Library/Assets/com_apple_MobileAsset_SoftwareUpdate
目录下的OTA下载临时固件包


3、其它防止自动更新的方法

可采用 ”No Update“ 这个 Cydia 插件,不过本人未尝试




注:本文参考:

1、http://hi.baidu.com/panjiashiwo/item/a1c81115666d9908e75c3627

2、http://www.xici.net/d165516751.htm



### 防止 iframe 中的内容触发自动下载 为了防止 `iframe` 内的内容在 H5 移动端浏览器中触发自动下载行为,可以采取以下几种策略: #### 1. 设置 MIME 类型 服务器返回 PDF 文件时应设置正确的 MIME 类型。对于 PDF 文件,MIME 类型应该是 `application/pdf`。这可以通过配置服务器来实现。 ```http Content-Type: application/pdf ``` 如果 MIME 类型不正确,某些浏览器可能会尝试将其作为可下载文件处理而不是直接显示[^1]。 #### 2. 使用 Content-Disposition 头部 另一个重要的 HTTP 响应头部是 `Content-Disposition`。这个头部用于指示浏览器如何处理响应体中的数据——是在当前页面展示还是另存为附件。 要让浏览器在新窗口或标签页中打开 PDF 而不是立即下载,应该将 `Content-Disposition` 设定为 `inline`: ```http Content-Disposition: inline; filename="example.pdf" ``` 相反,如果是希望强制下载,则设定为 `attachment`: ```http Content-Disposition: attachment; filename="example.pdf" ``` 确保服务器针对不同场景返回合适的 `Content-Disposition` 值[^4]。 #### 3. 控制 iframe 的加载方式 为了避免不必要的下载操作,在初始化 `iframe` 之前先判断目标 URL 是否指向的是一个可以直接渲染的资源(如 PDF)。如果不是,则考虑其他替代方案,比如使用第三方库(例如 PDF.js)来进行在线预览而不依赖于原生插件或默认行为[^2]。 另外,也可以动态创建并移除隐藏的 `iframe` 来发起请求而不会影响用户体验。这种方法适用于需要后台执行的任务,但不适合用来阻止已存在的 `iframe` 自动下载问题。 #### 4. 浏览器兼容性调整 由于 iOS Safari 存在一个特定的问题,即它会在保存文件名后面附加 `.html` 后缀,从而破坏实际文件格式。解决这个问题的方法之一是对这些平台做特殊处理,确保最终生成的链接能够被正确解析识别。 例如,可以在服务端根据 User-Agent 判断客户端设备类型,并相应地修改文件扩展名或其他参数以适应不同的浏览器特性。 ### 示例代码 下面是一个简单的例子展示了如何通过 JavaScript 动态控制 `iframe` 加载过程以及设置必要的属性: ```javascript function loadPdfInIframe(pdfUrl) { const iframe = document.querySelector('.iframe_box'); fetch('/check-pdf-url', { method: 'POST', body: JSON.stringify({ url: pdfUrl }) }) .then(response => response.json()) .then(data => { if (data.canInlineDisplay) { // 如果支持内联显示则正常加载PDF iframe.src = data.url; } else { // 否则采用备用方案,如弹窗提示用户点击按钮手动查看 alert('请点击下方按钮以安全的方式浏览文档:'); // 或者调用API获取Base64编码后的PDF内容并通过canvas等方式呈现... } }); } ``` 此函数首先向后端发送请求验证给定URL是否适合直接嵌入到网页中;如果不合适,则提供一种更稳妥的方式来让用户访问该文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值