Skip to content

CaffreySun/iOS_Flutter_Hybrid_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS_Flutter_Hybrid_Project

Gitter

从零搭建 iOS Native Flutter 混合工程

使用说明

本仓库为创建 iOS Flutter 混合工程的脚本和例子。

使用本仓库搭建混合工程步骤:

使用git方式管理产物:

  1. 使用flutter create -t module my_flutter创建 Flutter Module 工程。
  2. 复制"Script/git/Flutter"目录内的所有文件到 Flutter 工程根目录.
  3. 修改复制的 build_ios.sh 里参数"PRODUCT_GIT_DIR",使其指向用来保存产物的git仓库的路径,是路径 不是git地址。
  4. 复制"Script/git/Native"中除了Podfile外的文件到 Native 根目录。
  5. 复制"Script/git/Native/Podfile"文件内 "end" 后面的配置内容到自己 Native 工程的 Podfile。并根据自己的工程修改配置。
  6. 在Flutter工程目录下使用 build_ios.sh -m release/debug 进行打包,会自动将产物复制到git仓库目录,并执行git push。
  7. 在Native工程执行 pod install,会自动从git拉取产物并安装。

使用Maven方式管理产物:

  1. 使用flutter create -t module my_flutter创建 Flutter Module 工程。
  2. 复制"Script/Maven/Flutter"目录内的所有文件到 Flutter Module 工程根目录.
  3. 修改 Maven.sh,将Maven服务器地址、用户名、项目地址改成自己的。
  4. 复制"Script/Maven/Native"中出Podfile外的文件到 Native 根目录。
  5. 复制"Script/Maven/Native/Podfile"文件内 "end" 后面的配置内容到自己 Native 工程的 Podfile。并根据自己的工程修改配置。
  6. 修改 Native 工程目录里的 Maven.sh,将Maven服务器地址、用户名、项目地址改成自己的。
  7. 在Flutter工程下使用build_ios.sh -m release/debug 进行打包,会自动将产物上传到maven。
  8. 在Native工程执行 pod install,会自动从maven下载Flutter产物并安装。

常见问题

1、Release 模式签名错误,错误输出如下:

Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===
    Code Signing Error: Failed to create provisioning profile. The app ID "com.example.myFlutter" cannot be registered to your development team. Change your bundle
    identifier to a unique string to try again.
    Code Signing Error: No profiles for 'com.example.myFlutter' were found:  Xcode couldn't find any iOS App Development provisioning profiles matching
    'com.example.myFlutter'.
    Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.2'
    Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.2'
    Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.2'


It appears that your application still contains the default signing identifier.
Try replacing 'com.example' with your signing id in Xcode:
  open ios/Runner.xcworkspace
Encountered error while building for device.

请用xCode打开Flutter工程目录下的.ios/Runner.xcworkspace工程,然后修改BundleId为自己的BundleId,然后重新执行release编译。