Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
855 views
in Technique[技术] by (71.8m points)

xcode - How can I create static library and can add just .a file on any project in ios

How can I create static library and can add just .a file on any project in ios.

I tried doing this but couldn't do it.

Thanks in advance

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

if you want create static lib mean refer the link http://jaym2503.blogspot.in/2013/01/how-to-make-universal-static-library.html

Step 1 : Create a New Project, Named it "Logger"

Step 2 : Create Classes

You can create as many classes you wants, In our tutorial we will create one class named "Logger". So, now two files should be in our resource. 1. Logger.h 2. Logger.m

Step 3 : Put some useful code into Classes

Step 4 : Create New Target

Create New Target from File Menu.

New Target Select Cocoa Touch Static Library

Step 5 : Add files to Compile Resource

Select "Logger" Target of Static Library Go to Build Phases In Complied Sources section, Add all the .m and .mm files. In Copy Files section, Add all the .h files and resource files.

Build Phases

Step 6 : Compile Project with Static Library Target

Compile Project for iOS Device Compile Project for Simulator You can find two different .a files generated in build folders.

Find .a file

Step 7: Make Static Library Universal

You can find two different library now, one is for simulator and one is for iOS devices.

Create a New Folder and name it LoggerMerge. Copy libLogger.a file of Debug-iphoneos folder to "LoggerMerge" rename it to libLogger_device.a Copy libLogger.a file of Debug-iphonesimulator folder to "LoggerMerge" rename it to libLogger_simulator.a Open LoggerMerge folder with Terminal Fire below command lipo -create "libLogger_simulator.a" "libLogger_device.a" -output "libLogger.a"

Now, you can find libLogger.a in LoggerMerge folder, this is Universal static library file. Now, Just one thing you need is headers, See above screenshot there is folder called include in both build folder. Just copy header file from this folder.

Step 8 : Test Static Library

Create New Project, name it TestLogger Import libLogger.a and header files Import header file "Logger.h" anywhere you want to use Now, Use this Logger class as default practice. In our case, [Logger log:@"Test String"]; Run Project in Simulator and Device both That's it!! You have your own static Library!!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...