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

我自己写的笔记很杂,下面的笔记是我在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进行调试链接,不用插数据线了

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

brat文本标注工具——安装

目录 一、Linux系统安装 1. centOS系统 2. Ubuntu系统 3. macOS系统 4.说明 二、Google Chrome安装 1. 打开命令行,切换到管理者权限 2. 安装依赖 3. 下载Google浏览器的安装包 4. 安装Google Chrome 三、yum更新 四、Apache安装 安装Apache 启动Apac…

CPU、GPU、TPU内存子系统架构

文章目录 CPU、GPU、TPU内存子系统架构概要CPUGPUTPU共同点和差异: CPU、GPU、TPU内存子系统架构 概要 Memory Subsystem Architecture,图源自TVM CPU CPU(中央处理器)的内存子系统:隐式管理 主内存(…

BUUCTF [SWPU2019]伟大的侦探 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 下载附件,解压提示需要密码,但解压出一个密码.txt文件。 密文: 解题思路: 1、打开密码.txt文件,提示如下。 压缩包密码:摂m墷m卪倕ⅲm仈Z 呜呜呜…

Oracle的安装及使用流程

Oracle的安装及使用流程 1.Win10安装Oracle10g 1.1 安装与测试 安装版本: OracleXEUniv10.2.1015.exe 步骤参考:oracleXe下载与安装 安装完成后测试是否正常 # 输入命令连接oracle conn sys as sysdba; # 无密码,直接按回车 # 测试连接的s…

运维高级--centos7源码安装Apache

安装必要的依赖项: sudo yum groupinstall "Development Tools" sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel这将安装编译和构建所需的基本工具,以及 Apache HTTP Server 所需的一些依赖项。 下载 Apache HTT…

【GPT-3.5】通过python调用ChatGPT API与ChatGPT对话交流

文章目录 一、引言二、AIGC简介三、OpenAI介绍四、GPT-3.5介绍五、获得OpenAI API Key六、调用ChatGPT API实现与ChatGPT对话七、参考链接 一、引言 ChatGPT 的火爆,成功带火了AIGC,让它进入大众的视野。 ChatGPT 和Whisper API 开发者现在可以通过API将…

ctfshow刷题web入门--1--ljcsd

文章目录 ctf.show。信息搜集web1web2web3web4web5web6web7web8web9web10web11web12web13web14web15web16web17web18web19web20。爆破。知识1.1 播种随机数生成器-mt_srand。参考web21--重点web22--做不出来web23web24web25web26web27web28。。。命令执行。知识1 绕过正则表达式…

SQL sever2008中的游标

目录 一、游标概述 二、游标的实现 三、优缺点 3.1优点: 3.2缺点: 四、游标类型 4.1静态游标 4.2动态游标 4.3只进游标 4.4键集驱动游标 4.5显示游标: 4.6隐式游标 五、游标基本操作 5.1声明游标 5.1.1.IS0标准语法 5.1.1.1语…

在 Go 中使用 Protocol Buffers

各位准备好了吗!这一次,我们将深入探讨 Protocol Buffers(protobuf)及其在数据序列化中的超能力所在。 介绍 Protocol Buffers,也被称为 protobuf,是由谷歌开发的一种语言无关的二进制序列化格式。其主要…

1.前端--基本概念【2023.11.25】

1.网站与网页 网站是网页集合。 网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。 2.Web的构成 主要包括结构(Structure) 、表现(Presentation)和行为(Behavior&#xff…

cmake install接口常用方式介绍

cmake install接口常用方式介绍 1 Synopsis2 Introduction2.1 DESTINATION <dir>2.2 PERMISSIONS <permission>...2.3 CONFIGURATIONS <config>...2.4 COMPONENT <component>2.5 EXCLUDE_FROM_ALL2.6 RENAME <name>2.7 OPTIONAL 3 Signatures4 E…

Three.js 3D模型爆炸分解

你是否曾想展示一些很酷的发动机的 3D 模型? 这是一种可行的方法,使用一些非常基本的数学:一个简单的分解视图。 为此,我们将使用 React-Three-Fiber,但它可以与原生 Three.js 配合使用(它与 r3f 生态系统没有深度绑定,只是对我来说迭代速度更快)。 1、准备3D模型 首…

从0到0.01入门 Webpack| 005.精选 Webpack面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

nodejs微信小程序+python+PHP-健身俱乐部在线管理平台的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

2.Linux系统及常用命令

目录 一、Linux文件系统和目录 1.1 Linux文件系统 1.2Linux主要目录 二、Linux远程连接 2.1前置条件 2.2 具体远程操作 三、Linux的常用命令 3.1 Linux命令的格式 3.2 Linux命令的帮助信息查看 3.3 Linux文件操作常用命令 命令中快捷键 以管理员权限执行命令 3.3.1…

java协同过滤算法 springboot+vue游戏推荐系统

随着人们生活质量的不断提高以及个人电脑和网络的普及&#xff0c;人们的业余生活质量要求也在不断提高&#xff0c;选择一款好玩&#xff0c;精美&#xff0c;画面和音质&#xff0c;品质优良的休闲游戏已经成为一种流行的休闲方式。可以说在人们的日常生活中&#xff0c;除了…

IDEA中的Postman?完全免费!

Postman是大家最常用的API调试工具&#xff0c;那么有没有一种方法可以不用手动写入接口到Postman&#xff0c;即可进行接口调试操作&#xff1f;今天给大家推荐一款IDEA插件&#xff1a;Apipost Helper&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还…

微机原理_4

一、单项选择题&#xff08;本大题共 15 小题&#xff0c;每小题 3 分&#xff0c;共 45 分。在每小题给出的四个备选项中&#xff0c;选出一个正确的答案&#xff0c;请将选定的答案填涂在答题纸的相应位置上。) 1在产品研制的过程中,通常采用( )类型的存储芯片来存放待调试的…

GEE:众数滤波

作者:CSDN @ _养乐多_ 在本文中,我们将介绍如何使用Google Earth Engine(GEE)平台对遥感影像进行众数滤波处理。并以众数滤波平滑NDVI图像为示例,演示众数滤波整个过程。 结果如下图所示, 文章目录 一、众数滤波二、完整代码三、代码链接一、众数滤波 众数滤波是一种图…

运维高级-day01

shell回顾 1、快速生成版权控制信息&#xff0c;具体的内容自己替换 [root scripts]# cat ~/.vimrc autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" func SetTitle() if expand("%:e") sh call setline(1,"#!/bin/bash")…