2023.11.25更新关于mac开发APP(flutter)的笔记与整理(实机开发一)

news2024/12/26 11:21:29

我自己写的笔记很杂,下面的笔记是我在chatgpt4的帮助下完成的,希望可以帮到正在踩坑mac开发APP(flutter)的小伙伴

目标:通过MAC电脑使用flutter框架开发一款适用于苹果手机的一个APP应用

本博客的阅读顺序是,在了解了具体的环境布置的步骤后,看( 二.亲测参考可用的资料链接) 里面进行详细的mac电脑上的部署,出现问题遇到坑了就可以在本博客里面找找有没有类似的与解决方法。反正我之前网上找的时候就是没有个全乎的,要不是有gpt我都不知道要卡多久,看到这了,还不快点个赞,然后说谢谢博主。
请添加图片描述

在这里插入图片描述

(这里的笔记大概总结下,

1.完成在mac上的flutter的搭建(该部分涉及flutter,dart,Xcode, Android Studio 等环境的搭建,当你成功的在flutter doctor
命令的检测下看到全是绿色的勾勾的时候,你就完成了第一步如下图,最后的网络连接是感叹号可以不管哈,这是我flutter没有配置国内的网站的原因)

在这里插入图片描述
当完成上一步后,如果是flutter的学习就可以先停下了,利用安卓和 苹果的模拟器进行学习了,如果还有想试试将写好的app放到苹果设备(无论是手机还是平板还是mac),这个时候你就需要开始下一步了

2.交钱成为苹果开发者(我之前还以为之后上架APP才需要交钱,苹果你是真的会赚钱啊…),登陆苹果开发者网站,获取开发证书,登记上你要连接测试的实际硬件设备编号。

完成这些后,为了实机测试就可以开始下面的步骤了

3.在你的项目中完成你获得的证书的数据的配置,然后你就可以使用 Vscode或者Android Studio 进行APP或者网页的调试开发了。

以上步骤坑了我一周,希望大家能在这个文档的帮助下比我更快的弄出来,创了个QQ群 701602496,答案是 Python ,大家需要帮助的话加群互帮互助,毕竟我自己本人CSDN看留言很久才看一次。

(能科学上网的小伙伴也可以订阅这个我创建的flutter学习猫娘进行学习,不过poe好像要付费,如果没有领到免费次数的话就不用订阅了哈,别乱花钱。 https://poe.com/miao_miao_Flutter_01)

哦还有个要说的,虽然应该这种情况很少,但是哈,如果有人想开发的APP需要运行在版本很低的苹果系统版本上,那么你的mac版本就不要升到最高级然后按照xcode,不然写出来的APP可能没法适应低版本的硬件。

一.Mac上进行Flutter实体开发所需的准备的总体说明

(默认已经完成了mac上的flutter的环境搭建,没完成的参考下面的 二里面的参考链接)

1. 开发工具和硬件需求

进行实体开发,你需要有以下几个工具和础件:

  1. 苹果开发者账户:你需要一个苹果开发者账户才能进行实体开发。你可以在苹果开发者网站注册一个账户。注意,获取开发者账户可能需要付费。
  2. 开发证书:你需要从苹果开发者网站获取一个开发证书。这个证书将被用来签署你的应用,表明这个应用是由你开发的。
  3. 实体设备:当然了,你需要一个实体设备来进行开发和测试。你需要在苹果开发者网站注册你的设备。

2.获取开发证书和注册设备

  1. 登录苹果开发者网站:使用你的苹果开发者账户登录苹果开发者网站。
  2. 获取开发证书:在开发者网站上,你可以申请一个开发证书。你需要下载这个证书并安装到你的 Mac 上。这个证书将在你进行开发和调试时用来签署你的应用。
  3. 注册设备:你需要在开发者网站上注册你的实体设备。你需要提供设备的 UDID,这是一个唯一的设备识别码。

二.亲测参考可用的资料链接

1.Mac下Flutter环境安装参考

主要就参考这个配置【Flutter】Flutter安装和配置超详细(mac)

安装失败adb参考Mac安装adb环境

adb 是 Android Debug Bridge 的缩写,它是一个命令行工具,允许你与正在运行的 Android 设备或模拟器实例进行通信。你可以使用 adb 来安装和调试 Android 应用程序,以及执行各种设备和应用管理任务。

下面选择性参考,如果你的doctor flutter 检测发现还差哪些就补哪些

  1. 安装 Flutter SDK:你可以从官方网站下载 Flutter SDK。解压并将 Flutter 文件夹放在你的希望的位置。然后,将 Flutter/bin 目录添加到你的环境变量中。
  2. 安装 Dart SDK:Dart SDK 已经包含在 Flutter SDK 中,所以你不需要独立安装。
  3. 安装 Xcode:你可以从 App Store 下载安装 Xcode。Xcode 包含了开发 iOS 应用所需的软件和工具集。
  4. 安装 Android Studio:从官方网站下载并安装 Android Studio。在安装过程中,你可以选择同时安装 Android SDK 和 Android 虚拟设备。或参考 mac电脑安装Android studio

5.android sdk要用 Android Studio还得安装进行 mac 安装配置android sdk

2.成为苹果开发者的参考链接

  • 苹果应用app证书申请创建参考
  • 完成所有配置后实机操控参考 YouTube
  • 苹果开发权限申请

5 苹果应用app参考资料:
参考链接:CSDN教程
参考视频:YouTube教程

  1. 苹果开发权限申请:
    你需要访问Apple Developer Portal进行申请。完成申请付款后,你还会收到邮件用于上传身份证等的验证审核。

  2. 添加设备iPhone 的UDID:(要实机测试就得在买了开发者权限后进行设备登记)
    参考链接:CSDN教程
    设备添加完成后,你可以在Apple Developer Portal中看到结果。

三.flutter环境的常见问题与解决方法

具体的步骤的就不写了,别人的链接里面还是很详细的,只是有些坑记录下

1.flutter 命令没有

  • 环境变量问题:如果你在设置环境变量后无法直接在终端使用 Flutter 命令,你可能需要检查你的环境变量设置。确保 Flutter/bin 目录已经被正确地添加到 PATH 环境变量中。
    如果你在 macOS 上配置 Flutter 环境,你需要设置一些环境变量,包括 Android SDK 的路径以及 Flutter SDK 的路径。以下是如何进行设置的步骤:

提示,android-sdk的变量和设置flutter发布来源为国内用户网站, 需要设置也是按照下面的方法。(gedit是我常用的,没安装的用vim或者vi或者nano打开都可以)(brew install gedit 安装gedit文本编辑模块)

  1. 打开终端。

  2. 输入以下命令打开 .bash_profile 文件(如果你使用的是 zsh,你应该编辑 .zshrc 文件):

    open -e .bash_profile
    

    如果你的系统中没有安装 open 或者你更习惯使用 gedit,你可以使用以下命令:

    gedit .bash_profile
    
  3. 在打开的文件中,添加以下行以设置环境变量:

    export ANDROID_HOME=/opt/homebrew/Caskroom/android-sdk
    export PATH=${PATH}:${ANDROID_HOME}/tools
    export PATH=${PATH}:${ANDROID_HOME}/platform-tools
    export PUB_HOSTED_URL=https://pub.flutter-io.cn #国内用户需要设置
    export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn #国内用户需要设置
    export PATH=/Users/hiro/Desktop/APP/flutter/bin:$PATH
    

    注意:请根据你的实际 Flutter SDK 和 Android SDK 的安装路径来替换上述路径。上述路径仅用作示例。

  4. 保存并关闭 .bash_profile 文件。

  5. 在终端中,运行以下命令以使新的环境变量立即生效:

    source .bash_profile
    
  6. 验证 Flutter 已成功添加到环境变量中,你可以在终端中运行:

    flutter doctor
    

    如果 Flutter 已经正确配置,你应该能看到类似的输出,包括关于你的 Flutter 和 Dart 的版本信息,以及任何可能需要解决的配置问题。

2.若使用Homebrew 的安装出现问题的解决方案(谨慎使用)

Homebrew 是一款免费和开源的软件包管理系统,专门为 macOS 操作系统(虽然也存在 Linux 和 Windows 上的版本)设计,用于自动化安装、更新和卸载软件。它简化了在 macOS 上安装各种软件的过程,特别是那些不包含在 Apple App Store 中的软件。

因为转flutter的有些组件可能要用上 Homebrew 来进行安装,但是mac下Homebrew由出错了,就可以参考这里的做法。

这是一个基础的故障排除步骤,用于解决安装 Homebrew 时出现的问题。以下是如何完全卸载并重新安装 Homebrew 的步骤:

首先,打开你的终端,然后输入以下命令来卸载 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

这个命令会从 Homebrew 的 GitHub 存储库下载并运行 uninstall 脚本。

一旦完成卸载,你可以通过以下命令重新安装 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

这个命令会从 Homebrew 的 GitHub 存储库下载并运行 install 脚本,从而重新安装 Homebrew。

请确保在你的终端中精确复制和粘贴上述命令,避免任何输入错误。

3.doctor flutter 报错之[✗] Android toolchain

[✗] Android toolchain - develop for Android devices ✗ Unable to locate Android SDK. Mac终端配置报错问题解决

4.cocoapods安装失败解决

参考链接
安装完成后可通过下面命令,验证是否成功
pod --version

成功看到版本号说明,cocoapods安装成功,但是依然出现下面错误的话,可能是下面原因

[!] Xcode - develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS and macOS
development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch

错误信息提示 Xcode 的安装是不完整的,这可能是因为你没有安装 Xcode,或者没有将它设置为当前的命令行工具。你可以按照以下步骤来解决这个问题:

  1. 首先,你需要确保你已经从 Mac App Store 安装了最新版本的 Xcode。你也可以从 Apple Developer 网站下载和安装 Xcode:https://developer.apple.com/xcode/download/

  2. 安装 Xcode 后,你需要打开它并同意用户许可协议。这一步是很重要的,因为在你同意许可协议之前,Xcode 的命令行工具是不可用的。

  3. 然后,你需要将 Xcode 的命令行工具设置为当前使用的工具。你可以使用以下命令来进行设置:

    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    
  4. 最后,你需要让 Xcode 运行一次首次启动的初始化过程。你可以使用以下命令来进行这个操作:

    sudo xcodebuild -runFirstLaunch
    

完成以上步骤后,你应该可以成功地使用 Xcode 和 CocoaPods 来进行 iOS 和 macOS 开发了。你可以再次运行 flutter doctor 来检查你的环境是否已经配置正确。
还有下面错误的话

[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    ✗ Unable to get list of installed Simulator runtimes.
---------------------

这个问题可能是因为你的 Flutter 环境无法获取已安装的 iOS 模拟器运行时列表。你可以尝试以下步骤修复这个问题:
大概率你没有安装模拟器

  1. 打开 Xcode,在顶部菜单栏选择 “Window” -> “Devices and Simulators”。

  2. 在打开的窗口中,选择 “Simulators” 标签。

  3. 在左下角,点击 “+” 图标来创建一个新的模拟器。

  4. 在弹出的对话框中,你可以选择你想要的设备类型(如 iPhone 12)和 iOS 版本。然后给模拟器取一个名称,最后点击 “Create”。

创建完成后,你应该能在 “Devices and Simulators” 窗口的 “Simulators” 列表中看到你新创建的模拟器。

然后,你可以再次运行 flutter doctor 来看看问题是否已经解决。如果还有问题,那可能是其他的配置问题,你可能需要进一步检查你的 Flutter 和 Xcode 环境。

如果显示 Could not create pp, unknown runtime.
此错误通常发生在尝试创建模拟器时,如果选择的 iOS 运行时版本尚未在你的 Xcode 中安装。你可以按照以下步骤来解决:

打开 Xcode,在顶部菜单栏选择 “Xcode” -> “Preferences”。

在弹出的窗口中,选择 “Components” 标签。

在这里,你将看到一个列表,其中包括各种 iOS 模拟器运行时。查找你尝试创建的模拟器所对应的 iOS 版本,如果它旁边的方框为空,那意味着这个运行时尚未安装。点击这个方框来下载并安装运行时。

下载和安装完成后,你应该可以成功地创建一个新的模拟器,使用你刚刚安装的 iOS 运行时版本。

如果你仍然遇到问题,可能是因为你的系统或 Xcode 版本太旧,不支持你想要的 iOS 运行时。在这种情况下,你可以尝试更新你的 macOS 和 Xcode,或者选择一个较旧的 iOS 运行时来创建模拟器。


5. ruby的版本不对应flutter

遇到的一个问题是 flutter需要ruby的版本为2.7.4以上,而mac自带的又只有2.6,所以下面这一步在 flutter doctor
下 就是要失败,因为版本原因安装不上 cocoapods 导致的

[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    ✗ Unable to get list of installed Simulator runtimes.
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

1.手动安装 Ruby 3.0.6

因为用rbenv安装源失败了,这里写下该如何手动安装rbenv

比如我这里手动下载了 ruby-3.0.6.tar.gz 安装包
ruby-3.0.6.tar.gz 零积分下载
如果你在使用 rbenv 安装 Ruby 源时遇到问题,你可以考虑手动安装 Ruby。下面是在 macOS 上手动安装 Ruby 并将其链接到正确的 OpenSSL 库的步骤:

  1. 安装必要的工具和库

    安装 Xcode 和 Command Line Tools:

    xcode-select --install
    

    检查是否安装了 Xcode 和 Command Line Tools,可以运行 xcode-select -pgcc --version

  2. 解压 Ruby 源代码

    进入存放 ruby-3.0.6.tar.gz 的目录,执行以下命令:

    tar xzf ruby-3.0.6.tar.gz
    

    这将创建一个名为 ruby-3.0.6 的目录。

  3. 获取 OpenSSL 的路径

    执行以下命令:

    brew --prefix openssl
    

    这个命令将输出类似 /usr/local/opt/openssl 的结果。

  4. 编译和安装 Ruby

    进入 ruby-3.0.6 目录,执行以下命令:

    cd ruby-3.0.6
    ./configure --with-openssl-dir=/opt/homebrew/opt/openssl@3
    make
    sudo make install
    

    这些命令将编译并安装 Ruby。如果在编译过程中出现权限问题,可以尝试使用 sudo make

  5. 安装完成后的验证

    安装完成后,运行 ruby -v。如果还是显示的是老版本的 Ruby,运行以下命令:

    export PATH="/usr/local/bin:$PATH"
    

    这是因为系统可能仍然指向旧版本的 Ruby,这可能是由于 $PATH 环境变量的设置问题。可以通过修改 $PATH 的顺序来优先使用新安装的 Ruby。

  6. 可能的问题

    如果你在运行 ruby -v 后仍然看到旧版本的 Ruby,那么可能是系统仍然指向了旧版本的 Ruby。这可能是因为 $PATH 环境变量的设置问题。你可以通过查看 $PATH 的内容(通过 echo $PATH 命令)并修改其顺序来解决这个问题。

    如果你经常需要切换 Ruby 版本,或者在不同的项目中使用不同的 Ruby 版本,你可以考虑使用 Ruby 版本管理器,如 rbenvrvm

通过以上步骤,你应该能成功安装并使用 Ruby 3.0.6 版本。
如下显示你的ruby就成功了:

(base) hiro@HirodeAir ~ % echo $PATH
/usr/local/sbin:/usr/local/bin:/Users/hiro/Desktop/APP/flutter/bin:/usr/local/sbin:/usr/local/bin:/Users/hiro/mambaforge/bin:/Users/hiro/mambaforge/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Applications/VMware Fusion Tech Preview.app/Contents/Public:/opt/homebrew/Caskroom/android-sdk/4333796/tools:/opt/homebrew/Caskroom/android-sdk/4333796/platform-tools
(base) hiro@HirodeAir ~ % export PATH="/usr/local/bin:$PATH"
(base) hiro@HirodeAir ~ % ruby --version                    
ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [arm64-darwin23]
(base) hiro@HirodeAir ~ % 

2.另一种安装 Ruby 的方式:使用 RVM

Ruby Version Manager (RVM) 是一种命令行工具,可以用于管理和切换 Ruby 版本。此外,它也可以用于安装 OpenSSL。

1.安装 RVM

首先,我们需要在终端中运行以下命令以安装 RVM:

\curl -sSL https://get.rvm.io | bash -s stable

安装完成后,需要关闭并重新打开终端,或者运行以下命令来使 RVM 生效:

source ~/.rvm/scripts/rvm

2.使用 RVM 安装 Ruby 和 OpenSSL

安装好 RVM 后,你可以使用 RVM 来安装所需的 Ruby 版本以及对应的 OpenSSL。运行以下命令:

rvm install 3.0.6 --with-openssl-dir=/opt/homebrew/opt/openssl@3

在安装过程中,可能会提示输入密码,这是因为 RVM 需要 sudo 权限来安装 Ruby 和 OpenSSL。

  1. 检查安装

安装完成后,可以使用以下命令来检查 Ruby 和 OpenSSL 是否正确安装:

ruby -v
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_LIBRARY_VERSION'

第一个命令应返回刚安装的 Ruby 版本,第二个命令应返回 OpenSSL 的版本。

现在,你应该可以使用 gem 命令来安装 cocoapods 了:

gem install cocoapods

至此,通过 RVM 安装 Ruby 和 OpenSSL 的过程已经完成。

四.苹果开发者的常见问题与笔记

1.云端网页完成设备添加后创建证书图示记录

1.1设备添加(UDID添加)

参考ios : Provision Profile 添加设备 device的 udid

官网:苹果开发者设备添加页面

1.2创建证书

官网 : 苹果开发者证书创建页面

在这里插入图片描述
根据我的开发流程阶段选择对应的证书生成我正在开发 Flutter 应用程序,并且目的是在 iPhone 设备上进行实机测试,所以我应该选择 “iOS App Development” 类型的 Provisioning Profile。

iOS App Development:创建一个Provisioning Profile以在 iOS,iPadOS,watchOS 和 tvOS 测试设备上安装开发应用。

以下是选择此选项的原因:

设备测试:这个选项使您能够在实际的设备上进行应用测试,这对于捕获某些只能在真实设备上复现的问题是必要的。

开发阶段:在开发阶段,您通常不需要将应用分发给大量用户或提交到 App Store。“iOS App Development” 类型的
Provisioning Profile 正是为此设计的。

支持 Flutter:使用 “iOS App Development” 类型的 Provisioning Profile,您可以构建并安装
Flutter 应用到 iOS 设备上进行测试和开发。

而但我准备将应用提交到 App Store 时,我需要创建并使用一个 “App Store” 类型的 Provisioning
Profile。
在这里插入图片描述

下一步我们选择一个程序id(App ID 是一个唯一的标识符,它关联着你的应用和你的开发者账户。每个 iOS 应用都需要一个 App ID 来使用特定的服务(如推送通知、In-App Purchase等)并且在设备上安装。)

登录到 Apple Developer Portal。
在 “Certificates, Identifiers & Profiles” 部分,选择 “Identifiers”。
点击 “+” 按钮来创建一个新的 App ID。输入你的应用的 Bundle Identifier 和其他相关信息。在这里插入图片描述
在这里插入图片描述
下载完成后使用取消自动安装,使用手动安装证书的方法进行,主要这里填写的Bundle Identifier (反向域名构成的唯一标识符,用于在 iOS 和 macOS 系统中识别应用) 是你创建证书时对应的,比如xxxxaaa.com.ppdsa.dd 就是你的 Bundle Identifier。这个标识符由两部分组成:

xxxxaaa这一部分是你的 Team ID,这是一个由 Apple 自动生成的唯一标识符,用来标识你的开发团队。

com.ppdsa.dd 这一部分是你为你的应用指定的标识符。按照通常的规则,它应该是你的公司网站的反向域名,后面跟上你的应用名。
而在Xcode中如下图你应该填写的是om.ppdsa.dd ,不要全填写进去了.

2.Xcode配置证书图示

在这里插入图片描述完成后点击感叹号,看到include你的设备不为0的时候,就说明证书成功了
在这里插入图片描述
在这里插入图片描述

3.验证是否安装成功了开发证书的一个方法

根据以下步骤在 Xcode 中检查:

  1. 打开 Xcode
  2. 选择 “Xcode” 菜单 -> “Preferences”
  3. 在 “Preferences” 窗口中,选择 “Accounts” 选项卡
  4. 选中你的 Apple ID,然后点击 “Manage Certificates…”
  5. 在弹出的窗口中,你应该可以看到一个类型为 “iOS Development” 的证书。这个证书应该包含你的名字和一个有效的到期日期。

在钥匙串访问(Keychain Access)应用中检查:

  1. 打开 “钥匙串访问”(在 Finder 中,选择 “Applications” -> “Utilities” -> “Keychain Access”)
  2. 在 “钥匙串” 列表中,选择 “登录”,然后在 “类别” 列表中,选择 “证书”
  3. 在证书列表中,查找一个名字为 “iPhone Developer: Your Name (XXXXXXXXXX)” 的证书,其中 “Your Name” 是你的名字,“XXXXXXXXXX” 是你的 Team ID。这个证书应该有一个有效的到期日期,并且没有任何错误或警告。

如果你在 Xcode 和钥匙串访问(Keychain Access)应用中都能看到你的开发证书,那么你应该已经成功创建并安装了证书。

完成证书安装后对Android Studio 的设置
对于 Flutter 项目的 iOS 平台开发设置,主要是指在 Xcode 中配置项目的一些基本信息,这些信息主要包括 Bundle Identifier、版本号、开发团队等。以下是具体步骤:

  1. 打开项目的 iOS 配置:在你的 Flutter 项目目录中,你会看到一个名为 ios 的文件夹。在这个文件夹中,有一个名为 Runner.xcworkspace 的文件。双击这个文件,会在 Xcode 中打开你的 Flutter 项目的 iOS 配置。在这里插入图片描述

  2. 设置 Bundle Identifier:在 Xcode 中,选择 “Runner” 项目,在 “General” 选项卡中的 “Identity” 部分,你可以设置你的应用的 “Bundle Identifier”。这个标识符是你的应用在 App Store 和你的设备上的唯一标识。

3.设置开发团队:在 “General” 选项卡中的 “Signing & Capabilities” 部分,你可以选择你的开发团队。如果你已经加入了 Apple Developer Program 并且已经在 Xcode 中添加了你的 Apple ID,你应该可以在这里看到你的开发团队。选择你的开发团队,Xcode 将自动为你的应用创建并管理证书和签名。在这里插入图片描述
4. 设置版本号:在 “General” 选项卡中的 “Identity” 部分,你可以设置你的应用的 “Version” 和 “Build”。每次你发布你的应用时,你都应该增加这些版本号。

  1. 保存并关闭 Xcode:完成以上配置后,保存你的配置(选择 “File” 菜单 -> “Save”),然后关闭 Xcode。

现在,你的 Flutter 项目应该已经完成了 iOS 平台的开发设置。你可以回到 Android Studio,然后尝试运行你的应用看看是否可以成功安装到你的 iPhone 上。

4.完成环境证书配置后的项目mac项目创建

还是参考这里面的项目配置参考

我在mac上是使用的Android Studio 进行的flutter项目的开发,下面我截一些图,可以参考一些在所以环境与证书完成后的一些设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在连接数据线连接上硬件(苹果手机后)
可以在 Xcode下的Windows的 Device and Simulators 选项中看到连接上的硬件

在这里插入图片描述
在这里插入图片描述
在Android Studio中也可以看到下面的输出,说明程序成功的写入了选择的硬件设备中
在这里插入图片描述
这时如果你的程序是有页面的,就可以在硬件设备,我这里就是个苹果手机上,看到实际APP的对应画面

在这里插入图片描述

五.其他补充

Xcode下勾选这个地方,如果mac和你要调试的硬件在一个局域网内就可以通过WiFi进行调试链接,不用插数据线了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1250807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年06月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 点击绿旗,舞台上的角色会说出? A:2022年5月1日 B:1日5月2022年 C:2022年05月01日 D:05月01日2022年 答案:C 输出为:2022年05月01日。 第2题 观察规律,请问橙色方块应填…

小程序项目:node+vue基于微信小程序的校园盲盒小程序的设计与实现

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时…

frp V0.52.3 搭建

下载 https://github.com/fatedier/frp/releases/ 此版本暂时没有windows的,想在windows使用请下载v0.52.2 简易搭建 frps.toml的配置文件,以下12000、8500需要在云服务器中的防火墙中开放tcp # bindPort为frps和frpc通信的端口,需要在防…

QT已有项目导入工程时注意事项

文章目录 从qt其他版本上开发的工程导入另一qt版本时 从qt其他版本上开发的工程导入另一qt版本时 这里以之前在qt5.12.2上开发的项目为例,现在到在qt6.5.3上运行。 不能直接导入IDE上,否则会报各种莫名奇妙的错误。 首先要把扩展名位.pro.user文件 删掉…

电子学会C/C++编程等级考试2021年03月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:石头剪刀布 石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。 一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头…

[JVM] 京东一面~说一下Java 类加载过程

系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 通过全限定名来加载生成 class 对象到内存中,然后进行验证这个 class 文件,包括文件格式校验、元数据验证&#xf…

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步?

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步? 文章目录 【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步?一、简介软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步1 安…

AssembleRH850.dll未能加载或找不到

AssembleRH850.dll未能加载或找不到 省流解决方案 省流 经过卸了反复重装、杀毒、系统dll修复,百般折腾,是这一堆东西在搞鬼。解决方案 下载DirectX修复工具(增强版),专门修复上述的C问题。

微信小程序 基于Android的共享付费自习室座位选座系统uniAPP

题目: 基于Android的共享自习室APP设计与实现 (学校要求:数据库不少于有逻辑关系的20个表,系统功能不少于60个功能点) 技术: 功能: 1. 用户端: 一、首页: (1&…

群晖(Synology)NAS 存储池修复需要的时间

群晖(Synology)NAS 存储池的处理可以说是非常耗时的。 根据官方文档的说明和算法: 一个 10TB 的存储池修复将会差不多 24 个小时。 如果你更换硬盘后对存储池进行处理的话,通常需要等上个几天时间吧。 群晖(Synology…

XShell新建会话指南

XShell新建会话 我们先登录我们的xshell,连接我们的远程服务器 为了方便我们以后的使用,我们可以新建一个会话记住用户 新建好后,我们可以打开这个会话 我们选择记住用户名 然后继续输密码就可以了 之后我们每次打开xshell的时候&#xff0c…

在mathtype输入花体,如L,I, K等

在mathtype输入“\mathcal{L}"就OK了 \mathcal{K} \mathcal{I}

webrtc AEC 线性滤波 PBFDAF(均匀分块频域自适应滤波)介绍

计算一个脉冲响应和输入信号的卷积,除了使用原始的时域卷积以外,还有如下方法: FFT卷积的方法:对输入信号(长度M)和脉冲响应(长度N)分别补零到K(K>MN-1),…

YOLOv8改进 | 2023 | FocusedLinearAttention实现有效涨点

论文地址:官方论文地址 代码地址:官方代码地址 一、本文介绍 本文给大家带来的改进机制是Focused Linear Attention(聚焦线性注意力)是一种用于视觉Transformer模型的注意力机制(但是其也可以用在我们的YOLO系列当中从而提高检测…

网络和Linux网络_5(应用层)HTTP协议(方法+报头+状态码)

目录 1. HTTP协议介绍 1.1 URL介绍 1.2 urlencode和urldecode 1.3 HTTP协议格式 1.4 HTTP的方法和报头和状态码 2. 代码验证HTTP协议格式 HttpServer.hpp 2.2 html正式测试 Util.hpp index.html 2.3 再看HTTP方法和报头和状态码 2.3.1 方法_GET和POST等 2.3.2 报头…

Tabular特征选择基准

学术实验中的表格基准通常是一小组精心选择的特征。相比之下,工业界数据科学家通常会收集尽可能多的特征到他们的数据集中,甚至从现有的特征中设计新的特征。为了防止在后续的下游建模中过拟合,数据科学家通常使用自动特征选择方法来获得特征子集。Tabular特征选择的现有基准…

Google hacking语法

Google hacking语法 文章目录 Google hacking语法site:inurl:intitle:filetypecacheintext注意 site: 搜索子域 跟域名site:www.baidu.com 定位 跟语言 site: jp inurl: 用于在特定url链接中搜索网站信息 inurl:login intitle: 使用intitle:指令返回页面标题中包含关键…

【实战】K8S Helm部署Redis Cluster Redisinsight

文章目录 前言部署Redis Cluster安装Redis Insight写在最后 前言 在Web服务的开发过程中,Redis一直以来都有着举足轻重的作用。基本上所有的后端服务都会用这个中间件实现具体的业务场景,比如常作为系统缓存、分布式锁,也可以实现排名、定位…

vivado产生报告阅读分析21

其他命令选项 • -of_objects <suggestion objects> &#xff1a; 启用特定建议的报告。在此模式下运行时 &#xff0c; report_qor_suggestions 不会生成新建议。此命令可快速执行 &#xff0c; 读取 RQS 文件后 &#xff0c; 此命令可用于查看其中包 含的建议。其…

从零开始学习管道:进程通信的概念,特点和示例

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容通过进程通信的概念&#xff0c;引入管道&#xff0c;实…