一段时间以来一直在努力.我正在尝试在我的iphone上访问REST api,并且遇到了可以帮助我的ASIHTTP框架.所以我做了类似的事情
//call sites, so we can confirm username and password and site/sites
NSURL *url = [NSURL URLWithString: urlbase];
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
[request setUsername:@"doronkatz%40xx.com" ];
[request setPassword:@"xxx"];
Run Code Online (Sandbox Code Playgroud)
urlbaseREST站点的URL 在哪里.
现在,开发人员告诉我这个框架可能存在问题或错误,而且它没有正确传递头文件.是否有另一种方法可以通过身份验证来测试或访问网络REST位置?
在我的应用程序中,我有一个UITextField内部UITableViewCell.如果我在文本字段内单击并添加一些文本,我发现如果尝试移动插入点,它会在第一次工作但在后续尝试时失败.我完全无法移动选择; 没有"放大镜"出现.
更奇怪的是,这个"设置"似乎是永久性的,直到我重新启动应用程序.它会影响UITextFields该屏幕上的所有内容,而不仅仅是我最初尝试编辑的内容.
如果您想亲眼看到它,请尝试iPhone SDK附带的"UICatalog"示例.单击"文本字段",然后"编辑"并使用文本框.
我已经做了很多挖掘,但谷歌很难做到!我发现的最好的参考资料是Apple的支持板和MacRumors formum(两者都参考了一个显然曾经用于iPhone 2.0的解决方案,但不适用于当代版本 - 我确实尝试过).
我觉得这是操作系统中的一个错误,但我想我会把它扔到SO人群中以获得第二意见并看看是否有任何变通方法.有任何想法吗?
根据benzado的建议,我尝试使用2.0,2.1和2.2 SDK构建我的应用程序.我在所有版本中都有相同的行为.(实际上,相关但不相同的东西在2.2中破裂但这可能是另一个问题!)
我从后台线程中的Web服务加载数据.UIAlertView当出现任何问题或在主线程中显示警报视图时,在后台线程中显示是否安全?
感谢您的建议
坦率
我是一名新的iPhone/Objective-C开发人员,因为我正在阅读不同的教程和开源代码,我在理解何时使用方括号"[]"以及何时使用句点时遇到一些问题"."用于访问对象的属性/方法.
例如,这段代码:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
UIColor *backgroundColor = nil;
if (selected){
backgroundColor = [UIColor clearColor];
} else {
backgroundColor = [UIColor whiteColor];
}
self.todoTextLabel.backgroundColor = backgroundColor;
self.todoTextLabel.highlighted = selected;
self.todoTextLabel.opaque = !selected;
self.todoPriorityLabel.backgroundColor = backgroundColor;
self.todoPriorityLabel.highlighted = selected;
self.todoPriorityLabel.opaque = !selected;
}
Run Code Online (Sandbox Code Playgroud)
为什么[UIColor clearColor]得到括号,但todoTextLabel.backgroundColor得到句号?
有人能为我轻松解释一下吗?
许多(如果不是大多数)Web服务对客户都有速率限制.Delicious说客户每秒可以提出一个请求; Twitter每个终点都有限制; 我确信Facebook和Flickr以及Foursquare都有自己的想法.
您可以使用a一次轻松地将iOS应用程序限制为单个请求NSOperationQueue.
但是,如何将应用程序限制为每秒只生成一个请求?
我查看过Apple,AFNetworking,ASINetwork和其他一些代码的示例代码,似乎都没有解决这个问题.这对我来说似乎很奇怪.我会承认我可能会遗漏一些非常明显的东西......
一些参数:
NSOperationQueue用于网络操作并且请求是一个NSOperation(我想也可能是一个GCD队列,但这是我一直在使用的)可能的解决方案:
sleepNSOperation(这是一个队列/线程中的语句,所以这不会阻止其他任何东西)NSTimer 在里面 NSOperationperformSelector:在NSOperation(我修补ASINetworking使用这种方法,虽然我没有使用它,并没有推动上游的变化)NSOperation.这将是下一个网络操作将依赖的任务这些看起来都很混乱.睡眠的操作可能会阻止形式的"优先级"队列.启动/停止队列似乎很脆弱.忽略限制是粗鲁的.
要清楚,我已经解决了这个问题.但解决方案似乎"凌乱"而且有些脆弱.我想知道是否有更好,更清洁的选择.
想法?
如果iTunes提供新版本,我想在我的iOS应用中提供提醒.我找不到这个API.这可能吗?
我有一个UIActivity创建自己的子类activityViewController:
- (UIViewController *)activityViewController {
WSLInProgressViewController* progressView = [[[WSLInProgressViewController alloc] init] autorelease];
progressView.message = [NSString stringWithFormat:NSLocalizedString(@"Posting to %@...",@"Posting to..."),
self.activityType];
return progressView;
}
Run Code Online (Sandbox Code Playgroud)
根据文档,您不应该手动解雇.相反,操作系统会在您打电话时执行此操作activityDidFinish:.这在iPhone上运行时工作正常.
当我说"工作"时,这是我期待的事件序列(并在iPhone上看到):
UIActivityViewController activityDidFinish: UIActivityViewController还驳回但是,当我在iPad模拟器上运行相同的代码时 - 唯一的区别是我把它UIActivityViewController放在弹出窗口中,正如文档所说的那样 - activityViewController永远不会解散.
正如我所说,这是代码wo/popUP在iPhone上工作,我已经逐步完成了代码,所以我知道它activityDidFinish:正在被调用.
我发现这个雷达在iOS6beta 3中讨论了相同的问题,但它似乎是我怀疑我的代码而不是操作系统中的错误的基本功能(也注意它与Twitter和Facebook功能正常工作!).
我错过了什么吗?当activityViewController运行时,我是否需要在activityViewController中做一些特别的事情UIPopoverViewController?iPad上的"流量" 应该是不同的吗?
任何人都可以告诉我这次崩溃的原因.
特别是我担心这个 -
**Application Specific Information:
iMixtapes[1185] has active assertions beyond permitted time:
{(
<SBProcessAssertion: 0x66bc490> identifier: UIKitBackgroundCompletionTask process: iMixtapes[1185] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1185 preventSuspend preventIdleSleep ,
<SBProcessAssertion: 0x66ade50> identifier: UIKitBackgroundCompletionTask process: iMixtapes[1185] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1185 preventSuspend preventIdleSleep
)}
Elapsed total CPU time (seconds): 106.580 (user 62.160, system 44.420), -3% CPU
Elapsed application CPU time (seconds): 1.700, 0% CPU**
Run Code Online (Sandbox Code Playgroud)
这是崩溃日志:
Incident Identifier: C5DFDDE4-2AE0-461A-937A-C422353102CE
CrashReporter Key: 3a88f20a9e18f468445bddc212b7aa673c6dc89b
Hardware Model: iPod4,1
Process: iMixtapes [1185]
Path: /var/mobile/Applications/104BD0F8-BC33-43A9-AB9F-FC609750C4B6/iMixtapes.app/iMixtapes
Identifier: …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,从iOS 5开始生活,并从那时起一直在更新.对于iOS 7,我已经切换到使用资产目录来获取所有资源,这很不错并且似乎运行良好.但是,当我尝试提交给Apple时,我收到验证错误:
图像路径无效 - 在"CFBundleIconFiles"键下引用的路径中找不到图像:"Icon@2x.png"
我也得到了其他图标的相同错误.这些图标确实出现在资产目录中,名称 - 直到案例 - 完全符合我的判断.资产目录位于"复制捆绑资源"中,当我在iPhone和iPad(iOS 7)和iOS 6的模拟器中运行应用程序时,所有资源都显示在正确的位置.
我已更新应用程序以使用iOS 6的最低部署目标.
那么,我如何成功将更新提交给Apple?我是否需要Info.plist中的引用?我还应该检查其他任何设置吗?警告是否是虚假的,我应该忽略一些事情(在提升雷达之后)?
iphone ×6
objective-c ×4
ios ×2
ipad ×2
cocoa-touch ×1
info.plist ×1
ios6 ×1
ios7 ×1
rest ×1
uiactivity ×1
web-services ×1
xcode ×1