Tag: 静态库

iOS没有生成Xcode 6.1静态库.a

我试图使用Xcode 6.1为我的iOS设备创build一个静态库。 我selectXcode一个新的项目模板Cocoa Touch静态库,并命名为MyLib。 对于MyLib目标,我select模拟器中的iPhone 6。 项目打开后,我成功创buildMyLib。 但是,如果我查看产品文件夹,libMyLib.a是红色的,没有任何反应,如果我想用finder显示它。 在以前的Xcode版本中,它似乎工作,我怎么在一些教程中find。 我find了解决scheme:该库是在下创build的 ../Xcode/Products/Debug-iphonesimulator/libMyLib.a 如果我将目标切换到我的真实iPhone 6,它也可以工作,在产品文件夹中,libMyLib将变成黑色,并且库被创build ../Xcode/Products/Debug-iphoneos/libMyLib.a

如何链接iOS的静态库

我创build了一堆.o文件(通过gcc -c $file.c $someotherops -o $file.o )。 现在我想将它们链接到一个静态库。 我不完全确定我是否应该使用ld或gcc 。 在ld手册中,据说我不应该直接使用它。 但是,我无法弄清楚创build静态库的gcc参数。 我试过ld *.o -static -o libfoo.a但它抱怨了很多丢失的符号(我认为所有的libc)。 我不明白为什么它抱怨,因为它应该是一个静态库。 我认为一旦我将静态库链接到其他的东西,就会检查符号。 另一件事:我在这里使用/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld (我的目标是iOS)。 它抱怨警告ld: warning: using ld_classic 。 这是关于什么的? 然后我想,也许它需要指定dynamic库。 所以我加了-lc来链接libc。 但它抱怨与can't locate file for: -lc 。 我添加了-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib并且有一个libc.dylib 。 有任何想法吗? 关于-lc错误:在我指定了-arch armv6之后,它就离开了。 然后它抱怨一个错误的libcache.dylib (它必须链接从libc.dylib我猜,因为它没有指定它)。 添加-L…/usr/lib/system帮助。 现在,对于每个.o文件,我都会得到警告ld: warning: CPU_SUBTYPE_ARM_ALL subtype is deprecated 。 这是关于什么的? 而且我还有一堆缺less的符号,特别是: Undefined symbols for […]

Xcode中有2个第三方库的重复符号问题

我试图编译一个依赖于2个第三方静态库的项目。 问题在于,两个第三方都在静态库分发中包含了相同的“实用程序”类,这意味着当我的项目中都添加了两个符号错误时,我会遇到很多重复的符号错误。 有没有办法让我强制项目以某种方式编译和/或忽略重复的符号之一? 我在这里find了一个类似的问题,这里有两个在Xcode中带有重复符号的静态库,但是我有兴趣看看是否有一个编译器标志可以做到这一点(请注意,在这种情况下,我假设两个符号代表相同的对象)。 谢谢Rog

如何在iOS中的静态库中添加xib文件

我想在静态库中添加xib文件或任何其他视图控制器文件,但我不能这样做。 你能帮我么? 如果可能的话,请添加整个源代码 他们是第一个视图上的button。 当点击那个button时,新的视图控制器会产生一些东西(让我们说改变背景颜色)。 如何为此创build静态库? 这样我可以在另一个项目中使用它? 提前致谢

创buildpodspec来运送静态库

我试图通过cocoapods发运一个静态库。 我被授予了图书馆没有任何build立方向现在它的一个下降到我的iOS应用程序。 我不需要为使用它的每个应用程序构build库,而只需要下载lib文件并包含头文件。 有没有办法做到这一点与podspec文件? 这是我到目前为止: Pod::Spec.new do |s| s.name = "RTMPLib Library" s.version = "1.0.0" s.summary = "RTMPLib Library" s.homepage = "https://github.com/jumper/RTMPLib.git" s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { "jon morehouse" => "jon@jumperapp.com" } s.source = { :git => "https://github.com/jumper/RTMPLib.git", :tag => "#{s.version}" } s.platform = :ios, '7.0' # […]

如何从iOS中的现有框架创build静态库?

我已经为第三方供应商提供了一个iPhone硬件附件的框架。 所以我有一个像Device.framework文件夹。 该文件夹内是一个二进制文件和一组.h文件。 有关于如何将其添加到iOS项目并使用其中包含的类的说明。 但是,我实际上使用MonoTouch并希望使用静态库。 有没有办法创build一个静态库,使静态库中的框架中的所有类都可用? 所以在我的MonoTouch项目中,我将链接到静态库,并有权访问该框架。

为什么最终的二进制文件的大小比静态库的大小要小得多呢?

这是一个iOS问题。 我构build了一个静态库(iOS中的框架 ),然后包含在一个应用程序中。 结果二进制(500kb)的大小小于静态库(6mb)的大小。 这个怎么用? 我对静态库的理解是静态库包含在最终的二进制文件中

iOS静态库作为具有自定义生成configuration的项目的子项目?

我试图在多个Xcode项目之间共享代码。 我已经按照Apple的说明在项目中创build了一个静态库子项目: http://developer.apple.com/library/ios/technotes/iOSStaticLibraries/iOSStaticLibraries.pdf 这很好用! 但是,当我使用自己的项目按照相同的说明,我发现我的应用程序中的代码无法find我在静态库中公开的头文件。 这是因为我的项目使用自定义生成configuration。 我有一个Ad Hoc构build,App Store构build等 例如:当我使用名为“Ad Hoc”的构buildconfiguration构build项目时,静态库子项目将构build发布configuration,并将其公共标题复制到名为“发布”的文件夹中。 主项目然后无法build立,抱怨说,它无法find我从静态库中导入的标题。 错误在“问题导航器”中显示为:Lexical或Preprocessor问题 所以我的问题是:你如何build立一个静态库作为一个项目的子项目,build立configuration,库不?

用cocoapods使用AdobeMobileLibrary(用于iOS)?

我们将使用Omniture-Tracking for iOS,它是AdobeMobileLibrary的一部分。 AdobeAdobeMobileLibrary不可通过cocoapods-repo(仅适用于旧版本的Omniture)提供,但作为静态库,可以从Adobe网站下载。 我想知道是否有可能用cocoapods维护这个静态库? 我创build了一个podspec文件: Pod::Spec.new do |s| s.name = 'AdobeMobileLibrary' s.version = '4.0.2' s.license = 'Commercial' s.summary = 'Adobe Omniture SiteCatalyst analytics library for iOS.' s.homepage = 'https://developer.omniture.com/en_US/content_page/mobile/c-measuring-mobile-applications' s.author = { 'Adobe Omniture SiteCatalyst' => 'http://www.adobe.com/solutions/digital-marketing.html' } s.source_files = 'AdobeMobileLibrary/*.{json,h}' s.ios.vendored_library = 'AdobeMobileLibrary/AdobeMobileLibrary.a' s.library = 'AdobeMobileLibrary' s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/AdobeMobileLibrary"' } […]

静态库在iOS模拟器上发生错误,并在iOS设备上运行

目前我正在开发一个iOS应用程序(iOS 6),其中我需要实现一个静态库。 我使用本教程成功实现了静态库。 我成功地将静态库添加到其他项目,并将应用程序安装到iPhone! 它工作成功。 但我的问题是,当我试图在我的模拟器上运行一些错误即将到来: "_OBJC_CLASS_$_MMPAlert", referenced from: objc-class-ref in ViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 我添加了如下目标架构: 我search了很多,但找不到解决scheme,为什么我的库正在设备上,并在模拟器上给错误。 请帮助我,提前感谢