美文网首页Flutter学习
编译报错Building for iOS, but the li

编译报错Building for iOS, but the li

作者: 三也视界 | 来源:发表于2021-07-04 15:35 被阅读0次

    如下图解决即可

    image.png

    /Users/zby0520/StudioProjects/flutter_umeng_plus/ios/Classes/FlutterUmengPlusPlugin.m:3:9: 'UMCommon/MobClick.h' file not found

    image.png

    静态库.a
    静态库. framework (= .a + .h + 资源文件)
    包文件Bundle (资源文件包)

    SDK引用

    image.png

    第1步、BuildSetting——Framework Search Paths 双击,新增 $(PROJECT_DIR)/ZomcomReport(表示我的Framework放在了此文件夹,ZomcomReport为项目工程名称)

    我的工程名叫ZomcomReport,我的framework文件放在了ZomcomReport/ZomcomReport/ThirdParty/,然后我在Framework Search Paths 新增$(PROJECT_DIR)/ZomcomReport/ThirldParty/UMAnalytics_Sdk_4.2.4

    第2步、Header Search Paths 双击,新增 $(SRCROOT)/ZomcomReport/ThridParty/UMAnalytics_Sdk_4.2.4/UMMobClick.framework/Headers (表示头文件路径)

    只要这两步,就能找到头文件了。

    注:
    (SRCROOT)表示项目根目录下(PROJECT_DIR)表示整个项目

    pod引用

    image.png

    iOS警告-This block declaration is not a prototype


    image.png

    关于警告
    我们定义一个不带参数的block,通常是如下的方式

    typedefvoid (^UpdateSwichBtnBlock)();
    

    在xcode9中会提示一个警告

    This block declaration is not a prototype Insert ‘void'
    

    解决方式可以是如下的几种

    typedefvoid (^UpdateSwichBtnBlock)(void);
    

    但是这样,很多第三方要改,涉及的面太大了,目前可能不太适合,虽然这个是趋势.

    或者,如果只是很少的地方,也可以使用彻底的暂时解决所有这种警告的方式

    在工程的设置中Build Settings =>Apple Clang - Warning - All languages =>strict-prototypes 设置为NO,则这些警告就消失了

    image.png

    androidstudio 升级4.1.1之后Flutter 在android studio中无法找到plugins
    更新Android studio至4.1.1之后,执行flutter doctor,尽管在Android studio中已经安装了flutter plugin 和 dart plugin,仍然会报错未安装(无法找到)

    Flutter (Channel stable, 1.22.4, on macOS 11.0.1 20B29 darwin-x64, locale
        zh-Hans-CN)
     
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    [✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    [!] Android Studio (version 4.1)
        ✗ Flutter plugin not installed; this adds Flutter specific functionality.
        ✗ Dart plugin not installed; this adds Dart specific functionality.
    [✓] Connected device (1 available)
    

    主要原因就是在Android studio 4.1中plugin目录发生了变化,可以用下面的指令软链接一下目录:

    ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
    

    相关文章

      网友评论

        本文标题:编译报错Building for iOS, but the li

        本文链接:https://www.haomeiwen.com/subject/llssaktx.html