自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 收藏
  • 关注

原创 Android Flutter插件 导入本地aar依赖包

1、在插件的android目录下创建libs目录并导入arr文件2、给插件的android目录下的build.gradle文件添加如下内容

2021-08-06 10:50:56 1891 1

原创 iOS开发:iOS的静态库和动态库 【.a 和framework】的说明及博客汇总

一、什么是库?库是共享程序代码的方式。库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。iOS中的静态库有 .a 和 .framework两种形式;动态库有.dylib 和 .framework 形式,后来.dylib动态库又被苹果替换成.tbd的形式。二、静态库与动态库的区别?静态库: 链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库: 链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节

2021-05-24 14:14:13 482

原创 iOS Flutter插件 导入第三方Framework和添加自定义Assets

场景:当使用Flutter开发Package&Plugins时,若需要导入第三方Framework,此时就相当于Pod该Framework(iOS环境下)。1.Flutter 创建Plugins之后,包名如 flutter_plugin_indoor_map,先用Android Studio打开 flutter_plugin_indoor_map 项目,并运行。2.将第三方库在fi...

2019-07-11 14:56:16 8643 5

原创 strcpy,memset,memcpy三者的区别

2.memcpy用来做内存拷贝,可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置。3.memset的作用是对一段内存空间全部设置为某个字符,常用在内存空间的初始化,其原型函数为:void *memset(void *s,int c,size_t n);1.strcpy的作用是拷贝字符串,当它遇到'\0'时结束拷贝,原型为:extern char *strcpy(char *dest,char *src);

2022-08-22 14:15:11 688 1

原创 Linux替换当前目录及子目录下所有文件的字符串

Linux替换当前目录及子目录下所有文件的字符串

2022-08-19 11:00:41 443

原创 Incompatible integer to pointer conversion(integer转void*)

解决Incompatible integer to pointer conversion编译错误

2022-08-17 16:03:42 5647 1

原创 Xcode13 显示Product文件夹

1、右键project.pbxproj,显示包内容2、第1步中,报内容里面编辑project.pbxproj3、mainGroup的内容复制到productRefGroup4、保存即可

2022-02-08 08:57:45 2303

原创 Flutter开发笔记18 Flutter intl插件实现多语言

项目demo地址:GitHub - LINGLemon/lxf_flutter_demo1、安装Flutter intl插件菜单点击 Android Studio -》 Preferences搜索安装后重启。2、yaml文件添加flutter_localizations依赖dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter3、菜单点击Tools -》 ..

2021-11-03 13:40:41 2010

原创 iOS开发 Xcode13-iOS 15适配(OC、Swift)

升级Xcode13后,编译的APP的导航栏(nav、tabbar)、tableview的section head会出现一些显示问题,在这里给出一些处理方法。UINavigationBarSwiftif #available(iOS 13.0, *) { let appearance = UINavigationBarAppearance() // 设置导航栏背景色 appearance.backgroundColor = .white // 去除导航栏阴影(如果

2021-09-29 16:50:05 1960 1

转载 电源符号:VCC、VDD、VEE、VSS、VBAT各表示什么意思?

电路设计以及PCB制作中,经常碰见电源符号:VCC、VDD、VEE、VSS、VBAT,他们具有什么样的关系那?  一、解释  (1)VCC:C=circuit 表示电路的意思, 即接入电路的电压  (2)VDD:D=device 表示器件的意思, 即器件内部的工作电压;  (3)VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压 (4)VEE:负电压供电;场效应管的源极(S) (5)VBAT:当使用电池或其他电源连接到VBAT脚上时,当VDD 断电时,...

2021-09-09 15:03:57 24545

原创 Mac Android Studio Arctic Fox 2020.3.1升级后flutter项目适配

Mac电脑升级Android Studio Arctic Fox 2020.3.1版本后,flutter项目执行发现错误:* What went wrong:Execution failed for task ':app:processDebugMainManifest'.> Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "o

2021-09-06 13:54:32 826

原创 Swift 调用C++代码

