在使用SQL Server数据库在.NET中开发应用程序时,编写自定义连接池代码是否必要或有利?我知道ADO.NET为您提供了启用/禁用连接池的选项 - 这是否意味着它已内置到框架中而我不需要担心它?为什么人们谈论编写自己的连接池软件,这与ADO.NET中内置的有何不同?
可能重复:
iPhone - 多个目标是多个发射图像的噩梦
我正在开发一款配备"Lite"和"Pro"版本的iPhone应用程序.为了实现这一点,我使用了具有相同项目和代码库的两个目标.我想Default.png为应用程序的两个版本使用不同的"加载" 图像,但我不确定如何在构建每个目标之前手动覆盖文件.有没有什么方法可以在构建过程中自动完成?
我正在尝试使用Apple的HTTP Live Streaming协议将音频流式传输到iOS和Safari客户端.与HTTP Live Streaming的许多常见实现不同,我的目标是使用本质上具有不同长度的短音频剪辑,大多数在10-30秒范围内.除了从这些段流式传输音频之外,我还希望访问每个段的元数据,以便我可以更新显示和/或为用户提供其他选项以获取有关特定音频段的更多信息.
目前我已经设置了一些测试用例,将我的源音频(MP3)转换为各种格式并创建流式M3U文件以在iOS设备上进行测试,但我的方法都没有正常工作(正确流式传输并将元数据传递给客户端) .我AVPlayer用来加载和播放创建的M3U文件:
_playerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"http://localhost/sample.m3u8"]]
_player = [[AVPlayer alloc] initWithPlayerItem:_playerItem];
[_playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:NULL];
// ... wait for user input
[_player play];
Run Code Online (Sandbox Code Playgroud)
方法1:原始MP3文件
我将带有id3v2(v2.3.0)元数据的原始源MP3文件添加到M3U播放列表中.
#EXTM3U
#EXT-X-TARGETDURATION:23
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:14
http://localhost/trk_01.mp3
#EXTINF:22
http://localhost/trk_02.mp3
#EXTINF:16
http://localhost/trk_03.mp3
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)
结果:timedMetadata播放开始后,属性会立即更新,并显示第一首曲目的正确ID3信息.第一首曲目播放,但在结束时切断.第二首曲目的ID3数据显示,但第二首曲目未开始播放.片刻之后,我收到一个错误:
2011-04-26 07:04:52.668 TestClient[49756:601b] Prime: Exiting because mConverterError is '!buf' (0x800 req, 0x0 primed)
2011-04-26 07:04:52.668 TestClient[49756:601b] Prime failed ('!buf'); will stop (2048/0 frames)
Run Code Online (Sandbox Code Playgroud)
方法2:使用Apple的mediafilesegmenter创建单独的MP3文件
在这种方法中,我用来mediafilesegmenter为每个段创建一个新的MP3文件.Apple的分段工具通常用于分段,但由于我的音频剪辑都很短且各种长度,这并不适合我的应用程序.我将目标持续时间999秒传递给实用程序,以便为我提供的每个输入文件创建一个输出文件.这是我用来创建每个单独轨道的命令:
mediafilesegmenter -t 999 -f …Run Code Online (Sandbox Code Playgroud) 我有一个严重依赖OpenCV库的iPhone应用程序; 因此,我编译了这个库的静态版本以包含在我的应用程序中.执行此操作的说明相对简单:在iPhone上使用OpenCV.我遇到的唯一问题是将链接器标志设置STANDARD_C_PLUS_PLUS_LIBRARY_TYPE为" standard".该应用程序在OS 2.0和2.2下编译并运行完美.
升级到SDK 3.0并尝试重新编译我的应用程序后,我遇到了此链接器标志的问题.链接时我收到此错误:
ld:找不到-lstdc ++的库 - 静态
同样有趣的是,在我的系统中,除了iPhoneOS.platform/SDKs/iPhoneOS3.0.sk外,"libstdc ++ - static"似乎存在于所有iPhoneOS和iPhoneSimulator SDK下.以下是搜索结果:
$ locate libstdc++-static
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libstdc++-static.a
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++-static.a
/usr/lib/libstdc++-static.a
Run Code Online (Sandbox Code Playgroud)
我非常困惑,无法在Google或iPhone开发论坛上找到任何答案.如果有人能在这里说清楚,我真的很感激.
谢谢!
我在使用iPhone SDK 3.0构建的静态库Pinch Analytics r64在我的应用程序中正确链接时遇到了问题,该应用程序正在针对iPhone OS 2.0.这似乎是一个相当普遍的问题,Pinch Analytics的网站甚至还有一整页专门回答这个问题.
基本上,他们说将项目的Base SDK设置为3.0,并将iPhone OS部署目标设置为SDK 2.0(或者您要定位的任何版本).我已经采取了这两个步骤,验证我没有覆盖目标设置中的任何项目设置,清理了我的目标,但我仍然收到以下链接器错误:
Undefined symbols:
"___restore_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o)
"___save_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o)- libPMAnalytics-r64.a中的[Beacon connection:didFailWithError:](Beacon.o) - libPMAnalytics-r64.a中的[Beacon connection:didReceiveData:](Beacon.o)
等等
我来到我的智慧结束; 任何建议都会很棒!
我有一个UIViewController我用来控制"弹出"视图,以便在整个应用程序中查看图像.它支持自动旋转,因为无论方向如何,它都会自动调整图像大小.这很好用,但只是我第一次初始化和显示视图控制器.当它关闭时,我UIView将从我的视图层次结构中删除并释放视图控制器 - 但是下次我实例化并将其添加到我的视图层次结构时,它会-shouldAutorotateToInterfaceOrientation在手机旋转时停止接收消息.
这是我实例化和显示它的方式:
popupVC = [[PopupVC alloc] init];
[popupVC viewWillAppear:NO];
[[[UIApplication sharedApplication] keyWindow] addSubview:popupVC.view];
[popupVC viewDidAppear:NO];
Run Code Online (Sandbox Code Playgroud)
这是我完成时删除/释放它的方法:
[popupVC viewWillDisappear:NO];
[popupVC.view removeFromSuperview];
[popupVC viewDidDisappear:NO];
[popupVC release];
popupVC = nil;
Run Code Online (Sandbox Code Playgroud)
我已经尝试循环遍历[[UIApplication sharedApplication] keyWindow]子视图,看看我的弹出视图是不是在顶部,但它始终是.并且每次都有不同的地址,所以我知道它是视图控制器类的不同实例.
根据要求,这是完整的loadView方法PopupVC:
- (void)loadView {
UIView *myView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
myView.backgroundColor = self.overlayColor;
myView.autoresizesSubviews = NO;
myView.hidden = YES;
myView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.view = myView;
[myView release];
_isVisible = NO;
UIView *myMaskView = …Run Code Online (Sandbox Code Playgroud) 我在应用程序的几个地方使用单例模式,并且clang在分析代码时出现内存泄漏错误.
static MyClass *_sharedMyClass;
+ (MyClass *)sharedMyClass {
@synchronized(self) {
if (_sharedMyClass == nil)
[[self alloc] init];
}
return _sharedMyClass;
}
// clang error: Object allocated on line 5 is no longer referenced after this point and has a retain count of +1 (object leaked)
Run Code Online (Sandbox Code Playgroud)
我正在使用这些设置scan-build:
scan-build -v -v -v -V -k xcodebuild
我非常肯定单例中的代码很好 - 毕竟,它与Stack Overflow以及Apple的文档中引用的代码相同 - 但我希望将内存泄漏警告整理出来以便我的扫描 - 建立回报成功.
我正在尝试在Xcode中构建多个目标,以简化创建应用程序的"精简版"和"专业版"的过程.从理论上讲,这很好,我可以传递定义,GCC_PREPROCESSOR_DEFINITIONS以便在我的代码中使用.但是,由于尝试在模拟器中启动第二个目标时出错,我实际上遇到了问题:Failed to launch simulated application: Unknown error.
这是我用来创建额外目标的简单过程:
Project> New Target...,然后选择"Cocoa Touch Application"(名为MyAppPro")GCC_PREPROCESSOR_DEFINITIONS用户定义的设置并将值设置为"MYAPP_PRO"(无引号)Failed to launch simulated application: Unknown error.Failed to launch simulated application: Unknown error.构建完成得很好,但我无法在模拟器中运行.
编辑.xcodeproj目录中的project.pbxproj,我注意到两个目标定义的构建设置之间存在一些关键差异.我尝试手动编辑文件,但一定做错了,因为我之后无法在Xcode中加载它.
原始目标的"调试"构建设置:
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = iphoneos2.2.1;
};
Run Code Online (Sandbox Code Playgroud)
新的MyAppPro目标的"Debug"构建设置:
buildSettings = …Run Code Online (Sandbox Code Playgroud) 我一直收到 - >程序接收信号:"EXC_BAD_ACCESS".
在下面的代码中,但我真的不明白为什么.
如果我注释掉"executeFetchRequest"行,它就会消失.
不应该[结果发布]; 是所需要的吗?
先谢谢,马特
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
// fetch the delegate
TestingAppDelegate *app = (TestingAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = [app managedObjectContext];
// construct the request
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"Client" inManagedObjectContext:managedObjectContext]];
NSError *error;
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];
[results release];
}
Run Code Online (Sandbox Code Playgroud) iphone ×6
xcode ×4
objective-c ×3
.net ×1
c# ×1
clang ×1
cocoa-touch ×1
core-data ×1
ios ×1
llvm ×1
memory-leaks ×1
rotation ×1
safari ×1
sql-server ×1