我已将Reachability导入到我的应用程序中,并且我还有几个方法问题.让我先解释一下我的应用程序和其他工具.
该应用程序通过3G与同一时间,ad-hoc网络和互联网进行通信.注意:ad-hoc网络未连接到Internet.这非常有效 - 它已经实现并且测试得非常好.
话虽如此,我想实现Reachability来检测两件事.
1)用户是否连接到wifi ad-hoc网络?(如果可能的话,更好的方法是检测它是否连接到前缀为WXYZ的wifi ad-hoc网络.例如,如果列出了两个网络,一个名为Linksys,另一个名为WXYZ-Testing_Platform,它知道是否与WXYZ连接).
2)用户可以通过3G(或2G等)连接到互联网并访问我们的服务器吗?
提前致谢
编辑包括对未来寻求者的回答:
对于1),我的代码如下所示:
.h
#import <SystemConfiguration/CaptiveNetwork.h> //for checking wifi network prefix
.m
- (BOOL) connectedToWifi
{
CFArrayRef myArray = CNCopySupportedInterfaces();
// Get the dictionary containing the captive network infomation
CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSLog(@"Information of the network we're connected to: %@", captiveNtwrkDict);
NSDictionary *dict = (__bridge NSDictionary*) captiveNtwrkDict;
NSString* ssid = [dict objectForKey:@"SSID"];
if ([ssid rangeOfString:@"WXYZ"].location == NSNotFound || ssid == NULL)
{
return false;
}
else
{
return true; …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,其视图具有从视图顶部到视图底部的文本字段.我需要它在编辑底部字段时滚动,以便字段可见,但它似乎不能正常工作.
继苹果公司的文档,我把所有的代码到我的程序(清单4-1,4-2),并添加scrollView
和activeField
网点我的头文件,并将其链接到IB.
问题是,当我单击文本字段时,所有文本字段都会退出视图,直到我关闭键盘.它们向下滚动很远(再次,足够远到没有任何字段可见的地方).
有谁知道这个问题可能是由什么造成的?
我将代码放在Apple Docs中,这样您就可以看到我正在使用的代码而无需点击.
//my .h
IBOutlet UIScrollView *scrollView;
IBOutlet UITextField *activeField;
//.m
// Call this method somewhere in your view controller setup code.
- (void)registerForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}
// Called when the UIKeyboardDidShowNotification is sent.
- (void)keyboardWasShown:(NSNotification*)aNotification
{
NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets …
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中的某个屏幕上隐藏底部工具栏,并且IB似乎有一个选项,似乎预览为正常工作,但是当我构建和测试应用程序时,底部工具栏仍然存在.
我知道我可以使用,[self.navigationController setToolbarHidden:YES];
但我的问题不是如何使用代码来实现它,而是如何通过Interface Builder实现这一点.
这是我正在谈论的截图.请参阅右侧我如何选择底栏:无 - 这将删除左侧预览的底栏.如果我将其设置为推断(而不是无),则底部栏显示在IB预览中.
如何使其正常工作?
我有一个UITableView
单元格,在这个例子中,假设只有前两个被填充.对于列表中的其余单元格,仍然存在分隔线.
有没有办法在有空单元格的地方关闭这些线,但是要将它们分开以分隔包含信息的单元格?
所有,
我有一个服务器,它有一个用于通信的tcp套接字流.我需要访问该流并读取它需要发送给我的初始数据.
我目前的代码如下.说实话,我完全失明了.我不确定这是否正确,更不用说正确的工作了.
-(void) initNetworkCommunication
{
//input stream
NSInputStream *iStream;
NSURL *url = [url initWithString:@"192.168.17.1:2004"];
[iStream initWithURL:url];
[iStream setDelegate:self];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[iStream open];
}
Run Code Online (Sandbox Code Playgroud)
所以从我看到它的方式来看,这段代码初始化了流,但是如何从流中读取?
谢谢
我想将文件上传到 S3,同时屏蔽 S3 存储桶名称/身份验证标头。根据我的理解,我可以使用 Nginx 来做到这一点。
例如,用户将执行一个POST
请求,http://media.mywebsite.com
然后该请求将通过 Nginx、附加身份验证标头并上传文件。另外,我想给每个文件一个随机且唯一的名称,并在响应中返回文件上传位置的 URL 给用户。
我该怎么做呢?Nginx 背后还需要其他东西吗?或者 Nginx 可以处理所有这些吗?我以前没有使用过 Nginx,所以请友善。
目前,我正在通过分段请求将文件上传到 Rails 服务器,但是当执行较大的上传时,这会将服务器锁定太长时间,因此我尝试绕过 Rails。
我将如何处理 Node.js 中的 S3 上传?
为了洞察力,我使用 Mocha 进行测试,使用 Sinon 进行存根,但我愿意改变任何事情。我有一个导出执行上传功能的文件。它看起来像这样:
var AWS = require('aws-sdk');
var s3 = new AWS.S3({ params: { Bucket: process.env.S3_BUCKET }});
var params = { Key: key, Body: body };
s3.upload(params, function (error, data) {
// Handle upload or error
});
Run Code Online (Sandbox Code Playgroud)
如果我尝试存根AWS.S3
or AWS.S3.prototype
,则没有任何变化。我认为这是因为我的测试需要aws-sdk
它们自己并且每个函数都有自己的副本。
我的测试是这样的:
describe('POST /files', function () {
var url = baseURL + '/files';
it('uploads the file to s3', function (done) {
var fs = require('fs');
var formData = {
video: …
Run Code Online (Sandbox Code Playgroud) 我有一系列字典.在每个字典中,有dateOfInfo
一个键(一个NSDate
)和其他几个东西.我想按每个字典对数组进行排序,dateOfInfo
最新的是第一个结果.
我怎样才能做到这一点?
我有MKMapView
一个MKOverlay
在它显示用户的位置历史.按下按钮时,如何丢弃此叠加层并将其从视图中删除?
我已经尝试[map removeOverlay:overlay];
但是这不起作用 - 它仍然显示.
我正在尝试通过Ant 构建一个应用程序(让我们称之为android-app
)依赖于SDK(让我们称之为sdk
).此计算机上未安装Eclipse(出于推理,它是Jenkins的CI框).
两个项目并排在两个完全独立的目录中.android-app
在目录中~/.jenkins/jobs/android-app/workspace
,并sdk
在该目录中~/.jenkins/jobs/sdk/workspace
.
我们假设这两个项目都是"vanilla",并且之前没有使用Ant构建.我cd
到../android-app/workspace
目录并运行android update project -p . --library ~/.jenkins/jobs/sdk/workspace
哪个通过.然后我cd
到../sdk/workspace
目录并运行android update project -p .
也通过.
此时我cd
回到../android-app/workspace
目录并运行ant clean build
.它失败并出现错误:
BUILD FAILED
/path/to/ant/build.xml:440:
/path/to/sdk/workspace resolve to a path with no project.properties file for
project /path/to/android-app/workspace
Run Code Online (Sandbox Code Playgroud)
... /path/to
目录的完整路径在哪里.我在这里简化了它.
如果我cd
到sdk
工作区并打开project.properties
,我收到以下内容:
# ProGuard
proguard.config=proguard.cfg
# Project target.
target=android-10
android.library=true …
Run Code Online (Sandbox Code Playgroud) iphone ×7
objective-c ×7
xcode ×5
amazon-s3 ×2
ios ×2
android ×1
ant ×1
cocoa-touch ×1
file-upload ×1
jenkins ×1
mkmapview ×1
mocha.js ×1
nginx ×1
node.js ×1
nsstream ×1
reachability ×1
sinon ×1
uiscrollview ×1
uitableview ×1