Cocos2d iphone 使用cocos2d&;带椰子荚的box2d

Cocos2d iphone 使用cocos2d&;带椰子荚的box2d,cocos2d-iphone,box2d,cocoapods,Cocos2d Iphone,Box2d,Cocoapods,我在设置这个方面遇到了问题 我的播客文件: platform :ios pod 'cocos2d', '2.1' pod 'box2d', '2.3.0' 不幸的是,我们需要启用CC_ENABLE_BOX2D_INTEGRATION,因为默认情况下它设置为0 我尝试在podfile中添加一个post_安装钩子,如下所示: post_install do |installer_representation| installer_representation.project.targets.

我在设置这个方面遇到了问题

我的播客文件:

platform :ios

pod 'cocos2d', '2.1'
pod 'box2d', '2.3.0'
不幸的是,我们需要启用
CC_ENABLE_BOX2D_INTEGRATION
,因为默认情况下它设置为
0

我尝试在podfile中添加一个post_安装钩子,如下所示:

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
    if target.name == 'Pods-cocos2d'
      target.build_configurations.each do |config|
        s = config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']
        if s == nil
          s = [ '$(inherited)' ]
        end
        s.push('CC_ENABLE_BOX2D_INTEGRATION=1');
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = s
      end
    end
  end
end
它向Pods-cocos2d目标添加了预期的标志,但是它似乎在任何时候都不会被我的主项目继承,尽管在
GCC\u预处理器定义中有
$(继承的)
变量

即使如此,如果我手动将
CC\u ENABLE\u BOX2D\u INTEGRATION
编辑为on,我也会收到链接器错误,表明找不到
ccphysisprite


是否有人成功地将这两个库设置为与cocoapods一起工作?

CCPhysicsPrite不是Box2d的一部分,它是cocos2d的扩展。可能您没有将该文件包括在项目中?

结果是podspec忘记了包含.mm文件。我在Specs repo中提出了一个pull请求,所以当使用cocoapods时,库现在就完成了。