1.创建c++文件:Person.cpp和Person.hpp//// Person.cpp//#include "Person.hpp"#include "PersonExtern.h"Person::Person(){ age = 12; sex = true; name = "LINGLemon";}Person::Person(const char* name , const int age , const bool sex){ this-

2021-08-30 11:28:39 2131

原创 Swift 调用C代码

1.创建c文件:testC.h和testC.ctestC.h内容如下:#ifndef testC_h#define testC_h#include <stdio.h>void showValue(int *value);#endif /* testC_h */testC.c内容如下#include "testC.h"void showValue(int *value) { printf("old value = %d\n",*value);

2021-08-30 10:51:46 591

原创 Swift 沙盒文件转Data

对应Objective-C的NSData的使用,OC版:NSData *tmpData = [NSData dataWithContentsOfFile:tmpPath options:NSDataReadingMappedIfSafe error:nil];Swift版:let fileData : Data = FileManager.default.contents(atPath: item.path)!

2021-08-30 10:10:28 1426

原创 物联网无线通讯wifi模块AP和STA模式分别是什么意思?

Wifi模块为串口或TTL电平转WIFI通信的一种传输转换模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户串口或TTL电平数据到无线网络之间的转换。Wifi模块 包括两种类型的拓扑形式:基础网(Infra)和自组网(Adhoc)要说明无线网络的拓扑形式,首先要了解两个基本概念:1:AP,也就是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP。2:STA站点,每一个连接到无线网络中的终端(如笔记本电脑、PD...

2021-08-26 15:40:35 1879

原创 单片机的低功耗运行模式power_down与idle模式

power-down也就是掉电工作模式,你一但进入了掉电模式,单片机内部的振荡器就会停止工作,也就是说。时钟被冻结了,这时所有功能都无法实现,但有一点,芯片内部RAM的内容是保持不变的。什么功能都被冻结,功耗当然小,此时,只要用2V左右的电源就可以了,耗电电流也降到了微安级。idle也就是待机模式,进入该模式,片内振荡器并没被冻结,冻结的是CPU,时钟信号依然能提供给中断逻辑,串行口和定时器,由于中断逻辑没被冻结,所以只要有任何一个允许的中断请求被响应,芯片内部马上强制退出待机模式,进入中断服务。.

2021-08-20 11:24:50 4039

原创 Mac创建ssh key,并添加到到git个人账号

1、终端输入:ssh-keygen -t rsa -C "[email protected]"后,全部按回车即可。如果出现/Users/xxx/.ssh/id_rsa already exists.Overwrite (y/n)? ------ 输入y即可2、全部按回车后终端出现:Your identification has been saved in /Users/xxx/.ssh/id_rsa.Your public key has...

2021-08-06 09:40:30 269

原创 2021 CocoaPods 第一次“pod install” 慢

iOS-第一次安装cocoapods很慢或出错怎么办?appledeiMac: jz$ pod installAnalyzing dependenciesCloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs.git`[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `cocoapods`.

2021-08-04 16:22:43 796

原创 Mac AndroidStudio 无线调试设备

设置adb的环境变量:1、先说下adb配置.bash_profile1)打开终端,输入:open .bash_profile 意思: 打开 .bash_profile文件(如果无,则自动新建)2)如果已经有了,输入:open .bash_profile -e 意思:打开并编辑 该文件3)在.bash_profile中输入: export PATH=/.../Library/Android/sdk/platform-tools/:$PATH4)输入命令:s...

2021-08-02 10:21:16 610

原创 解决Flutter Android debug报错:Unexpected end of file from server

整理一下解决方案。1.Android Studio项目中会有一个文件:项目名称\gradle\wrapper\gradle-wrapper.properties,里面的distribution链接中会带有版本,这个就是启动Android Studio之后会自动更新的版本,比如:distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip所以当遇到更新失败,大家就需要先在网上下载对应版本的gradle文件.

2021-08-02 09:45:24 763

原创 Mac访问Github加速

Mac电脑下载:dev-sidecar加速工具https://gitee.com/docmirror/dev-sidecar安装dev-sidecar加速工具启动后,打开电脑终端,设置代理:export http_proxy="http://127.0.0.1:1181";export https_proxy="https://127.0.0.1:1181";或:export http_proxy=http://127.0.0.1:1181;export https_proxy=https:

2021-07-20 09:32:01 3468

原创 Windows上映射虚拟机Linux中的文件夹

1、在Linux上,设置所在文件夹为共享文件夹。 1.1、安装 Samba sudo apt-get install samba 1.2、配置Samba sudo vim /etc/samba/smb.conf1.3、smb.conf最下面添加以下内容[Test_Demo]path = /home/lemon/Desktop/demoavailable = yesvalid users = lemonread only = nobrowsable = yespubl

2021-06-28 11:32:20 827

转载 转载:苹果通知中心服务ANCS协议分析

https://www.jianshu.com/p/2ddf76ab85b0

2021-05-24 14:54:55 182

原创 iOS开发:关于NSBundle

我们从bundle中获取一张图片,可以有这样的获取思路:1)获取主bundle 2)获取自定义bundle 3)获取自定义bundle中的资源通常可以这样写://主bundle,也就是可执行的工程的bundleNSBundle *mainBundle = [NSBundle mainBundle];//NSBundle *mainBundle = [NSBundle bundleForClass:[self class]];//放在主工程中的自定义bundleNSString *my

2021-05-24 14:22:41 1026

原创 动态库、静态库合并(动态库动态库、静态库静态库同样方法)

(1)终端输入如下指令lipo -create A的二进制文件路径 B的二进制文件路径 -output 新的二进制文件路径注意:是二进制文件,不是.framework。路径通过拖拽即可(2)删除合并前的指令集,并且保证新合并的指令集与以前的名字一致。...

2021-05-07 10:16:04 1133

原创 如何辨别.framework是动态库还是静态库

(1)cd xx.framework(2)file xx 注释:xx为.framwork下的二进制文件(3)判断:静态库包含“current ar archive random library”字样。动态库包含“dynamically linked shared library”字样(4)查看库所支持的指令集,如arm_v7,x86_64...

2021-05-07 10:14:11 1401

原创 “Do Not Embed”、“Embed & Sign”、“Embed Without Signing” 区别

Embed,嵌入,对于静态库选择Do Not Embed,动态链接选择Embed。Sign,签名,如果代码没有签名则选择Embed & Sign,否则Embed Without Signing。

2021-05-07 10:04:27 5370

原创 iOS开发 NSCondition的使用

1:NSCondition原理和作用NSCondition 的对象实际上作为一个锁和一个线程检查器:锁主要为了当检测条件时保护数据源,执行条件引发的任务;线程检查器主要是根据条件决定是否继续运行线程,即线程是否被阻塞。2:功能介绍NSConditon *condition =[ [NSCondition alloc]]init;[condition lock];//一般用于多线程同时访问、修改同一个数据源,保证在同一时间内数据源只被访问、修改一次,其他线程的命令需要在lock 外等待,只到.

2021-04-29 15:00:25 389

原创 Mac sourcetree4.0 remote: Invalid username or password.

1、commit代码,输入账户信息错误,提示remote: Invalid username or password.2、偏好设置->git->使用内置git,点击打开文件夹中的内置key。3、再一次commit,弹出提示要你输入密码

2021-04-29 09:17:32 328

原创 iOS开发 解决无法识别framework中分类(类别拓展)方法(unrecognized selector sent to instance)的问题

使用https://blog.csdn.net/sinat_31177681/article/details/105862591里面的方法,检索了framework中的链接文件,发现是存在分类方法的签名的,可是实际运行的时候却报错解决方法是在Xcode Project的Build Settings下Other Linker Flags里面加入-ObjC标志。之所以使用该标志,和Objective-C的一个重要特性:类别(category)有关。根据这里的解释,Unix的标准静态库实现和Objecti

2021-04-26 15:35:27 2062

原创 Flutter2.0 项目环境、代码适配升级

1、升级flutterflutter doctor查看当前flutter版本不是2.0以上版本终端cd 到flutter的目录,执行git fetch --all --tags --progress或者git fetch --all --tags --progress -f -P,发现2.0.2执行git checkout 2.0.2执行flutter doctor,发现flutter 版本升级为2.0.22、iOS需要注意:2.1、cocoapods 升级到1.9.0详情.

2021-03-15 15:55:03 2708 1

原创 xcode12解决error: Multiple commands produce ‘/Assets.car‘

在podfile文件的前面添加:install! 'cocoapods', :disable_input_output_paths => true

2021-03-15 12:38:16 1608

原创 Flutter 命令行配置项目环境参数

命令行下面这句话,则可以读取命令行参数,然后配置项目的env.dart文件,然后项目引用env.dart的内容dart ./lib/env_generator.dart --envfile .env// env_generator.dart,使用这个配置环境import 'package:flutter_env/flutter_env.dart';main(arguments){ DotENV(arguments);}// .envurl=www.apple.cn/..

2021-01-21 11:37:39 881 2

转载 【Flutter 混合开发】添加 Flutter 到 iOS

Flutter 混合开发系列 包含如下:嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生通信-EventChannel 添加 Flutter 到 Android Activity 添加 Flutter 到 Android Fragment 添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。Flutter 可以作为 frameworks 添加到 iO.

2020-12-28 18:27:32 355

转载 iOS开发 设计获取不变的UUID

获取UUID的方法有很多,但是都会因为各种原因改变 /** 卸载应用重新安装后会不一致*/ + (NSString *)getUUID{ CFUUIDRef uuid = CFUUIDCreate(NULL); NSString *UUID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, uuid); CFRelease(uuid); return UUID; } .

2020-12-24 14:25:52 241

转载 iOS开发 后台运行以及相关内容整理

网上找了一篇内容概述比较简洁清晰的前言对于APP的前后台运行情况的了解,有助于我们在实际开发中规避一些问题,以及采取稳妥的方法处理和解决问题,是很必须的。应用的运行状态分为以下五种:Not running:应用还没有启动,或者应用正在运行但是途中被系统停止。Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户

2020-12-24 09:51:35 788

原创 iOS开发 OC项目调用Swift方法

为防止出问题,建议以这样的方法做:1.建一个OC工程命名为SwiftOC2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”20160112200003812.png3.配置工程设置Defines Module 为Yes设置Product Module Name 为当前工程名此时系统会为工程创建一个“工程名-S...

2020-12-14 09:52:49 2028

转载 iOS开发 - 主屏交互

所谓的主屏交互也就是在手机的桌面页,用力的按压(当然别太用力。。按碎了屏幕)应用图标,生成的几个快捷操作按钮的。主屏交互的演示图.jpg主屏交互的按钮有指定的模型类,UIApplicationShortcutItem,添加shortCutItem有两种方式:静态添加 动态添加静态添加 shortCutItem这种方式主要是在工程的info.plist文件中添加相关的属性。如下图所示info plist.jpegUIApplicationShortcutIt..

2020-12-03 18:12:47 308

转载 PlistBuddy 对plist文件的操作

plist(property list)是一种文件组织形式,通常用于储存用户设置,或者用于存储捆绑的信息,在iOS开发中是一种很常用的数据存储格式。除了可以手动操作之外,mac还提供了使用指令操作plist文件的工具---PlistBuddy,在使用脚本修改plist文件时非常有用.PlistBuddy是Mac OS操作系统自带的操作工具,不过Mac OS并没有在环境变量中默认配置该工具,所以不能在全局使用,只能通过路径引用./usr/libexec/PlistBuddy当然如果你对该工具的使

2020-10-21 15:10:51 784

原创 公司项目git仓库迁移

1、cd到本地git项目主目录,保证项目是最新代码2、使用git remote add codeup“要迁移的git库url”3、然后执行git push codeup master将代码进行传送

2020-10-20 17:13:06 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除