标签: xcode4

AVAudioPlayer没有播放任何声音

我正在开发一个需要使用AVFoundation框架播放声音的iOS应用程序.Xcode 4中的工作区结构包含两个项目:

  • 工作区
    • 应用程序本身(主要项目)
    • 实用程序库

构建实用程序库之后,它会生成一个静态库,该库在主应用程序中用作框架.

因此,当尝试使用下面的代码在主应用程序内播放声音时,它会按预期工作.

NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *path = [NSString stringWithFormat:@"%@/sound.mp3", resourcePath];

NSURL *url = [NSURL fileURLWithPath:path];
NSError *error = nil;

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url
                                                                    error:&error];
[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)

相反,当尝试使用与上面相同的代码在实用程序库中播放完全相同的声音(或任何其他声音)时,即使错误为nilaudioPlayer属性值为正确,也不会播放任何声音(数字)频道,持续时间).

我确保AVFoundation框架在两个项目中.

此外,我的类使用AVAudioPlayerDelegate协议并实现这两个方法:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error;
Run Code Online (Sandbox Code Playgroud)

尝试播放声音后,这些方法都不会被调用.

如果我使用AudioToolbox框架,那么它会播放声音.但AVFoundation由于几个原因,我对使用感兴趣.

怎么知道发生了什么?我错过了什么AVFoundation吗?它可能与AVAudioPlayer在静态库中使用有关吗?

提前致谢.

audio objective-c avfoundation xcode4 automatic-ref-counting

58
推荐指数
5
解决办法
3万
查看次数

有没有办法跳转到Xcode中的特定方法?

我正在使用Xcode 4.3进行Objective-C开发.我喜欢在其他文本编辑器中使用的一个功能(我知道Xcode是一个IDE),它跳转到同一代码文件中的方法定义.

例如,如果我在@implementation of Calculator并且计算器有10种方法,我会想要一种在它们之间跳转的方法.

如果我按下命令+ LI可以跳转到特定的行号,有没有办法以类似的方式跳转到方法定义?例如,而不是键入行号以仅键入方法名称的开头.

我可以以某种方式打开一个对话框,键入方法签名的开头并立即查看搜索结果,如果我选择一种方法,它会让我接受它吗?

有没有办法从方法跳转到下一个方法?

xcode xcode4

57
推荐指数
3
解决办法
2万
查看次数

如何在XCode 4中为代码添加书签?

我找不到一种方法将书签放在XCode 4的代码中.我知道这#pragma mark件事,但它不是我想要的.我需要的东西是我可以通过鼠标点击放置和删除,并在下一个和上一个之间导航,就像在VS.

有什么我想念的吗?

bookmarks xcode4

56
推荐指数
4
解决办法
2万
查看次数

Xcode智能感知彩色框中字母的含义,如f,T,C,M,P,C,K,#等

最近,我开始使用Xcode 4开发iOS应用程序.

在Xcode intellisense的自动完成框中,每个建议之前都有一些彩色框中的字母.我知道它们代表了我们输入的单词属性,如f,T,C,M,P,C,K,#等. 在此输入图像描述

是否有某种词汇表可以找到它们的快速含义?

f,C,T,#的含义是可以理解的(函数,类等),但还有许多其他我不知道的.我认为这些字母是所有IDE的标准,如Visual Studio,Netbeans等.如果我错了,请纠正我.

请建议.

intellisense xcode objective-c ios xcode4

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

如何在nib/storyboard中的UITextView中创建一个新行?

我正在尝试在Xcode 4.2 UITextView中创建一个新行,当我执行alt + return时,它会转到下一行,但在构建和运行时不显示.

xcode uitextview ios xcode4 ios5

56
推荐指数
2
解决办法
3万
查看次数

Xcode - 仅在ARCHIVE期间增加内部版本号?

我找到了一些其他帖子,展示了如何使用脚本添加脚本来增加构建号:

增加内部版本号的更好方法?

Xcode项目的"Build number"

Xcode可以在构建时将版本号插入库的文件名吗?

但是我想要做的只是在我使用ARCHIVE(前后)时增加内部版本号.

示例:如果当前内部版本号为21,那么当我选择产品>归档时,内部版本号将增加到22,它将完成构建和创建内部版本号为22的存档文件的过程,然后当它是完成归档后,它会将内部版本号增加到23.

macos xcode xcode4 xcode4.2 osx-lion

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

Xcode4 - Build for Archiving灰色

可能重复:
Xcode 4 - "存档"显示为灰色?

我想通过Xcode 4提交我的iOS应用程序.问题是我无法进行Build for Archiving.它的非活动和灰色(菜单项产品 - >构建 - >构建存档),我不知道为什么.

有人有想法吗?

iphone xcode submit xcode4

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

Xcode 4和嵌套项目 - 找不到头文件

我在Xcode 4和嵌套项目中遇到了无数问题,这些问题在Xcode 3.2下运行良好.这是一个我无法解决的基本问题:

我正在构建一个cocoa框架,需要另一个cocoa框架,我有源代码.所以我执行通常的步骤:

  • .xcodeproj所需框架的文件拖到我的主框架项目中
  • 在TARGETS> MyFramework> Build Phases> Target Dependencies下的主框架中:添加嵌套项目的目标
  • 确保嵌套框架的头文件是公共的
  • 在Xcode设置>位置> 构建位置我将它设置为将构建产品放置在派生数据位置(推荐)
  • 将两个目标的构建产品路径设置为${BUILT_PRODUCTS_DIR}并告诉我它们位于DerivedData/Debug(或Release)位置
  • 两个目标的架构设置完全相同

然后我点击[CMD] + B进行构建,它告诉我它没有找到嵌套框架的头文件.当我检查设置时,用户标题搜索路径包含DerivedData/Debug的路径,里面有嵌套的框架目标,其中包含Versions/A/Headers中的头文件.

我坐在这里,任何人都知道我做错了什么?


当我将用户标题搜索路径更改为时,在构建调试时问题就消失了.但是,当构建Distribution时,这不起作用,因为框架然后使用它们的Release设置,最终在不同的子目录中...${BUILT_PRODUCTS_DIR}/MyFramework.framework/Headers


我的临时解决方案是为嵌套项目定义分布配置.这样就可以找到头文件并且链接器可以成功链接.

cocoa frameworks xcode4

52
推荐指数
1
解决办法
4万
查看次数

构建单元测试目标时链接错误

我有一个带有常规目标和单元测试目标的XCode4/iOS项目.一切正常,除非我尝试#import我的测试类中的一个类并尝试使用它.如果我尝试构建单元测试目标,我会收到以下链接错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_FRRCategory", referenced from:
      objc-class-ref in CategoryTests.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

在CategoryTests.m中,我以这种方式导入头文件:

#import "../todoro/FRRCategory.h"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

unit-testing linker-errors ocunit xcode4

52
推荐指数
3
解决办法
2万
查看次数

更改Xcode故事板中视图控制器的列表顺序

我刚刚使用故事板开始我的第一个应用程序.我正在使用Xcode 4.5和iOS 6 SDK.我想知道如何更改文档大纲(故事板左侧的面板)中列出控制器的顺序.在此输入图像描述

xcode ios xcode4 uistoryboard

51
推荐指数
4
解决办法
2万
查看次数