在Podfile中声明体系结构

时间:2013-12-16 22:43:52

标签: ios xcode cocoapods

有没有办法在CocoaPods Podfile中包含架构?我正在尝试为32位和64位构建我的应用程序但是当我在项目的构建设置中切换到Standard architectures (including 64-bit)时,它抱怨我应该让它自动选择体系结构。这样做会将我的项目还原为Standard architectures。我有一种感觉Xcode正在这样做,因为Pods项目(在我的Xcworkspace中)在其架构中不包含64位。有没有办法将其添加到Podfile(如果Pod自己做的话我假设更好),或者我应该在Pods项目中更改它。

我当前的Podfile

xcodeproj 'Nobles/Nobles.xcodeproj'

platform :ios, '7.0'

pod 'Reachability'
pod 'TWTSideMenuViewController'

2 个答案:

答案 0 :(得分:1)

我正在寻找类似问题的答案,并发现了这一点:

Resolving CocoaPods build error due to targets building for only active architecture

  

我在pod安装后总是有一个构建错误,因为默认情况下,CocoaPods会将你的pod配置为仅为活动架构构建(在调试期间)。

     

解决方案是将Pods项目设置Build Active Architecture Only更改为NO以进行调试。

     

但是在运行pod安装后每次更改都很繁琐(因为您的更改将恢复为YES)。

     

正如msmollin在CocoaPods问题中所建议的那样,您可以通过以下方式解决:

from pprint import pprint

input_lst = [[100, 150],
             [150, 140],
             [200, 180],
             [300, 150],
             [300, 100],
             [320, 180]]

output_lst = dict()

for n, v in input_lst:
    if n in output_lst:    # O(1)
        output_lst[n] = max(output_lst[n], v)    # O(1)
    else:
        output_lst[n] = v    # The question is, what is the complexity of this operation 

pprint(output_lst, width=10)

也许这可以帮到你?

答案 1 :(得分:0)

CocoaPods不能做你想做的事。它可以为您提供不同版本的库,但它对该库的构建方式一无所知。

运行xcrun -sdk iphoneos lipo -info libYourLibraryName.a以查看为其构建的体系结构。

如果这是一个开源库,您可以自己构建它,而不是仅仅链接.a文件。如果您无权访问库源,并且.a文件不包含64位切片,我恐怕您运气不好。联系开发人员并要求他们构建具有64位支持的库。