问题
如何通过CocoaPods在我的iOS应用程序和随附的iOS扩展(ios8-extention,ios8-today-widget或ios8-share-extension)中包含afnetworking?
问题
>为了在扩展中使用,需要使用#define AF_APP_EXTENSIONS构建AFNetworking,这是否意味着需要2个版本的AFNetworking?一个用于扩展,一个用于应用程序?
>如何设置Podfile,以便将框架构建并复制到正确的位置?关于use_frameworks的文档!有点薄.
正如节奏拳头提到的,当做新的pod安装时,原始答案的方法会被覆盖.
Aelam在此Github issue中提供了以下方法:
Add this to your podfile. remember to replace the target name
post_install do |installer_representation| installer_representation.project.targets.each do |target| if target.name == "Pods-YOU_EXTENSION_TARGET-AFNetworking" target.build_configurations.each do |config| config.build_settings['GCC_PREPROCESSOR_DEFinitioNS'] ||= ['$(inherited)','AF_APP_EXTENSIONS=1'] end end endend
过时的答案:
1)请确保您的podfile中包含两个目标(您的容器应用程序和扩展名)的pod“AFNetworking”.
我的例子:
target 'ContainerAppTarget',:exclusive => true do pod "SDKThatInternallyUsesAFNetworking"endtarget 'ExtensionTarget',:exclusive => true do pod 'AFNetworking'end
2)在XCode中,单击层次结构视图上的Pods以构建其选项.然后在构建选项上,选择您正在查看下拉列表中的构建选项的目标.选择Pods- {扩展目标名称} -AFNetworking(它应该已由pod安装自动创建,然后选择Build Settings,然后在Apple LLVM 6.0 – Language下验证Prefix头文件是否为文件名,我的文件名为Target支持文件/ Pods- {扩展目标名称} -AFNetworking / Pods- {扩展目标名称} -AFNetworking-prefix.pch.如果没有这样的文件名或类似文件,请添加它.
3)转到那里的那个前缀头文件,或者你在那里添加.它几乎是空的,然后在最后添加以下行:
#define AF_APP_EXTENSIONS
这应该允许您的容器应用程序指向正常构建的AFNetworking版本,并将您的扩展应用程序指向使用标志集构建的另一个.所以只有一个版本的图书馆,但建立在两种不同的方式,每一个目标.
总结以上是内存溢出为你收集整理的如何将AFNetworking作为通过CocoaPods在iOS应用和扩展中使用的框架全部内容,希望文章能够帮你解决如何将AFNetworking作为通过CocoaPods在iOS应用和扩展中使用的框架所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)