小编Tho*_*sen的帖子

AVAudioPlayer在调试模式下抛出断点

每次加载应用程序时,它都会停止,就好像我在此行上设置了一个断点:

self.audioPlayer = 
 [[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName] 
                                error:&outError] autorelease];
Run Code Online (Sandbox Code Playgroud)

这条线上方或附近没有断点.它只在我在调试模式下运行应用程序时发生,并且在断点之后没有任何崩溃.当我点击"继续执行程序"时,该应用程序无效.

这是loadData方法,使用initWithData以下方法调用:

-(NSData*)loadData:(NSString*)fileName
{
    NSString *dataPath = [self.path stringByAppendingPathComponent:fileName];
    dataPath = [dataPath stringByStandardizingPath];
    NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ];
    return data;
}
Run Code Online (Sandbox Code Playgroud)

loadData函数似乎工作正常.在断点之后加载并播放请求的mp3文件没有任何问题.

你知道我做错了什么吗?

编辑: 当它在断点处停止时我跑了回溯.这是输出:

(lldb) bt
* thread #1: tid = 0x1c03, 0x30df1724 libc++abi.dylib`__cxa_throw, stop reason = breakpoint 1.2
    frame #0: 0x30df1724 libc++abi.dylib`__cxa_throw
    frame #1: 0x36403a24 AudioToolbox`ID3ParserHandle::ID3ParserHandle(void*, long (*)(void*, unsigned long, unsigned long, unsigned long, void**, unsigned long*)) + 452
    frame #2: 0x36403b0e AudioToolbox`ID3ParserOpen + 142 …

iphone cocoa-touch objective-c avaudioplayer ios

105
推荐指数
3
解决办法
1万
查看次数

错误:"文件是为归档而构建的,而不是被链接的架构(armv7s)"

我已经构建了自己的静态C++库,它使用以下设置构建:

  • 架构:armv7,armv7s
  • 仅构建活动架构:否
  • 支持平台:iOS
  • 有效的架构:armv7,armv7s

库项目构建良好,我得到.a文件(我已经清理了构建文件夹并再次构建项目以确保我的设置有效).

我已将库(.a文件)添加到我的iOS项目中,但即使我在iOS项目中设置了完全相同的设置,项目也无法构建:

  • 架构:armv7s,armv7
  • 仅构建活动架构:是的
  • 支持平台:iOS
  • 有效的架构:armv7,armv7s

我一直收到这个错误:

LD:警告:忽略文件 /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a,文件归档建这不是架构被链接(armv7s) : /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a

我错过了什么?它告诉我.a文件不是为armv7s构建的,但这正是我用库构建的设置.

xcode static-libraries armv7 ios

42
推荐指数
4
解决办法
3万
查看次数

