我目前正在开发一个接收推送通知的应用程序.我通过PHP页面100%全部工作.我的应用可以接收几种不同类型的推送通知.PHP处理这个并向我的应用程序发送不同的信息包,这些信息都被收到了.
但是,当用户"查看"通知并启动我的应用时,我显然想要采取与用户手动启动应用时不同的操作 - 最重要的是,根据推送通知类型执行不同的操作.我在结构上做得很好......
我的推送类型之一应该打开一个UIView,它与几个不同的服务器建立多个连接并来回协商数据.例如,当从主菜单触发时,此UIView工作正常 - 但是当我的推送通知触发此UIView出现时,套接字连接未按预期运行.
现在我的问题不是关于套接字,而是更多 - 如何调试这样的问题?从我所知道的(我相对较新)当应用程序从推送通知启动时,没有办法将该执行链接到调试器/控制台/等...我正在尝试使用调试代码进行调试时非常困难UIAlertViews,因为在各种服务器之间来回通信很多.
您对我的任何建议将不胜感激.
我在AppDelegate中定义了以下两个过程.saveSettings和loadSettings.我在AppDidFinishLaunching方法中调用我的loadSettings过程,并且在单击保存按钮后,我在设置视图中调用saveSettings过程.
两种方法似乎都在正确的时间调用,正确的次数(一次),并使用正确的数据.我的设置对象获取正确的数据,但数据似乎并没有实际保存.当我运行加载代码时,我生成的变量将返回空(不是零).
我尝试将相同的加载代码放在不同的视图中并且工作正常,但出于某种原因,我没有在appDelegate中获得结果.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
[self loadSettings];
[self setDefaults];
}
-(void)loadSettings{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
settings.masterLocation = [prefs objectForKey:@"masterLocation"];
settings.masterPort = [prefs objectForKey:@"masterPort"];
settings.userName = [prefs objectForKey:@"userName"];
settings.passWord = [prefs objectForKey:@"passWord"];
settings.autoLogin=[prefs objectForKey:@"autoLogin"];
if (settings.autoLogin == nil)
settings.autoLogin=@"N";
}
-(void)saveSettings:(SharedData *)d{
settings=d;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:settings.masterLocation forKey:@"masterLocation"];
[prefs setObject:settings.masterPort forKey:@"masterPort"];
[prefs setObject:settings.userName forKey:@"userName"];
[prefs setObject:settings.passWord forKey:@"passWord"];
[prefs setObject:settings.autoLogin forKey:@"autoLogin"];
}
Run Code Online (Sandbox Code Playgroud) 我有以下HTML/JS/jQuery代码.此代码表示一个登录表单,以模态方式呈现给用户以允许他们登录.问题是,当我按Enter键时,表单似乎没有执行"onsubmit"事件.当我单击按钮作为表单的底部(其实际上与onsubmit事件具有相同的代码)时,它完美地工作.我想知道是否有人可以告诉我为什么这个表格没有提交..?任何援助将不胜感激.
显示登录模式的jQuery代码:
showDivAndFocus('loginModal','loginaccount');
function showDivAndFocus(v,t){
if (api)
if (api.isOpened)
api.close();
api = $('#'+v).overlay({
mask: {color: '#000000'},
top:'0px',
api: true,
autoScrollToActive: false,
autoScrollOffset: 0
}).load();
document.getElementById(t).focus();
}
Run Code Online (Sandbox Code Playgroud)
HTML代码
<div class="modal" id="loginModal">
<h2>User Login</h2>
<br />
<form action="javascript:void(0);" onsubmit="return(doLogin());" name="loginForm" id="loginForm">
<table width="95%" cellpadding="4" cellspacing="4">
<tr>
<td class="regw" align="left"><b>Account Number:</b></td>
<td class="regw" align="left"><input type="text" maxlength="10" size="10" name="loginaccount" id="loginaccount" /></td>
</tr>
<tr>
<td class="regw" align="left"><b>Username:</b></td>
<td class="regw" align="left"><input type="text" maxlength="20" size="20" name="loginusername" id="loginusername" /></td>
</tr>
<tr>
<td class="regw" align="left"><b>Password:</b></td>
<td class="regw" align="left"><input type="password" …
Run Code Online (Sandbox Code Playgroud) 我有一个具有UITableView的应用程序.这个UITableView由在appDelegate中保存(作为属性)的NSMutableArray填充.您可以将其视为电子邮件窗口.它列出了子类UITableViewCell中的消息.当出现新消息时,我完成了下载消息的所有代码,将数据添加到appDelegate的NSMutableArray中,该消息包含所有消息.这段代码工作正常.
现在,一旦下载新消息并将其添加到数组中,我就会尝试使用以下代码更新我的UITableView,但是UITableView的委托函数不会被调用.
奇怪的是当我上下滚动我的UITableView时,委托方法最终被调用,我的节标题也会改变(它们显示该节的消息计数).他们不是实时更新而不是等待我的滚动触发刷新?此外,新细胞永远不会添加到该部分!!
请帮忙!!
APPDELEGATE CODE:
[self refreshMessagesDisplay]; //This is a call placed in the msg download method
-(void)refreshMessagesDisplay{
[self performSelectorOnMainThread:@selector(performMessageDisplay) withObject:nil waitUntilDone:NO];
}
-(void)performMessageDisplay{
[myMessagesView refresh];
}
Run Code Online (Sandbox Code Playgroud)
UITableViewController代码:
-(void) refresh{
iPhone_PNPAppDelegate *mainDelegate = (iPhone_PNPAppDelegate *)[[UIApplication sharedApplication] delegate];
//self.messages is copied from appDelegate to get (old and) new messages.
self.messages=mainDelegate.messages;
//Some array manipulation takes place here.
[theTable reloadData];
[theTable setNeedsLayout]; //added out of desperation
[theTable setNeedsDisplay]; //added out of desperation
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Valums Ajax Uploader上传一批文件.我们最近更改了单上传多重上传类型的代码.这引发了我们的代码问题.
如您所见,当onComplete
事件触发时,我们重新加载页面以显示新上传的图像.但是,onComplete
事件似乎在EACH文件完成后触发,而不是在整个批处理完成后触发.这现在导致了一个问题,因为当第一个文件完成时,页面重新加载尝试被触发,上传者弹出一个警告"如果你离开这个页面,那么你的剩余上传内容将会破坏" - 或者是这样的.
我注意到onComplete
事件发回了一个基于0的已完成文件的ID,但我不确定如何使用它来确定批处理何时完成.
我想我的问题是A)是否有一个不同的事件在所有文件完成时触发或B)如何确定用户选择了多少文件,以便跟踪onComplete
事件已完成的文件数量?
var uploader = new qq.FileUploader({
multiple: true,
element: document.getElementById('file-uploader'),
action: '/projectPhotoUpload.php',
allowedExtensions: ['jpg', 'png', 'gif'],
debug: true,
params: {id: i},
onComplete: function(id, fileName, responseJSON){
window.location = 'projects.php?all=true&tab=1&sel=' + currProject;
}
})
Run Code Online (Sandbox Code Playgroud) 我正在从TCP/IP流中读取数据,并成功从预先存在的服务器接收字节数组.我现在正试图找到一种方法将该数组转换为NSString
.我找到了几个例子,但很难得到我想要的结果.
NSData *data=[[NSMutableData alloc] init];
uint8_t buffer[1024];
unsigned int len=0;
len=[(NSInputStream *)stream read:buffer maxLength:1024];
if(len>0){
[data appendBytes:&buffer length:len];
//BYTE ARRAY OBTAINED OK!!
///////////////////////////////////////////////////////
//METHOD #1 - Yields 'nil'
NSString *string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
///////////////////////////////////////////////////////
//METHOD #2 - Log prints OK, but messageString says
//'invalid' in debugger, and get warnings all over the
//place. I know this is wrong, but it semi-works :)
size_t length=[data length];
unsigned char aBuffer[length];
[data getBytes:aBuffer length:length];
aBuffer[length - 1]=0;
NSString *messageString …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有人遇到过在iPhone SDK中生成音调的方法.我试图生成DTMF音调,似乎找不到任何实质性的东西.我希望能够指定播放音调的时间长度(即模拟按住按钮而不是简单地按下它.
我发现了一个名为iPhreak的开源应用程序.它应该产生DTMF音调来欺骗付费电话(我向你保证这不是我的意图 - 我的公司处理基于电话的内部通信系统).该应用程序的唯一问题是开源项目中缺少文件.也许其他人已经让这个项目在过去工作了?
如果有人知道我会在哪里找到这样的东西,我将非常感谢我的投票:)
我正在使用Xinha编辑器作为我办公室的自定义CMS应用程序的一部分.我试图让用户突出显示部件号,然后单击"部件"按钮.我想要发生的是所选的HTML /文本被封装<part>
和</part>
(这将在显示时处理,以提供指向包含所选部分信息的页面的链接).
我真的在这里挣扎.这是我到目前为止的代码.我假设我需要在所选的特定位置找到所选文本并进行替换,但我无法找到有关如何在所选范围内访问HTML的任何文档.
xinha_config.btnList["part"] = [
"Part Number",
"/xinha/images/part.png",
true,
function(e) {
var part = e.getSelectedHTML(); // This is the selected part number
}
];
Run Code Online (Sandbox Code Playgroud) 我有一个网站,大量利用jQuery和CSS来实现一些非常好的效果.这些页面在FF和Chrome中完美运行 - 但是在IE9(以及可能的其他版本的IE)中,由于浏览器似乎忽略了我的position:fixed;
属性,我的页面似乎格式错误.我想我的问题是:什么可能导致这种情况(几乎全球遍布我的网站)发生?我知道没有一个完整的代码示例很难说,但我想知道是否有人以前见过这个.有很多 CSS所以我不确定什么是相关的帖子和什么不相关.如果需要更多代码,请告诉我.
示例1:模拟窗口开始按钮菜单的工具栏
在下面的示例中,您将看到我已经实现了一个模仿Windows"开始"按钮行为的工具栏.它位于左下角,单击时会展开以显示内容.此功能在Ch/FF中运行良好,但正如您在IE9中看到的那样,工具栏及其内容将附加到页面底部.我在IE9中使用这个方法掀起了一个快速的JSFiddle,它似乎工作正常......我不确定我的文档可能有什么不同导致它停止工作.
奇怪的事情:如果我将CSS更改为position:absolute;
,则div正确放置并且函数的正确率为99% - 它不会随页面滚动.
#floatingOptions{
background:#fff;
border-right:2px solid #000;
border-bottom:2px solid #000;
bottom:0px;
display:none; /*this gets shown via javascript */
left:0px;
overflow:hidden;
position:fixed;
width:250px;
z-index:99999;
}
Run Code Online (Sandbox Code Playgroud)
示例2:通过jQuery Tools Overlay的模态Windows
我的许多模态窗口都是使用jQuery Tools Overlay生成的.再次,这在Ch/FF中运行良好,但IE9再次将模态div添加到页面底部(更不用说看似忽略z-index).
UPDATE
这是我的doctype/html语句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)
解
我想到了.这是一个POBKAC错误(键盘和椅子之间出现问题).
我<!DOCTYPE....>
被召唤进去,header.php
而且我在某些页面上这样做是愚蠢的.
<style type="text/css">
@import url(/themes/pn5/jquery.ui.all.css);
@import url(/qtip/jquery.qtip.css);
</style>
<?php include ('header.php'); ?>
Run Code Online (Sandbox Code Playgroud)
因此在<!DOCTYPE> …
我正在使用flot试图绘制一些数据.我使用单个数据集,当我尝试修改代码以使用多个数据集时,我遇到了一个错误,我很难跟踪并停止工作.我确信这是我所做的改变,但对于我的生活,我无法追踪它.
Y轴显示-1.0,-0.5,0,0.5和1.0 - 几乎没有我期望的值,也没有X轴数据.该图显示为空白.
我试图在StackOverflow上完成类似于信誉图的操作,但这将代表不同的数值.该data
对的第一个值是一个时间戳(我想我已正确计算),该data
对的第二个值是要绘制的值.
我确保我没有引号中的值,我看到这是最常见的问题之一.
任何有关指出问题的反馈或帮助都将非常感激.
stats.js
function plotField(){
var field = 'activeUsers,totalUsers';
var url = '/api/consoleGet_stats?field='+field;
$.ajax({
url: url,
method: 'GET',
dataType: 'json',
success: function(datasets){
var i = 0;
console.log(datasets);
$.each(datasets, function(key, val){
val.color=i;
i++;
var data = [ $(this) ];
console.log(data);
var options = {
lines: { show: true },
points: { show: true },
xaxis: {mode: 'time', timeformat: "%y/%m/%d", tickDecimals: 0, tickSize: 1 }
};
var placeholder = $("#placeholder");
$.plot(placeholder, …
Run Code Online (Sandbox Code Playgroud) iphone ×4
cocoa-touch ×2
ios ×2
jquery ×2
ajax ×1
ajax-upload ×1
css ×1
css-position ×1
dom-events ×1
dtmf ×1
events ×1
flot ×1
forms ×1
generator ×1
html ×1
javascript ×1
nsstring ×1
settings ×1
submit ×1
uitableview ×1
xcode ×1
xinha ×1