首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏王大锤

    iOS创建子工程

    创建子工程很简单: 1 假设你已经有了自己的工程demo.xcodeproj,首先我们需要创建一个子工程,(File->new->project),我们要选择静态库。如图 ? 点击下一步,给子工程起名字:subProject ? 点击下一步:选择Add to自己的工程 ? 到此,第一步就结束了,我们创建了一个子工程,而且也添加到了自己的工程里面,但是,这样在自己工程中还是无法引用子工程的类。我们还需要设置一下自己工程的环境变量。 5 如果存在category的时候,在demo工程Other Linker Flags里面添加编译的命令: 注意:在ios5以及以上版本中,引入别的工程(如上)或者静态库, 并且StoryBoards 上面的意思是说 对于64位操作系统或者ios系统,-Objc存在一个bug,就是只包含categories ,而没有任何class的静态库,是不会被加载进来。

    1.1K100发布于 2018-05-17
  • 来自专栏青玉伏案

    iOS逆向工程之Theos

    如果你对iOS逆向工程有所了解,那么你对Tweak并不陌生。 在选择模板后,紧接着会让你做一系列的操作,这一些列的操作和Xcode新建iOS工程的步骤类似。 5.进行打包 make package 编译完成后,我们要讲项目进行打包,这样我们的越狱设备才能进行安装。下方是调用make package命令进行项目的打包。打包后会生成后缀名为deb的安装包。 因为我本地的Xcode中是iOS9.3的SDK,所以下方指定的SDKVESION是9.3。 ? 上述就先涉及这么多,更详细的请参加:http://iphonedevwiki.net/index.php/Logos 5. control文件 control文件中存储的内容记录了deb包管理系统所需的基本信息

    2K90发布于 2018-01-11
  • 来自专栏DevTips

    iOS逆向工程工具集

    本篇文章是我在学习逆向工程时整理的逆向工程工具集 只作为记录使用 并不是详细的教程 阅读本篇教程需要你有一定逆向工程知识 一,Cycript 介绍 iOS运行时工具 可hook运行时进程 并提供了以下能力 New password: Retype new password: root# 三,theos iOS越狱程序开发框架 简化了编写越狱程序的流程 四,lldb + debugserver server 4,将debugserer复制到/usr/bin/debugserver scp ~/debugserver root@iPhone设备ip:/usr/bin/debugserver 5, /Applications/XXX/Documents/ 4.进入TaregetApp Documents目录 cd /var/mobile/Applications/XXX/Documents/ 5. 1.iOS-Runtime-Headers: https://github.com/nst/iOS-Runtime-Headers 2.OSXRuntimeBrowser: https://github.com

    1.4K10编辑于 2022-01-20
  • 来自专栏关键帧Keyframe

    iOS AVDemo(5):音频解码,免费获得源码丨音视频工程示例

    毕加索《小夜曲》像素版 iOS/Android 客户端开发同学如果想要开始学习音视频开发,最丝滑的方式是对音视频基础概念知识有一定了解后,再借助本地平台的音视频能力上手去实践音视频的采集 → 编码 → 在音视频工程示例这个栏目,我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发。 这里是第五篇:iOS 音频解码 Demo。 userData.mPacketDesc.mStartOffset = 0; userData.mPacketDesc.mVariableFramesInPacket = 0; // 5、 文件拷贝到电脑上,使用 ffplay 播放来验证一下音频采集是效果是否符合预期: $ ffplay -ar 44100 -channels 1 -f s16le -i output.pcm 注意这里的参数要对齐在工程中输入视频源的采样率

    1K40编辑于 2022-06-13
  • 来自专栏青玉伏案

    iOS逆向工程之App脱壳

    砸壳"在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解密的过程。 当然,在iOS9.2.1上的越狱设备执行上述命令会报错,可能是目前Cycript这个强大的工具还不支持iOS9.2吧。所以我是在iOS7.2上做的该实验。 DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/3DC16044-E5BB-4038-9E31-CFE3C7134A7B

    2.8K51发布于 2018-01-11
  • 来自专栏BIT泽清

    IOS马甲包混淆工程之修改Xcode工程名称

    如果新建工程的话,会有很多麻烦的问题: 1.虚拟文件夹无法拖拽到新的工程,导致文件杂乱的混在一起难以按模块区分(如果都是实体文件夹可忽略) 2.plis文件需要自己慢慢配置,容易遗漏 3.第三方的link 库需要自己一个一个添加,很多设置需要修改,容易遗漏 4.资源文件需要自己拖拽 新建项目虽然勉强完成修改工程名的过程,但是很多细节容易遗漏,导致后面开发过程中出现Bug很是费事,于是就自己参考网上资料,自己在现有的工程上面直接修改名字 ,步骤如下: 1.修改工程名字 .打开工程 点击工程名称 回车 直接修改 .此时会弹出一个对话框,点击Rename 2. 修改scheme名称 .点击Xcode上面的工具栏Product->Sechme->Edit Sechme .弹出对话框 会车直接修改 修改完成之后 点击Close 3.修改目录名称 .点击工程内需要修改名字的目录 回车直接修改 .点击 Find 选择 查找替换 .点击全部替换 .部分替换不了的 手动点进去修改 4.修改实体文件夹名称 .在文件夹内 将对应的文件夹回车直接修改 5.修改.xcodeproj

    1.5K50发布于 2018-06-24
  • 来自专栏iOS开发攻城狮的集散地

    iOS 工程文件.xcodeproj无法打开

    暂停Bug 知识点:Xcode的工程文件是 工程名.xcodeproj,而它其实是个package目录,通过显示包内容,可以查看到它内部主要有project.pbxproj 和 xcuserdata。 而project.pbxproj 是工程描述文件,描述了工程里的源码文件、schema设置等。 ------- 摘自iOS 开发 xcode中的project.pbxproj--深入剖析 容我冷静一下 冷静想了一下,应该是因为我俩同时提交了图片,工程 GovCn.xcodeproj 文件冲突了 打开之后,工程里关于图片的配置信息都没了,但图片源文件还存在源目录下,重新导入一下就OK了。 https://blog.csdn.net/kuangdacaikuang/article/details/52987132 https://www.jianshu.com/p/dd58925dfa5d

    4K20发布于 2018-10-25
  • 来自专栏正则

    Flutter iOS 混合工程自动化

    整个文件会被引入到iOS工程的各个*.xcconfig配置文件中。这些配置信息,在xcode runscript中引入的flutter编译嵌入脚本xcode_backend.sh中会使用到。 image.png 混编方案 方案大概的解决方法就是: 完全脱离Flutter环境:(图中实线流程部分) 利用脚本将所有的依赖编译结果从Flutter工程中剥离出来,放到iOS工程目录下。 直接依赖Flutter工程:(图中虚线流程部分) 直接依赖时,pod对Flutter的依赖都直接指向了Flutter工程;另外就是xcode_backend.sh会去重新编译Flutter代码,Flutter 方案存在的问题 直接依赖Flutter工程的方式,这个大同小异,都是直接或间接指向Flutter工程。这里重点讨论完全脱离Flutter环境的方案。 具体操作: 首先,每次需要构建纯粹Native工程前自动完成Flutter工程对应的远程库的编译发布工作,整个过程不需要人工干预。

    2K40编辑于 2022-01-10
  • 来自专栏Molier的小站

    iOS 工程中 Cocoapods 的使用

    我们在开发 iOS 程序的时候,往往都会根据需要导入很多的第三方框架,但是不同的框架完成的功能不同,所以导入的方式也不同,并不是把它直接拖进工程中就完事了,我们需要配置各种环境,链接各种库文件等等。 有的时候我们并不能一个不漏的完成导入,而一旦出了问题,尤其是那些需要框架比较多的工程 (比如早期的百度地图框架),将很难解决,而且,如果遇到了第三方库升级,更新了方法那么我们还需要把之前的旧版本删掉,再重复一下前面的工作 CocoaPods 就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数,不管是导入还是更新或者移除,都是一句命令就搞定的。 ,这里建议直接右键你工程中.xcodeproj 文件选择在终端中打开,然后 在终端中输入命令 cd ..   以后打卡工程就直接打开这个文件就好啦 其中 podfile 文件中显示了我们这个工程中所以集成的第三方, 想修改版本的话就把后面的版本号改成你所需要的版本号就好,想删除的话就把这行删掉,想添加的话就用第五部的搜索命令去搜索然后同样把搜索结果中以

    2K40编辑于 2022-11-03
  • 来自专栏波波烤鸭

    maven教程5(聚合工程)

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5. items="${list }" var="u"> ${u.id } --${u.uname }--${u.nickname }
    </c:forEach> </body> </html> 5.

    1.2K20发布于 2019-04-02
  • 来自专栏青玉伏案

    iOS逆向工程之KeyChain与Snoop-it

    Apple的开发着文档上有Keychain的完整使用实例(请参见iOS Keychain Services Tasks)。今天博客中用户名和密码的存储和更新就是使用的官方文档给的示例。 下方是keychain-2.db这个数据库中的结构,其中有5张表,我们可以重点关注一下genp这张表的结构和内容。 ? 打开后,我们重新运行工程,然后再观察其效果。  ? 当然,我们对数据进行AES加密,使用Snoop-it监听到的就是加密后的数据,这样一来就增加了逆向工程的难度。 ?

    1.8K100发布于 2018-01-11
  • 来自专栏老沙课堂

    原生iOS嵌入Unity导出的Xcode工程

    一、准备工作 unity导出的xcode项目 二、开始倒腾 1、将Unity3D中的以下文件导入到工程目录下 Data Classes MapFileParser.sh Libraries MapFileParser AppControllerClassName]); 修改为 UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String: @"AppDelegate"]); 5 delegate.unityWindow.hidden = YES; } } 三、添加Framework以及Run Script 添加这两项的时候注意和unity的工程中保持一致

    2.6K20发布于 2019-09-27
  • 来自专栏哈雷彗星撞地球

    你知道如何为iOS工程改名吗?

    我们在iOS开发中,难免会遇到项目做到一半要改名字的情况。如果项目名差的太大,工程名看起来总是不舒服的,有良心的开发者可能就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容。 7266902F-751B-42BE-BF13-FF84EB5E96BB.png 接下来是将doutu替换为shopping。 ? 5.修改pch文件路径 如果你的工程里添加了pch文件,因为修改了文件夹,project名字,所以pch文件夹路径也要修改。修改前编译运行,会报如下错误: ? 修改大文件夹的名称 9.修改推送文件的配置(补充) 从iOS 10 开始,工程里多了一个entitlements文件,所以修改完其他之后,还需要修改一下 entitlements文件的路径。 当然,你也可以在5、6步的时候,顺便一起修改了。 到这里,就真的大功告成啦。Have Fun!

    1.2K30发布于 2018-08-22
  • 来自专栏iOS开发~

    iOS_用SourceTree合并工程冲突,工程打不开时的操作

    1.右键工程 --> 显示包内容 2.打开project.pbxproj文件 3.command + F :搜索“<<<<<” 或“>>>>>” 4.删除这些符号所在的行就行,别删多了 删完之后,你的工程就能打开了

    71920编辑于 2022-07-20
  • 来自专栏代码小技巧分享分析

    iOS MD5加密算法

    iOS下的具体实现方式如下 新建一个类 继承 #import <Foundation/Foundation.h> #import <CommonCrypto/CommonDigest.h > @interface MD5 : NSObject /** * MD5加密,传入需要加密的字符串,不可逆 * * @param str 需要加密的字符串 * * @return 加密后字符串 */ + (NSString *)md5:(NSString *)str; @end 类的实现 #import "MD5.h" @implementation MD5 + (NSString *)md5:(NSString *)str { md5:str]; NSLog(@"str=%@,str1=%@",str,str1); 输出结果  TestMD5[659:20205] str=准备加密,str1=54a96da37e422e51

    80730发布于 2021-10-29
  • 来自专栏飞鸟的专栏

    5、熟悉和配置Cisco Ios 设备

    一、初始配置 1、启动路由 进入IOS后系统会询问是否使用对话模式配置路由器,一般不使用 Continue with configuration dialog?  123456              Router(config-line)#login vty密码:和console密码类似,在远程telnet方式连接时生效,line vty 0 4表示在0到4的5个虚拟终端进行设置 )#description            添加描述         Router#show running-config               查看配置信息,可以打印描述 使用do命令:IOS

    93150编辑于 2022-01-05
  • GPT-5 提示工程指南

    原文链接: https://cookbook.openai.com/examples/gpt-5/gpt-5_prompting_guide 可以先看要点总结,全文在下面。 Lucide 动画:Motion 字体:San Serif, Inter, Geist等 从零到一应用生成: 使用自我反思提示词建立评估标准 要求模型根据自建标准进行迭代执行 匹配代码库设计规范: 提供工程原则 我们将深入探讨如何提升智能体任务性能、确保指令遵循、运用全新的 API 功能,以及为前端和软件工程任务优化编程等概念,并重点分享 AI 代码编辑器 Cursor 在 GPT-5 提示词调优方面的关键见解 我们希望本指南以及我们构建的提示词优化工具,能成为您驾驭 GPT-5 的起点。但请始终牢记,提示工程并非一刀切的实践——我们鼓励您在本文提供的基础上不断实验和迭代,以找到解决您特定问题的最佳方案。 这些指令可以总结工程原则、目录结构以及代码库中显式和隐式的最佳实践等关键方面。下面的提示词片段展示了一种为 GPT-5 组织代码编辑规则的方式:您可以根据自己的编程设计品味随意修改规则的实际内容!

    43510编辑于 2025-10-11
  • 来自专栏BY的专栏

    iOS如何使用MD5加密

    在登录注册时,经常采用MD5加密技术对密码,也用于对敏感数据进行加密。本文简单介绍了iOS中MD5加密的使用方式。 [16]; CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c); NSMutableString *md5Str = [[NSMutableString appendFormat:@"%02x",md5c[i]]; } // md5Str 为加密后的密码 但是这个仅是简单加密后的MD5密码,容易被破解,破解方法可参照 MD5解密 复杂的MD5解密 alloc] initWithCapacity:100]; // md5c[1] -> 0x16; [md5Str appendFormat:@"%02x",md5c[0]]; :@"%02x",md5c[0]]; for (int i = 1; i < 16; i++) { [md5Str appendFormat:@"%02x",md5c[i]^md5c

    1.6K40发布于 2018-05-11
  • 来自专栏iOSer成长记录

    Unity与iOS交互,Unity脚本修改Xcode工程

    Unity与iOS交互 Unity调用iOS的方法,首先在Xcode中新建一个iOS的桥接类,并且将.m的后缀修改为.mm 在.h中加入以下代码,里面的函数包括 无返回,返回字符串,返回布尔,带参数的函数等 UNITY_EDITOR return IsFullSecreen(); #else return false; #endif } iOS通知Unity,iOS直接调用 Unity方法的实现是非常麻烦的,通常情况下,我们都使用通知的方法,常见的场景是Unity调用iOS方法需要异步返回时 在iOS类中加入下面代码,然后我们就可以给Unity发送通知了,如UnitySendMessage 通知 Debug.log(msg); } Unity脚本修改Xcode工程 Unity要在iOS平台发布,需要先生成Xcode工程,通常生成Xcode工程后我们还需要修改很多的配置,添加原生代码等 , 而这些是可以通过cs脚本修改的,比如修改Xcode工程的plist、添加Framework库、拷贝文件到iOS工程、插入代码等 自动pod 实现自动pod需要谷歌的一个插件https://github.com

    2.2K10发布于 2021-03-02
  • 来自专栏青玉伏案

    iOS逆向工程之Hopper中的ARM指令

    如果你想对iOS系统以及你的应用进一步的了解,那么对ARM指令集的了解是必不可少的,ARM指令集应该也算得上是iOS逆向工程的基础了。 所以对ARM指令的了解,是iOS逆向工程的基础呢。今天这篇博客就总结一下ARM指令集的基础指令。 ? STRD R4, R5, [R6, #offset]    ;*(R6 + offset) = R4; *(R6 + offset + 4) = R5 (3)、块数据存取  LDM (Load Mutiple MOV  R0, #5 MOV  R1, R0, LSL #2 上述命令,就是将5存储到R0寄存器上(R0 = 5), 然后将R0逻辑左移2位后传送到R1寄存器中。 十进制5的二进制数值是0101,进行逻辑左移2位就是0001_0100, 也就是十进制中的20。其实没逻辑左移1位就相当于原数值进行乘2操作,5逻辑左移2位其实就是5 x 2^2 = 20。

    1.7K70发布于 2018-01-11
领券