| - (20) - 当呼入状态栏可见时,[UIInputSetContainerView约束会中断

当我通过在模拟器中按下Command + Y来显示"Call-in"状态栏时,我的应用程序突破了约束.它只在第一次出现呼入栏时发生.一切看起来都应该如此,但日志打印出以下内容:

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x7fb4cb9b2b60 V:|-(20)-[UIInputSetContainerView:0x7fb4cb9b1190]   (Names: '|':UITextEffectsWindow:0x7fb4cba003f0 )>",
    "<NSLayoutConstraint:0x7fb4cb942100 'UIInputWindowController-top' V:|-(0)-[UIInputSetContainerView:0x7fb4cb9b1190]   (Names: '|':UITextEffectsWindow:0x7fb4cba003f0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fb4cb9b2b60 V:|-(20)-[UIInputSetContainerView:0x7fb4cb9b1190]   (Names: '|':UITextEffectsWindow:0x7fb4cba003f0 )>

Make …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios9

33
推荐指数
1
解决办法
3980
查看次数

如何从恢复的事务中获取产品标识符?

我已设法恢复应用内交易并从原始交易中获取交易标识符,但如何识别在交易中购买的产品?是否有可能获得以前购买的应用内商品的产品标识符?

iphone in-app-purchase ios

21
推荐指数
2
解决办法
7663
查看次数

在Game Center中重新连接播放器

我正在使用GKMatch类为游戏中心搞清楚如何以一种好的方式重新启动断开连接的玩家.该游戏是1对1游戏.

当我检测到一个断开连接的玩家时,我尝试将该特定玩家重新用于此次调用的匹配:

[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)
Run Code Online (Sandbox Code Playgroud)

这可以按照预期的方式工作.当其他玩家建立了连接时,他会重新获得并且匹配可以继续.但这留下了一个我无法解决的问题.场景如下:

  • 播放器1断开连接.
  • 当玩家1断开连接时,玩家2离开比赛.
  • 播放器1重新连接并检测到他失去了与播放器2的连接并尝试重新连接到播放器2.
  • 玩家2正在寻找新匹配,他正在使用matchmakerViewController.
  • 玩家2突然加入了与他离开的玩家1的旧比赛.

所以我的问题是matchmakerViewController允许玩家加入旧比赛,如果他们被重新激活.有没有更好的方法来处理这种重新连接方案,这样人们就不会被邀请回旧的比赛?

iphone objective-c gamekit ios game-center

18
推荐指数
1
解决办法
1494
查看次数

在触摸iOS 7之前,后退按钮的背景图像不会出现

我遇到[UIBarButtonItem appearance]了后退按钮背景图像的一些问题.

通常(iOS 5和iOS 6)我能够设置后退按钮的背景图像,如下所示:

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

但在iOS 7中,背景图像不会显示在后退按钮上.奇怪的是,当触摸后退按钮一次时,背景图像实际出现.

我已经尝试为所有状态设置图像,以测试iOS 7是否使用某种新状态用于未触摸的后退按钮,但似乎并非如此.

你有什么想法,我做错了什么?

objective-c uinavigationbar ios7

15
推荐指数
1
解决办法
4807
查看次数

在iOS7中处于编辑模式时,UITableViewCell内容与删除按钮重叠

我正在创建一个UITableView自定义UITableViewCells.iOS 7的新删除按钮导致我的单元格布局出现一些问题.

如果我使用"编辑"按钮,这会使红色圆圈出现,我会遇到问题,但是如果我刷一个单元格,它看起来很完美.

这是在使用"编辑"按钮时:

[self.tableView setEditing:!self.tableView.editing animated:YES];
Run Code Online (Sandbox Code Playgroud)

内容与删除按钮重叠

这是我刷一个单元格的时候:

内容是正确的

您可以看到我的标签与第一个示例中的删除按钮重叠.为什么这样做,我该如何解决?

objective-c uitableview ios7

15
推荐指数
1
解决办法
2万
查看次数

GameKit的通信与GKMatchSendDataReliable一起可靠吗?

我正在努力,GameKit.framework我正在尝试在两个iPhone之间建立可靠的通信.

我正在使用该GKMatchSendDataReliable模式发送包裹.

文件说:

GKMatchSendDataReliable

数据将持续发送,直到预期收件人成功接收或连接超时.可靠的传输按发送顺序传送.当您需要保证交货时使用此选项.

适用于iOS 4.1及更高版本.在GKMatch.h中声明.

我在WiFi连接不良时遇到了一些问题.在GameKit没有声明失去了联系,但有些包永远不会到来.

我可以依靠100%可靠的通信使用,GKMatchSendDataReliable还是Apple只使用花哨的名称来实现他们没有实现的东西?

objective-c gamekit ios game-center

12
推荐指数
1
解决办法
655
查看次数

将NSDictionary条目添加到NSMutableDictionary

我有一个for循环,通过一个数组中的一系列字典.

如何通过for循环将所有词典条目合并为一个NSMutableDictionary

我试过了addEntriesFromDictionary,但它不起作用.谢谢你的帮助.

for (int i=0; i<sections.count; i++){

    formElements    = [[sections objectAtIndex:i]objectForKey:@"Dictionary"];        
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ipad ios

11
推荐指数
2
解决办法
1万
查看次数

UIPageControl不适用于IOS7中的UIImageView

在我努力升级我的应用程序以支持IOS7时,我发现UIPageControl它不支持UIImageView.他们改变了它.

我是子类化UIPageControl,以便将自定义圈子改为常规圈子(附上示例)

我的班级是:

- (id)initWithFrame:(CGRect)frame 
{
    // if the super init was successfull the overide begins.
    if ((self = [super initWithFrame:frame])) 
    { 
        // allocate two bakground images, one as the active page and the other as the inactive
        activeImage = [UIImage imageNamed:@"active_page_image.png"];
        inactiveImage = [UIImage imageNamed:@"inactive_page_image.png"];
    }
    return self;
}

// Update the background images to be placed at the right position
-(void) updateDots
{
    for (int i = 0; i < [self.subviews count]; …
Run Code Online (Sandbox Code Playgroud)

objective-c uipagecontrol ios7

11
推荐指数
1
解决办法
8636
查看次数