繁体   English   中英

将SPView添加到现有的iOS项目中会显示粉红屏幕(Sparrow Framework)

[英]Adding SPView to an existing iOS project shows pink screen (Sparrow Framework)

我正在尝试向我的iPhone应用程序添加一些粒子效果。 我的项目是使用传统的UIKit创建的。 我没有使用AppScaffold模板,因此必须手动添加和设置麻雀。 我做了#import "Sparrow.h" ,它建立的很好。

问题是当我尝试添加SPView时。 它只是显示一个空白的粉红色视图。 我不知道我做错了什么。 这是我的代码段:

Game.h

@implementation Game
- (id)initWithWidth:(float)width height:(float)height
{
    if (self = [super initWithWidth:width height:height])
    {
        SPQuad *quad = [SPQuad quadWithWidth:100 height:100];
        quad.color = 0xff0000;
        quad.x = 50;
        quad.y = 50;
        [self addChild:quad];
    }
    return self;
}
@end

在viewController的viewDidload中...

- (void)viewDidLoad {
    [super viewDidLoad];
    // sparrow
    SP_CREATE_POOL(pool);    

    [SPStage setSupportHighResolutions:YES];

    SPView *spv = [[SPView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:spv];
    [spv release];

    spv.frameRate = 30;

    Game *game = [[Game alloc] init];
    spv.stage = game;
    [game release];
    [spv start];

    SP_RELEASE_POOL(pool);
}

其他怪异的症状是,我在.xib文件中创建了一个UIView,并将其类更改为SPView。 但是当我使用该视图时,编译器仍将其识别为UIView。 就像xCode可以看到头文件,但编译器不知何故。 另一个问题是我尝试使用方法'SPImage * background = [SPImage imageWithContentsOfFile:@“ camera_test.png”];',但是当我运行它时,出现此错误reason: '+[NSBundle appBundle]: unrecognized selector sent to class 0x7a6890'. 这意味着它找不到麻雀类别方法“ appBundle”。 但是此方法在源代码中确实存在! 并且编译没有问题。 它只是在运行时崩溃。

我仔细检查了构建设置,我认为我已经正确设置了所有设置,例如'Other Linker -ObjC -load_all 我不知道出什么问题了。

我找到了解决方案。 在目标的“构建设置”中,我必须在“其他链接器标志”中为目标和项目列都设置-ObjC -all_load “目标”列的设置已变白,因此我认为没有任何设置,但实际上其中有一个值! 我花了一天时间浏览Sparrow'AppScaffold'项目中的每个构建设置选项,并无意间发现了这一点。 这非常棘手。 即使在项目中设置了-ObjC -all_load ,但在Target中未设置该项目,该项目仍然可以正常构建,但是将无法运行甚至在运行时崩溃。

未突出显示“其他链接器标志”。 未突出显示“其他链接器标记”设置。

突出显示“其他链接器标志”。 啊! 目标(AggScaffold)列中有内容! 突出显示“其他链接器标记”设置。啊!目标(AggScaffold)列中有内容!

我建议Sparrow框架人员将这些信息包括在他们的教程中。 即使缺少这样的小细节,也可能导致某人整天对其进行修复。

希望这可以帮助。

PS。 在麻雀论坛中链接到我的这个问题: http : //forum.sparrow-framework.org/topic/adding-spview-to-a-uiview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM