我正在寻找一个开源应用程序或库来跟踪后台的用户位置.现在我正在尝试使用CLLocation和后台任务,但准确性对我的情况来说还不够.你能解释一下,像"移动","管理员","endmondo"等应用程序如何创建我的路线?我应该使用Accelerometer或/和指南针在CLLocation背景点之间创建路线吗?
一些代码:
//location manager init
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.distanceFilter = kCLDistanceFilterNone;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.delegate = self;
#pragma mark - CLLocationManager Delegate
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
if ([self isInBackground]) {
if (self.locationUpdatedInBackground) {
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler: ^{
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
}];
self.locationUpdatedInBackground(newLocation);
[self endBackgroundTask];
}
} else {
if (self.locationUpdatedInForeground) {
self.locationUpdatedInForeground(newLocation);
}
}
}
Run Code Online (Sandbox Code Playgroud)
UPD:Justed使用下一个属性测试了我的应用程序
self.locationManager.distanceFilter = kCLDistanceFilterNone;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.activityType = CLActivityTypeFitness;
self.locationManager.pausesLocationUpdatesAutomatically=NO;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我在1.5小时旅行期间有大约10个被解雇的事件
在测试过程中,客户注意到,当拔下耳机时,iPhone中的视频播放会暂停.他想要类似的音频播放功能,也许还能弹出一条消息.
有没有人知道是否有某种类型的事件我可以联系到这个可能吗?
每次启动应用程序时,我都希望从数据库位置复制我的sqlite数据库,并对我的iOS应用程序进行最新更新.
有什么办法吗?
我正在使用,UITapGestureRecognizer因为我正在使用UIScrollView它作为我UILabel的容器.基本上我正在尝试使用带有参数的动作方法,所以我可以例如向myLabel.tag动作方法发送值,以了解根据UILabel触发的动作采取的动作.
一种方法是使用尽可能多的动作方法,UILabel但这不是非常"漂亮"的代码.我想要实现的只是有一个带switch语句的action方法.
这是可能的还是我必须这样做(叹气):
UITapGestureRecognizer *myLabel1Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel1Tap)];
[myLabel1Tap addGestureRecognizer:myLabel1Tap];
UITapGestureRecognizer *myLabel2Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel2Tap)];
[myLabel1Tap addGestureRecognizer:myLabel2Tap];
UITapGestureRecognizer *myLabelNTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabelNTap)];
[myLabel1Tap addGestureRecognizer:myLabelNTap];
- (void)myLabel1Tap {
// Perform action
}
- (void)myLabel2Tap {
// Perform action
}
- (void)myLabelNTap {
// Perform action
}
Run Code Online (Sandbox Code Playgroud) 我想更新我的应用程序,以便可以部署在iPhone5上.
Xcode(4.5)有一个Default-568h@2x.png,它是一个黑色图像(640X1136).
在iPhone5的模拟器中,它仍然加载旧的Default@2x.png.我想知道它在实际设备上是否相同?
Thanx !!!
我最近用新版本更新了我的应用程序.现在我想改变那个版本的价格.
我是这样做的:
1.登录我的谷歌帐户
2.访问play.google.com/apps/publish
选择我的申请
选择定价和分配
在默认价格部分中将当前价格更改为新价格
单击"保存并更新".
我在2天前做了这个,仍然没有更新应用程序的价格.
如果我遗漏了,请告诉我任何其他步骤.
我是否需要取消发布应用程序然后再次发布才能使价格生效?
感谢名单.
我的服务器上的图像很少,其名称存储在phpmysql表中.该表包含两个字段:id和images.我准备了一个PHP来获取json编码的图像格式如下所述:
jsonFetch.php
<?php
$dbhost = "localhost";
$dbname = "userauth";
$dbuser = "root";
//$DB_Pass = "root";
$dbtable = "images";
@mysql_connect($dbhost, $dbuser);
$db = mysql_select_db($dbname);
$sql = "SELECT * FROM $dbtable";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query))
{
$rows[] = array(
//"id" => $row[0],
"image" => $row[1]
//"description" => $row['description']);
);
}
$json = json_encode($rows);
$callback = $_GET['images'];
echo $callback.$json ;
//print_r($json);
?>
Run Code Online (Sandbox Code Playgroud)
现在,当我点击网址时,我得到了以下回复:
[{ "图像":" ./ 95462 "},{" 图像 ":" ./ 8838upload_image.jpg "} {" 图像 ":" ./ 43185upload_image.jpg "},{" 图像 ":"/ …
我使用以下代码成功地让iOS使用soundfont示例播放.mid(midi)文件:
-(void) playMusic:(NSString*) name
{
NSString *presetURLPath = [[NSBundle mainBundle] pathForResource:@"GortsMiniPianoJ1" ofType:@"SF2"];
NSURL * presetURL = [NSURL fileURLWithPath:presetURLPath];
[self loadFromDLSOrSoundFont: (NSURL *)presetURL withPatch: (int)3];
NSString *midiFilePath = [[NSBundle mainBundle] pathForResource:name ofType:@"mid"];
NSURL * midiFileURL = [NSURL fileURLWithPath:midiFilePath];
NewMusicPlayer(&musicPlayer);
if (NewMusicSequence(&musicSequence) != noErr)
{
[NSException raise:@"play" format:@"Can't create MusicSequence"];
}
if(MusicSequenceFileLoad(musicSequence, (CFURLRef)midiFileURL, 0, 0 != noErr))
{
[NSException raise:@"play" format:@"Can't load MusicSequence"];
}
MusicPlayerSetSequence(musicPlayer, musicSequence);
MusicSequenceSetAUGraph(musicSequence, _processingGraph);
MusicPlayerPreroll(musicPlayer);
MusicPlayerStart(musicPlayer);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在第一个文件仍在播放时尝试播放第二个文件时出现问题.
我尝试了很多变化.首先,上面的代码将同时播放两个轨道.或者,我尝试过:
DisposeMusicPlayer(musicPlayer);
DisposeMusicSequence(musicSequence);
Run Code Online (Sandbox Code Playgroud)
之前NewMusicPlayer(&musicPlayer),但这会产生一个奇怪版本的曲调,只播放零星的音符.
我很乐意简单地调用这种方法,然后播放下一首曲目.
我正在尝试在Qemu中模拟TrustZone功能。我发现了两个似乎可以解释此过程的链接。
《第一参考》未附加支持TrustZone的映像内核(在哪里可以找到它?)
《第二参考》解释了如何编译内核,但它并非以第一个网站中编写的命令行开头,如下所示
./arm-softmmu/qemu-system-arm -kernel $PATH_TO_KERNEL/zImage -M vexpress-a15 -cpu cortex-a15 -dtb PATH_TO_DTB/vexpress-v2p-ca15-tc1.dtb -m 1024 -append 'console=ttyAMA0,38400n8' -serial stdio -initrd $PATH_TO_INITRD/initrd.img
Run Code Online (Sandbox Code Playgroud)
有替代方法来运行TrustZone仿真器吗?
在 safari 5 中,不支持新音频,因此错误控制台显示:
TypeError : 'undefined' is not a constructor (evaluating 'new Audio')
Run Code Online (Sandbox Code Playgroud)
我如何以编程方式知道浏览器是否支持新音频?
ios ×6
objective-c ×4
iphone ×3
android ×2
arm ×1
audio-player ×1
audioformat ×1
audiotoolbox ×1
coremidi ×1
database ×1
geolocation ×1
google-play ×1
headphones ×1
html5-audio ×1
ios6 ×1
iphone-5 ×1
javascript ×1
json ×1
linux ×1
midi ×1
qemu ×1
sqlite ×1
trustzone ×1
uilabel ×1
uiscrollview ×1
uitableview ×1
xcode ×1