关闭

Xcode3创建和使用iOS的dylib动态库

标签: XcodeiOS动态库dylib
7715人阅读 评论(14) 收藏 举报
分类:

此文真正写于2011年4月,当时是xcode3.X版本。xcode4的路径会不同,方法请查看 Xcode4.6创建和使用iOS的dylib动态库

文中提到的压缩文件在此下载http://download.csdn.net/detail/hursing/5159352

1. Xcode同时打开两个文件

“/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/MacOSX Product Types.xcspec”

“/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneOSProductTypes.xcspec”


在“
MacOSX Product Types.xcspec”中找到Identifiercom.apple.product-type.library.dynamicItem,拖拽添加到iPhoneOSProductTypes.xcspec”的root下。(模拟器版类似)

2.用Xcode同时打开两个文件

“/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/MacOSX Package Types.xcspec”

“/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneOS PackageTypes.xcspec”


在“
MacOSX Package Types.xcspec”中找到Identifiercom.apple.package-type.mach-o-dylibItem,拖拽添加到“iPhoneOS PackageTypes.xcspec”的root下。

3.解压Cocoa Touch Dynamic Library.zip放到/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Library/

这是动态库的project模板,其实质是把由静态库模板创建的项目文件$ProjectName/ProjectName.xcodeproj/project.pbxproj中的字符串“com.apple.prodcut-type.library.static”改成了“com.apple.prodcut-type.library.dynamic”。

4解压Dynamic Library.trgttmpl.zip放到/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Target Templates/Cocoa Touch/

这是动态库是target模板。


5.完成以上四步即可开始创建dylib。开始前需要确保退出一次Xcode再继续。


选择Xcode->Create a new Xcode project->iOS->Library->Cocoa Touch Dynamic Library创建动态库,随意添加类和函数。要注意,必须在Groups & Files/Targets/$ProjectNameInfo面板(双击该Target即会打开这个面板),把Installation Directory一栏改成
@executable_path/。目的是修改加载路径为可执行目录。否则加载此dylibapp会在原路径/usr/local/lib中寻找此dylib,导致dlopen返回错误信息“image not found”。


6.随意创建一个app project

Add->Existing Frameworks,选择生成的dylib加入到project中,并把dylib添加到Targets/$ProjectName/Copy Bundle Resources。这样dylib就会被打包到app中。

注意:AppRelease版必须在TargetInfo面板中把Strip Debug Symbols During Copy一栏的取消打钩。否则程序一运行即会崩溃。暂时不知道原因。Debug版原本就是取消的,所以没问题。


PS

App可打包为ipa格式,在越狱的机器上测试通过。示例程序在Dylib.zip

一下添加或覆盖四个文件完成前四步。 解压Developer.zip后覆盖/Developer即可

1
0
查看评论

Xcode8添加dylib库

Xcode8中 Link Binary With Libraries 没有 .dylib库,只能找到对应的 .tbd,但不能代替使用,尝试后得到以下两种解决方法。 方法1. 在项目Target中的Link Binary With Libraries 手动添加 首先点击 “+” 显示搜索添加页面,...
  • haochentao
  • haochentao
  • 2016-11-23 14:54
  • 2238

Xcode3创建和使用iOS的dylib动态库

此文真正写于2011年4月,当时是xcode3.X版本。xcode4的路径会不同,方法请查看 Xcode4.6创建和使用iOS的dylib动态库。 文中提到的压缩文件在此下载http://download.csdn.net/detail/hursing/5159352 1.&#...
  • lusonglin121
  • lusonglin121
  • 2013-08-18 10:37
  • 816

iOS Hacker 动态库 dylib 注入

iOS Hacker 动态库 dylib 注入很多情况下我们希望自己写的代码能够在其他应用中运行,如果代码简单的话,可以写 Tweak 或者使用 Cycript。但如果代码多的话,那最好是写一个动态库,然后把文件注入到应用中得到代码的执行。一般有两种方法,本文简单的讲解一下。一、编写 dylib​ ...
  • SysProgram
  • SysProgram
  • 2017-07-20 23:30
  • 1535

动态链接库创建与使用(学习笔记)

在学习过程中,一次次的感觉到dll文件的重要性,所以乘着这两天有时间,又把孙鑫老师的视频回顾了一遍,随便做了一下笔记,以供后续使用。IDE:Visual C++ 6.0创建动态链接库的方法方法一:(单个*.cpp文件)1.       新建...
  • JarvisChu
  • JarvisChu
  • 2011-06-21 16:32
  • 1450

Xcode7中 添加库 .dylib动态库

Xcode7中 添加库的时候没有 .dylib库,只能找到对应的 .tbd,但又不能代替使用,找到了一下的解决方法。 在项目Target中的Link Binary With Libraries 手动添加  1、首先点击 “+”  2、显示搜索添加页面...
  • Lu_Ca
  • Lu_Ca
  • 2016-03-11 13:36
  • 2192

Xcode4.6创建和使用iOS的dylib动态库

转载请注明出处:http://blog.csdn.net/hursing 此为xcode4的方法,xcode3的方法请查看 Xcode3创建和使用iOS的dylib动态库 找到两个目录,最好用两个finder窗口分别打开: 目录一: [plain]&...
  • O_surface_O
  • O_surface_O
  • 2013-11-29 15:51
  • 1071

iOS Hacker 重签名实现无需越狱注入动态库 dylib

iOS Hacker 重签名实现无需越狱注入动态库 dylib一、获取 ipa 文件iOS 的应用都是打包成 ipa 的文件格式,ipa 文件实际上就是 zip 格式的文件,通过 unzip 可以解压,和安卓下的 apk 包类似。App Store 下载完应用,就把 ipa 解压到某个目录,然后把 ...
  • SysProgram
  • SysProgram
  • 2017-08-15 10:31
  • 1070

IOS安全–可执行文件dylib注入,无需越狱

转:http://www.blogfshare.com/inject-with-njb.html 简单来说就是通过修改可执行文件的Load Commands,增加一个LC_LOAD_DYLIB,写入dylib路径。这样程序执行的时候就会来编译这个LC_LOAD_DYLIB找到要注入的dyl...
  • zhangmiaoping23
  • zhangmiaoping23
  • 2015-12-04 11:06
  • 5143

Qt创建和使用动态链接库

文章来源:http://blog.csdn.net/q496713258/article/details/6990837 一、创建共享库 1、新其他建项目,选择C++库 2、选择共享库,并取项目名称,单击下一步。这里取名位mylib 3、按默认配置单击下一步至...
  • libaineu2004
  • libaineu2004
  • 2014-02-25 11:55
  • 2196

在ipa中注入动态库dylib并运行自己的代码

最近接到一个需求,要求将自己写的dylib注入到别人的ipa中,在启动该程序后可以运行自己的代码。这个需求主要分为两部分,第一部分是注入dylib,第二部分是运行自定义代码。于是乎四处去找实现方案,对于第一部分一般都是事先将dylib手动放入 /Library/MobileSubstrat...
  • kakaluo123
  • kakaluo123
  • 2015-09-07 13:37
  • 2788
    个人资料
    • 访问:1109556次
    • 积分:9947
    • 等级:
    • 排名:第2088名
    • 原创:128篇
    • 转载:0篇
    • 译文:0篇
    • 评论:439条
    联系方式
    微信:hursing

    前阿里巴巴技术专家。现参与互联网金融创业,广招程序员~
    博客专栏
    最新评论