我目前正在iOS上使用Imgur将图像上传到服务器,代码如下:
NSData* imageData = UIImagePNGRepresentation(image);
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SBTempImage.png"];
[imageData writeToFile:fullPathToFile atomically:NO];
[uploadRequest setFile:fullPathToFile forKey:@"image"];
Run Code Online (Sandbox Code Playgroud)
代码在模拟器中运行并从模拟器的照片库上传文件时工作正常,因为我在快速以太网连接上.但是,在选择使用iPhone拍摄的图像时,相同的代码会在iPhone上超时.所以,我尝试通过从网络上保存一个小图像并试图上传它,这是有效的.
这让我相信iPhone拍摄的大图像会在有点慢的3G网络上超时.有没有办法在发送之前压缩/调整iPhone的图像大小?
谢谢!
我一直收到以下错误:
2011-04-02 14:55:23.350 AppName[42430:207] nested push animation can result in corrupted navigation bar
2011-04-02 14:55:23.352 AppName[42430:207] nested push animation can result in corrupted navigation bar
2011-04-02 14:55:23.729 AppName[42430:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2011-04-02 14:55:23.729 AppName[42430:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Run Code Online (Sandbox Code Playgroud)
这就是我在做的事情.从视图控制器,我按下某个按钮时调用以下内容:
EventsViewController *viewController = [[EventsViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
navController.navigationBar.tintColor = [UIColor blackColor]; …
Run Code Online (Sandbox Code Playgroud) 我目前正在从PHP的mail()函数发送html格式的电子邮件,并检查它们只是为了确保它们显示为HTML(格式化一边,我很清楚格式将从客户端到客户端变化(可能很大)) .它们在Apple Mail客户端以及我的iPhone上显示为HTML.但是,Gmail只是拒绝将其显示为HTML.并且我并不是说它的格式不正确,它只是不使用它出现的HTML.
奇怪的是,正在加载来自标签的img,但是就是这样......是不是我主要使用div进行布局,这对于Gmail或其他东西来说太新了(vs表)?
至于CSS以及什么不是,查看原始源显示以下内容:
<html><head><style>body { background-color: #F2F2F2; font-family: Arial; color: #5C5C5C; font-size: 11pt; } a { color: #46AAFF; text-decoration: none; } #container { width: 750px; margin-right: auto; margin-left: auto; } #header { float: right; padding: 3px; height: 30px; } #header a { color: #666666; margin-right: 10px; } #mainBody { padding: 20px; background-color: #FFF; border: 1px solid #DADADA; border-radius: 3px; } #imageArea { border-top: solid #E8E8E8 1px; margin: 15px; } #singleImageArea { width: 250px; padding: 15px; } #singleImageArea p …
Run Code Online (Sandbox Code Playgroud) 最近我一直在研究使用Bean的Beanstalkd.我已经学到了很多,但对服务器上的设置有一些疑问等.
以下是我看到它的工作方式:
我有一个bash脚本(例如下面的一个),它作为一个基本上执行PHP脚本的守护进程运行.
#!/bin/sh
php worker.php
Run Code Online (Sandbox Code Playgroud)4)worker脚本会有类似的东西来执行排队的任务:
while(1) {
$job = $this->pheanstalk->watch('test')->ignore('default')->reserve();
$job_encoded = json_decode($job->getData(), false);
$done_jobs[] = $job_encoded;
$this->log('job:'.print_r($job_encoded, 1));
$this->pheanstalk->delete($job);
}
Run Code Online (Sandbox Code Playgroud)
现在这里是基于上述设置的问题(如果我错了,请纠正我):
假设我有将RSS源导入数据库或其他任务的任务.如果10个用户同时执行此操作,则他们将全部排在"测试"管中.但是,它们只能一次执行一个.将10个不同的管同时执行会更好吗?
如果我确实需要更多电子管,那么这是否也意味着我需要10个工作脚本?除了watch()函数中的字符串文字之外,每个管都有一个基本相同的代码同时运行.
如果我将该脚本作为守护进程运行,那该怎么办?它会不断执行worker.php脚本吗?该脚本在理论上循环直到队列为空,所以不应该只启动一次吗?守护进程如何决定执行worker.php的频率?这只是一个场景吗?
谢谢!
在iPad上使用拆分视图,我有以下代码:
- (void) splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc {
barButtonItem.title = @"Categories";
NSMutableArray *items = [[toolbar items] mutableCopy];
[items insertObject:barButtonItem atIndex:0];
[toolbar setItems:items animated:YES];
[items release];
self.popoverController = pc;
}
Run Code Online (Sandbox Code Playgroud)
这可以很好地显示按下按钮时的弹出窗口.但是,如果按下按钮,我也希望让按钮解除,因为它已经打开以遵循良好的指导方针.我该怎么做呢?(即如果用户反复点击此按钮,则弹出窗口应该会隐藏其他所有击中.)
user-interface ipad uisplitviewcontroller dismiss uipopovercontroller
所以我有一个带有按钮的popover.当按下该按钮时,我希望弹出窗口消失.这似乎很容易,但我无法弄清楚我的生活.我用来显示popover的代码如下:
AddCategoryViewController* content = [[AddCategoryViewController alloc] init];
UIPopoverController* aPopover = [[UIPopoverController alloc]
initWithContentViewController:content];
aPopover.delegate = self;
[content release];
// Store the popover in a custom property for later use.
self.addCategoryPopover = aPopover;
[aPopover release];
[addCategoryPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
Run Code Online (Sandbox Code Playgroud)
在addcategoryviewcontroller中,我有:
-(IBAction)saveAddCategory:(id)sender {
if (rootViewController == nil)
rootViewController = [[RootViewController alloc] init];
[rootViewController.addCategoryPopover dismissPopoverAnimated:YES];
[rootViewController dismissPopover];
}
Run Code Online (Sandbox Code Playgroud)
Rootviewcontroller是创建popover的地方.不幸的是,这些方法都没有解决它.任何帮助?
我正在尝试为我的iOS应用程序创建/导出独有的UTI类型(非常类似于Instagram独家处理UTI com.instagram.exclusivegram的方式).
基本上,我想com.photoapp.photo是一个应用程序可以使用,如果他们希望能够在任何注册拍照的应用程序中打开照片(类似于Instagram的com.instagram.photo).然后我想com.photoapp.exclusive只能在我的应用程序中打开(类似于com.instagram.exclusivegram).
我在设备上遇到的是即使使用com.photoapp.exclusive,UIDocumentController也会提示我在PhotoApp或DropBox中打开它,它应该只是PhotoApp.
我有我的应用程序注册UTI以及我用来检查开放能力的示例应用程序.我在示例应用程序中使用的代码如下:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"photoapp://"]]) {
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"derp.png"], 1.0);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"photoapp.pae"];
[imageData writeToFile:fullPathToFile atomically:NO];
interactionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"file://%@", fullPathToFile]]];
interactionController.UTI = @"com.photoapp.exclusive";
interactionController.delegate = self;
[interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
以下是我的app文件中的plist文件:
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>Exclusive PhotoApp Photo</string>
<key>UTTypeConformsTo</key>
<array>
<string>com.photoapp.photo</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.photoapp.exclusive</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>pae</string>
</dict>
</dict>
<dict>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>pa</string>
</dict>
<key>UTTypeIdentifier</key>
<string>com.photoapp.photo</string>
<key>UTTypeDescription</key>
<string>PhotoApp …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用基于Google文档的Google YouTube数据API和PHP:https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth2#OAuth2_Refreshing_a_Token.在使用OAuth进行身份验证时,我的问题就出现了.我正在使用以下授权URL,该URL与文档所说的相同,除了我的重定向uri和应用程序密钥,显然.
$this->authorizationUrl = 'https://accounts.google.com/o/oauth2/auth?';
$this->authorizationUrl .= 'client_id=' . $this->applicationKey . '&';
$this->authorizationUrl .= 'redirect_uri=' . $this->redirect_uri . '/account.php?action=youtube_oauth&';
$this->authorizationUrl .= 'scope=https://gdata.youtube.com&';
$this->authorizationUrl .= 'response_type=code&';
$this->authorizationUrl .= 'access_type=offline';
Run Code Online (Sandbox Code Playgroud)
然后,正如文档所说,我提出以下内容:
$curl_options = Array(
CURLOPT_POSTFIELDS => Array(
'code' => $code,
'client_id' => $this->applicationKey,
'client_secret' => $this->applicationSecret,
'redirect_uri' => $this->redirect_uri . '/account.php?action=youtube_oauth',
'grant_type' => 'authorization_code'
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://accounts.google.com/o/oauth2/token'
);
Run Code Online (Sandbox Code Playgroud)
但是,我的回复从来没有像我们的文档所说的那样给我一个refresh_token.我只得到其他三个响应项.
像这样的一些问题:获取刷新令牌google api已经说过使用approval_prompt = force,但这也不起作用,完全违背了access_type = offline的目的.
有关为什么我会得到4个响应项中的3个的有效回复的任何想法?
我目前有一个视图设置如下:
@interface BlogViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
UITableView *mainTableView;
}
@property (nonatomic, retain) UITableView *mainTableView;
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它内部有一个UITableView,我将所有数据加载到.但是,当我调用以下函数时:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SingleBlogViewController *viewController = [[SingleBlogViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
//[self presentModalViewController:viewController animated:YES];
[viewController release];
}
Run Code Online (Sandbox Code Playgroud)
什么都没发生.出于某种原因,我的UITableView
内心UIViewController
并没有推动观点.这是因为它不是UITableViewController
吗?我尝试将其更改为,但仍然无法正常工作.
我在这里错过了什么吗?
uitableview uinavigationcontroller pushviewcontroller ios4 ios
使用以下代码,我使用 Chrome 的 JavaScript 开发者控制台在该问题的标题中收到错误:
jQuery.getJSON("http://api.yelp.com/business_review_search?term=starbucks&location=Urbana%20IL&limit=3&ywsid=XXX",
function(data){
jQuery.each(data, function(i,businesses){
jQuery("#yelpPreview").append(businesses.url);
if ( i == (amount - 1) ) return false;
});
});
Run Code Online (Sandbox Code Playgroud)
完整的错误是: XMLHttpRequest 无法加载http://api.yelp.com/business_review_search?term=starbucks&location=Urbana%20IL&limit=3&ywsid=XXX。Access-Control-Allow-Origin 不允许来源http://localhost:8888 。
我使用 MAMP 作为我的本地主机。
这是 Yelp 阻止 API 访问本地主机的问题,还是我的代码中有错误?
ios ×3
ios4 ×3
ipad ×2
iphone ×2
php ×2
api ×1
bash ×1
beanstalkd ×1
css ×1
daemon ×1
dismiss ×1
file-upload ×1
getjson ×1
gmail ×1
gmail-imap ×1
google-api ×1
html-email ×1
instagram ×1
nsdata ×1
oauth-2.0 ×1
popover ×1
uiimage ×1
uitableview ×1
uti ×1
youtube ×1
youtube-api ×1