windows执行程序打包工具
在Windows操作系统中,打包工具可以将一个或多个文件打包成一个可执行文件。这样的文件可以方便地在其他计算机上运行,而无需安装其他软件或库。本文将介绍Windows中常见的打包工具及其原理。一、NSISNSIS(Nullsoft Scriptable Install System)是一个免费的、开...
2023-12-02 围观 : 0次
Flutter 是谷歌推出的一款移动应用跨平台开发框架,可以用一套代码同时应用于 Android 和 iOS 系统,解决了大量的重复开发工作。此文章旨在为初学者提供如何免签打包 Flutter 的教程。请注意,这个免签打包适用于个人开发者在调试和体验阶段,App Store 上架需要满足苹果官方指南要求。下面详细介绍原理和免签打包步骤。
#### 免签打包原理
iOS 应用程序都需要经过数字签名认证处理,苹果设备会检查这个 iOS 应用程序的签名,若出错则不允许安装。一般来说,打包时需要的签名文件:Developing 状态下需要 iOS 开发者证书、描述文件,而发布状态下需要 iOS 企业证书、描述文件。使用免签方式,可以避免申请开发者证书和描述文件,但仅限于个人测试使用。
免签打包的原理是模拟一个 iOS 开发证书、描述文件,将这些文件插入到我们的 Flutter 项目,并使用命令行工具对应用程序进行打包,获取具有自制签名的 ipa 文件供测试。
#### 免签打包步骤
1. 准备工作
在开始免签打包之前,务必确保以下环境已经配置好:
- (1)Flutter 和 Dart 环境;
- (2)Mac设备上的 Xcode;
- (3)联网设备(需安装插件)。
2. 安装插件
为了实现免签打包,需要安装 ios-deploy 插件。请在终端运行如下命令安装:
```shell
brew install ios-deploy
```
3. 进入Flutter项目
终端定位到你的 Flutter 项目目录下,使用 cd 命令进入:
```shell
cd ~/路径/项目名称/
```
4. 获取可安装设备的 UDID
在手机连接电脑的情况下,使用以下命令获取设备 UDID:
```shell
ios-deploy --detect_devices
```
5. 本地生成证书和描述文件
请在终端运行以下命令:
```shell
sudo security create-keychain -p 密码 login.keychain
```
这条命令会创建一个新的钥匙链并设置一个密码。请牢记这个密码。(注:如若已经有该名字的钥匙链,则该命令会报错产生冲突,请将之前钥匙链删除之后重新执行该命令。)
6. 确认证书和描述文件位置
执行如下命令,获取开发者证书和描述文件相对位置:
```shell
ls ~/Library/MobileDevice/Provisioning\ Profiles/
```
此文件夹下会有 provisioning profile(描述文件)。
```shell
ls ~/Library/Keychains/
```
此文件夹下会有.keychain-db 的文件代表证书。
7. 修改 Flutter 项目的模拟器信息并运行
在项目根文件夹下找到 ios 文件夹,并修改 ios/Runner/Info.plist 中的内容,确保最小部署版本符合要求:
```xml
```
确认一切就绪后,运行项目和打包 ipa 文件:
```shell
flutter build ios --no-codesign
```
8. 使用 xcodebuild 执行免签打包
在终端中运行如下命令:
```shell
xcodebuild -workspace Runner.xcworkspace -scheme Runner -configuration Debug -sdk iphoneos -derivedDataPath Build/Products ONLY_ACTIVE_ARCH=YES BUILD_DIR="build" OBJROOT="build/Intermediates.noindex" SYMROOT="build/Products" DOMAIN="cn"IOS_DIST_CODE_SIGN_IDENTITY="iPhone Distribution: " CODE_SIGNING_REQUIRED=NO development域名.plist=center|1024|1024 Build/Products/Debug-iphoneos/Runner.app
```
注意:命令中的 development域名.plist 请替换为实际描述文件的路径。
9. 通过 Xcode 安装 ipa 文件
将生成的 ipa 文件通过 Xcode 安装到设备上进行测试。
至此,免签打包 Flutter 教程已经介绍完毕。经过以上操作,你的 Flutter 应用程序可以在 iOS 设备上运行和测试。但请注意,这款应用仅能供个人测试,不能上架到 App Store。如需发布到 App Store,请按照苹果官方指南操作。如果遇到任何问题,可以查阅 Flutter 官方文档和相关资料进行学习。
在Windows操作系统中,打包工具可以将一个或多个文件打包成一个可执行文件。这样的文件可以方便地在其他计算机上运行,而无需安装其他软件或库。本文将介绍Windows中常见的打包工具及其原理。一、NSISNSIS(Nullsoft Scriptable Install System)是一个免费的、开...
随着移动互联网的不断发展和普及,越来越多的企业和个人开始关注移动应用的开发。然而,市场上存在很多所谓“低价开发”的app开发公司,他们承诺只需几千元就能开发出完整的应用程序,这样的价格的确非常有吸引力。然而,背后的真相是什么呢?首先,一个完整的移动应用程序的深度定制需要耗费大量的时间和人力成本。从应...
IEEE 574是一个国际标准,被广泛应用于无线通信领域。它规定了一种高效的误码纠正算法,可以使无线数据传输更加可靠和高效。在安卓开发中,我们可以利用IEEE 574的原理来实现快速的数据传输和纠错,提高应用程序的稳定性和用户体验。IEEE 574的原理是基于矩阵编码和线性代数理论,采用一种称为BC...
随着移动互联网的迅猛发展,APP已经成为现代人生活中不可或缺的一部分。APP开发的方式主要有以下几种:1. 原生APP开发原生APP是指在特定平台(如iOS或Android)上使用平台提供的开发语言和工具进行开发的APP。原生APP能够提供最佳性能和用户体验,因为它可以直接访问设备硬件,并且可以利用...
Android是由谷歌开发的一种轻量级的移动操作系统,它是基于Linux内核的操作系统,支持多种硬件架构。安卓开发语言主要用于安卓应用程序的开发,一般采用 Java语言、C/C++、Kotlin语言。Java语言Java语言开发安卓App是最常用的一种开发语言。Java语言是一种跨平台的高级面向对象...