(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

这篇具有很好参考价值的文章主要介绍了(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前段时间写了关于flutter的一系列基础知识和入门的一些坑,中间把ios端的项目编译部署等工作一带而过,这里我觉得还是有必要专门写一篇文章来讲讲这个,顺便把环境问题也一起说了。

我们都知道开发ios应用需要用到苹果电脑,即使flutter也不例外,flutter编译构建需要Xcode来协助,而Xcode 是没有win平台应用的,那只能倒逼着我们去买苹果电脑,但是身边没有苹果电脑怎么办呢,不喜欢折腾的程序员不是好程序员,生命不息,折腾不止,我们一起来装黑苹果:

   我的笔记本配置基本是符合要求的,我们去黑苹果(黑苹果星球-分享Mac的精彩世界)网站下载专门的镜像,不过这里的资源是需要收费的,我可是花了30大洋冲的会员,我下载镜像的是带有oc和clover工具的,这两个工具实际上就是管理引导efi 和启动的,另外还需要准备一个8g以上的优盘,还有就是要下载transmac这个软件,用来往优盘烧录镜像, 烧录的时候需要先把优盘搞成苹果的系统磁盘格式,然后再加载镜像,需要等待好长一会,进度走完就可以了,这个时候会看到优盘的目录变化了,分成了好几个磁盘,有oc和clover,他们就是对应的两种启动方式,他们根目录是有一个efi文件夹的,里面结构是这样的:

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

 kexts里面是我们所需要的驱动,都会放在里面,config.plist是配置文件,当我们修改kexts里的驱动时,是需要改配置文件对应上的,那个网站也会有对应的驱动,根据电脑硬件型号和mac版本,可自行下载,现在优盘是默认给我们生成好了的,config.plist也是准备了很多,用于启动不了时可供我们替换使用,这时候我们就可以重启电脑准备安装了(记住要备份好数据哦):

根据自己笔记本快速启动优盘,即可进入下面画面:

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

中间电脑会重启几次,都是正常现象,如果你是固态硬盘,大概半小时40分钟就差不多了,然后就是按照提示设置语言/用户名/键盘等,下面就是我的oc自动识别的启动系统(我做的是win+mac双系统)

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

所有的都配置好之后就进入系统了

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

 这时候还需要一个步骤,因为你发现其实我们的安装盘目录下也有一个oc和clover的文件夹,如果你u盘上oc和clover的efi文件里面的内容被你替换了,那你也需要保证u盘和硬盘的内容一致。还有就是除了11.6的系统外,其他的不要试图去找独显驱动,什么开普勒什么的都不好使,因为我有分屏的需求,分屏必须接独显,后来被逼的直接买了个usb转hdmi,试试人家三方的驱动咋样,结果只是投个影像而已,不能扩展,而且延迟很高,不要跟我入坑,直到现在我都是就一个笔记本屏幕来开发,费点眼睛费点吧,也比像win卡的十天半月做个系统强。

黑苹果至此完成,详细的安装步骤请移步专门的装系统教程,我们下边重点来说flutter:

接下来我们下载android studio sdk ndk jdk flutter-sdk dart和flutter插件 xcode 等所需要的开发软件和环境:在这里还是有不少坑的,

一.环境问题,首先除了软件的一些环境配置外(比较简单,不赘述),还需要在mac的系统进行环境配置

(1)flutter环境变量,在终端依次输入下面命令

   <1>. 创建环境文件:touch .bash_profile

   <2>. 打开文件:open .bash_profile,配置镜像和路径如下:

  export PUB_HOSTED_URL=[https://pub.flutter-io.cn](https://links.jianshu.com/go?to=https%3A%2F%2Fpub.flutter-io.cn)

export FLUTTER_STORAGE_BASE_URL=[https://storage.flutter-io.cn](https://links.jianshu.com/go?to=https%3A%2F%2Fstorage.flutter-io.cn)

export PATH=/Users/lg/Documents/flutter/bin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

3. 保存:source .bash_profile

4.检查:flutter doctor

2.安装cocoapods,这个是调试苹果手机时候android studio必须要的系统环境,这个地方装了两天,试遍了所有的命令,翻边了所有的资料,什么gem啦,brew啦,翻墙啦,最后顺利出坑源于这篇文章,mac电脑如何下载homebrew_mac下载brew_弹道吖的博客-CSDN博客,直接运行它的脚本命令:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

然后按步骤执行可顺利安装brew, 然后通过这个包管理器,执行brew install cocoapods即可完成安装。

二.运行到苹果手机

在android studio里打开ios目录下的AppDelegate文件,这个文件其实就相当于咱们android的mainactivity,然后在右上角,可以看到有个打开xcode的快捷提示,

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

 点开后就打开了xcode的编辑页面,就可以通过xcode编写switf或者c++的代码了,他会有错误提示补全等,下面贴一下我的AppDelegate的通讯代码:

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  let flutterEngine = FlutterEngine(name: "my flutter engine")
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
     flutterEngine.run();
    let controller : FlutterViewController = window?.rootViewController as! FlutterViewController
    let channel = FlutterMethodChannel(name: "samples.flutter.io/lib", binaryMessenger: controller.binaryMessenger)
       channel.setMethodCallHandler { (call:FlutterMethodCall, result:@escaping FlutterResult) in
            //微信登陆
           if (call.method == "UmGetWxInfo") {
               var data = [self.UmGetWxInfo(value : result)];
               result(data);
           }
  
           //微信分享
           if (call.method == "shareWX") {
               var data = [self.shareWX(dia : call.arguments as! Dictionary<String, String>)];
              result(data);
           }

           //微信支付
           if (call.method == "wxPay") {
               var data = [self.wxPay(dia : call.arguments as! Dictionary<String, String>)];
              result(data);
           }

           //阿里支付
           if (call.method == "aliasPay") {
               var data = [self.aliasPay(pay:  call.arguments as! String)];
              result(data);
           }
     }

   GeneratedPluginRegistrant.register(with: self.flutterEngine);
   GeneratedPluginRegistrant.register(with: self); //注意权限问题
    return super.application(application, didFinishLaunchingWithOptions: launchOptions);
  }

    //微信登陆
    func UmGetWxInfo(value:FlutterResult)->Int{
      return 1;
    }

    //微信分享
    func shareWX(dia: Dictionary<String, String>)->String{
      return "123";
    }
    
    //微信支付
    func wxPay(dia: Dictionary<String, String>)->String{
      return "123";
    }

    //阿里支付
    func aliasPay(pay:String)->String{
      return "123";
    }

    
}

运行:可以直接插上苹果手机,点击信任之后,androidstudio 就识别到了,可以直接点击ide中的运行,但那只是debug模式,你会发现:

[!] Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified.

这时候只需要注释掉podfile里的版本限制即可,例如:platform :ios, '11.0' 。

然后好不容易运行到手机后后再从手机第二次打开你又会发现以下情况:

(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

这是因为你是在debug模式运行的,ios14以上苹果给限制了,所以我们可以运行正式版命令:
运行命令之前先执行:

source ~/.bash_profile

flutter run --release

如果报安全问题,可以再执行一下命令。就可以完美运行了。

flutter run --release --no-sound-null-safety

至此苹果的部署就全部完成了。文章来源地址https://www.toymoban.com/news/detail-468987.html

到了这里,关于(flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MacOS 14 系统 XCode15、 Flutter 开发 IOS

    MacOS14 Sonoma 安装 Flutter 开发环境 MacOS 系统 Flutter开发Android 环境配置 MacOS 系统 Flutter开发IOS 环境配置​​​​​​​ 前面我们已经在MacOS14 M3芯片上安装好 Flutter环境,包括开发工具 VsCode 、Android Stuiod,那么flutter如何开发IOS呢? 我们知道IOS开发语言为 objcet-c或者 swift,Flutter是

    2024年02月03日
    浏览(92)
  • flutter版本升级后,解决真机和模拟器运行错误问题

    flutter从3.3.2升级到3.16.0,项目运行到真机和模拟器报同样的错,错误如下: 解决办法:在android目录下的build.gradle加入下面这行,如下图: 重新运行,正常把apk安装到真机上或者运行到模拟器上

    2024年01月22日
    浏览(55)
  • Uniapp 运行到 iOS 真机或模拟器

    手机连接到电脑,找到 HBuilderX 菜单栏中的 运行 : 打开后,两种运行方式都需要证书进行云打包安装,证书细节注意下: 复制一下上面的 iPhone UDID ,如果没有显示 UDID ,可以通过 蒲公英、 爱思助手 、 Xcode 都可以看到。 复制的这个设备 UDID 需要到 Apple 开发者中心,设备管

    2024年02月20日
    浏览(56)
  • xcode15下载ios17模拟器失败

    升级到xcode15后需要安装ios17模拟器 但是在下载过程中会遇到报错 如下图这种 网上搜索了一下发现有人遇到过无法下载的问题,并且在apple官网也有人提出类似问题 https://developer.apple.com/forums/thread/737648 解决方案就是从https://developer.apple.com/download/all/下载ios模拟器到本地 然后执

    2024年02月07日
    浏览(71)
  • iOS问题记录 - Xcode 14安装低版本iOS模拟器(持续更新)

    最近客服跟我反馈说,有一个用户打开老项目的iOS App闪退,我回顾了下这项目上次发布改了啥,发现就改了一些文本和链接,这就很奇怪。到后台查了下这个用户的设备信息和应用版本,用的是手机型号是iPhone X,系统版本是iOS 11.2,以及最新版的应用。 很长时间都忙着Flu

    2024年02月15日
    浏览(53)
  • iOS问题记录 - Xcode 15安装低版本iOS模拟器(持续更新)

    最近新需求很多,项目改动很大,开发完成后想测一遍在低版本iOS系统上的兼容性,没想到低版本的iOS模拟器设备突然无法创建了。 在去年年底我研究过这个问题,写下了这篇文章iOS问题记录 - Xcode 14安装低版本iOS模拟器(持续更新),虽然当时没有完全解决,但暂时也够用

    2024年02月13日
    浏览(57)
  • mac使用Simulator打开IOS模拟器(不使用Xcode打开IOS模拟器)

    提示:打开模拟器的前提必须是安装了Xcode。 在mac电脑上有Xcode可以用来模拟不同类型的手机进行来解决ios兼容问题,这里记录一下不使用Xcode打开ios模拟器的方法 快捷键:command+空格。搜索simulator,第一个就是模拟器 使用以下命令打开模拟器 结果如下图

    2024年02月15日
    浏览(53)
  • Xcode14.3.1真机调试iOS17的方法

    Hello,大家好我是咕噜铁蛋!Xcode 是苹果官方开发工具,它提供了完整的开发环境和工具集,支持开发 iOS、macOS、watchOS 和 tvOS 应用程序。对于 iOS 开发者来说,Xcode 是必备的工具之一。而随着 iOS 系统的不断更新和升级,Xcode 也在不断地升级和改进,确保最好的开发体验。今

    2024年02月01日
    浏览(55)
  • Xcode 14.3.1 调试 iOS17 真机设备方法

            最近遇到了一个问题,需要在 Xcode 14.3.1 下调试 iOS 17 设备,但是 SupportDevice 目录中的支持文件最高只到 16.4。         查询官网的SDK支持列表发现,iOS 17 需要Xcode15以上的版本,而且抛弃了 SupportDevice的方式,但是因为我们原来的代码比较老,不支持高版本 Xcode。  

    2024年02月05日
    浏览(41)
  • 微信小程序 - 完美去除 <scroll-view> 滚动条,保证 100% 去掉隐藏苹果 ios 系统、安卓滚动条(解决 ios 苹果真机scroll-view无法隐藏滚动条)详细示例代码,保证可用

    关于微信小程序去掉 scroll-view 滚动条的教程中,全都是只能去掉安卓系统手机滚动条,而苹果手机则无法去掉。 本文 实现了在微信小程序中,强力去除 scroll-view 组件滚动条,保证去除苹果ios系统和安卓手机的滚动条, 您可以自由的将本文的去除代码应用到 “局部 / 全局”

    2024年02月11日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包