![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Objective-C
Objective-C开发
哈尔滨的酸柠檬
掌握iOS、MacOS、Flutter、PHP、前端、微信小程序开发技术,正在学习嵌入式开发知识
展开
-
动态库、静态库合并(动态库动态库、静态库静态库同样方法)
(1)终端输入如下指令lipo -create A的二进制文件路径 B的二进制文件路径 -output 新的二进制文件路径注意:是二进制文件,不是.framework。路径通过拖拽即可(2)删除合并前的指令集,并且保证新合并的指令集与以前的名字一致。...原创 2021-05-07 10:16:04 · 1235 阅读 · 0 评论 -
“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 · 5633 阅读 · 0 评论 -
iOS开发 NSCondition的使用
1:NSCondition原理和作用NSCondition 的对象实际上作为一个锁和一个线程检查器:锁主要为了当检测条件时保护数据源,执行条件引发的任务;线程检查器主要是根据条件决定是否继续运行线程,即线程是否被阻塞。2:功能介绍NSConditon *condition =[ [NSCondition alloc]]init;[condition lock];//一般用于多线程同时访问、修改同一个数据源,保证在同一时间内数据源只被访问、修改一次,其他线程的命令需要在lock 外等待,只到.原创 2021-04-29 15:00:25 · 434 阅读 · 0 评论 -
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 · 2188 阅读 · 0 评论 -
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 · 252 阅读 · 0 评论 -
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 · 2064 阅读 · 0 评论 -
iOS开发 - 主屏交互
所谓的主屏交互也就是在手机的桌面页,用力的按压(当然别太用力。。按碎了屏幕)应用图标,生成的几个快捷操作按钮的。主屏交互的演示图.jpg主屏交互的按钮有指定的模型类,UIApplicationShortcutItem,添加shortCutItem有两种方式:静态添加 动态添加静态添加 shortCutItem这种方式主要是在工程的info.plist文件中添加相关的属性。如下图所示info plist.jpegUIApplicationShortcutIt..转载 2020-12-03 18:12:47 · 343 阅读 · 0 评论 -
Swift 制作Swift版的Framework及使用
iOS的静态库和动态库iOS 提供了.framework与.a两种方式制作 SDK 的方式。两者的区别在于, Framework 以包形式的存在,内部包含了 二进制文件、.h文件、资源文件等。而 .a文件实际上就是 二进制文件,如果要真正使用,还需要提供必要的.h文件和相应的资源文件。另外.framework可以是静态库或者动态库(只有苹果官方才能制作动态库),.a则一定是静态库。两者主要的创建方式看下图:本文主要介绍Framework的一些知识,以及如何在 Swift 平台上制作 Fr.原创 2020-07-06 15:28:31 · 3478 阅读 · 2 评论 -
iOS开发 Swift项目如何使用oc的代码
github demo:https://github.com/LINGLemon/LXFSwiftAppSwift项目中直接创建oc文件创建一个swift项目 在swift项目中随便创建一个oc文件. Xcode 会弹框子,提示如下 选择后,Xcode 会自动生成一个 .h 文件,文件名: "xxxx项目-Bridging-Header.h" 在 "xxxx项目-Bridging-Header.h" 中导入将需要在swift中使用的OC文件即可 在swift项目中直接使用即可也可以.原创 2020-07-06 14:39:23 · 1000 阅读 · 0 评论 -
iOS13 deviceToken获取
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { if (!deviceToken || ![deviceToken isKindOfClass:[NSData class]] || device...原创 2019-11-11 16:03:35 · 4051 阅读 · 0 评论 -
[CocoaPods]podspec文件中的resource和resource_bundle
https://blog.csdn.net/TuGeLe/article/details/85049392转载 2019-08-19 18:02:39 · 1773 阅读 · 0 评论 -
iOS WKWebView支持JS的alert
//WKUIDelegate- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler{...原创 2019-05-13 18:03:04 · 1402 阅读 · 0 评论 -
iOS WKWebView的target="_blank"问题的解决方案
//WKUIDelegate- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFea...原创 2019-05-13 18:05:15 · 3279 阅读 · 0 评论 -
iOS WKWebview cookie注入
参考React Native的WKWebView配置,github地址https://github.com/react-native-community/react-native-webview/blob/master/ios/RNCWKWebView.m网页将不再能获取默认的cookie,如果需要携带cookie,需要做一些操作: if (self.window != nil &am...原创 2019-05-15 14:33:10 · 3576 阅读 · 0 评论 -
iOS WKWebView 跳转appStore或者拨号
WKWebView默认禁止了一些跳转UIWebView打开ituns.apple.com跳转到appStore, 拨打电话, 唤起邮箱等一系列操作UIWebView默认支持的.WKWebView默认禁止了以上行为,除此之外,js端通过window.open()打开新的网页的动作也被禁掉了.如何支持呢?// 可以跳转appStore或者拨号-(void)webView:(WK...原创 2019-05-15 16:52:08 · 2857 阅读 · 0 评论 -
iOS 获取WKWebView屏幕显示内容的截图
- (UIImage *)createImageWithView:(UIView *)view { CGSize s = view.bounds.size; UIGraphicsBeginImageContextWithOptions(s, YES,[UIScreen mainScreen].scale); [view.layer renderInContext:U...原创 2019-05-22 13:35:16 · 1771 阅读 · 0 评论 -
iOS 与JS交互之WKScriptMessageHandler协议
本文介绍如果使用WKWebView的WKScriptMessageHandler实现iOS与JS交互。WKWebView是Apple在iOS8推出的Webkit框架中的负责网页的渲染与展示的类,相比UIWebView速度更快,占用内存更少,支持更多的HTML特性。WKScriptMessageHandler是WebKit提供的一种在WKWebView上进行JS消息控制的协议。一、iOS调...原创 2019-05-17 15:20:37 · 5393 阅读 · 0 评论 -
Flutter开发笔记18 - iOS通过FlutterEventChannel发送消息给Flutter
主要逻辑:Flutter端 EventChannel监听Native传来的消息 Native通过创建EventChannel,给Flutter层发送消息代码梳理1、Flutter端创建EventChannel进行监听 EventChannel eventChannel = EventChannel("App/Event/Channel", const StandardMetho...原创 2019-05-27 11:53:22 · 8667 阅读 · 9 评论 -
iOS TouchID/FaceID 开发
创建LXFAuthentication类的.h和.m文件,继承自LAContext.h代码如下://// LXFAuthentication.h// Test//// Created by 凌煊峰 on 2019/6/21.// Copyright © 2019 凌煊峰. All rights reserved.//#import <LocalAuthent...原创 2019-06-21 15:21:21 · 1547 阅读 · 0 评论 -
iOS 封装自定义弹窗工具
封装了一个工具类,用户调用方法并传入自定义view,就能在APP的window弹出自定义view。- (IBAction)popUpViewBtnFunc:(id)sender { UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 400, 400)]; view.backgroundColo...原创 2019-07-08 15:14:38 · 2245 阅读 · 0 评论 -
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 · 8919 阅读 · 5 评论 -
Flutter开发笔记12 - Flutter包与插件的开发
一、Package简介1、pubspec.yaml2、一个lib文件夹二、Package类型1、package(一般主要是dart的代码)2、plugin(有Flutter、iOS、Android的)三、创建包的方式1、可视化方式(推荐)2、命令行方式自行百度。。。(推荐使用第一种方式简单,按图文点击即可)四、开发Flut...原创 2019-04-16 11:32:55 · 1649 阅读 · 0 评论 -
iOS 自定义转场动画 - present/dismiss转场动画改为push/pop的样式
直接上代码!1、准备工作:默认的ViewController类,和创建要present到的下一级控制器SecondViewController类。默认创建,不添加其他操作,可以自己改改背景色做区分。2、实现present动画:这里演示的动画类似原生的push和pop动画,present时界面由右向左覆盖上一级界面,dismiss相反过程。2.1、创建一个继承自NSObject的类LX...原创 2019-07-16 10:32:00 · 2404 阅读 · 0 评论 -
iOS UIView同时设置圆角和阴影
因为圆角和阴影不能同时设置,所以给原来的view添加一个shadow container view。/** * 周边加阴影,并且同时圆角 */+ (UIView *)addShadowToView:(UIView *)view withOpacity:(float)shadowOpacity shadowRadius:(CGFloat)shadowRadius andCornerRa...原创 2019-08-09 09:52:20 · 3045 阅读 · 0 评论 -
iOS 系统分享 UIActivityViewController
1、创建其分享的标题,内容或图片或链接NSString *testToShare = @"分享的标题";UIImage *imageToShare = [UIImage imageNamed:@"client"];NSURL *urlToShare = [NSURL URLWithString:@"http://www.baidu.com"];NSArray *activityI...原创 2019-08-09 14:31:58 · 362 阅读 · 0 评论 -
Mac开发 NSSavePanel 实现另存为
NSSavePanel *panel = [NSSavePanel savePanel]; [panel setNameFieldStringValue:fileName];// 默认存储的文件名 [panel setMessage:@""]; [panel setAllowsOtherFileTypes:YES]; [panel setAllowedFil...原创 2018-11-15 15:37:19 · 740 阅读 · 0 评论