我正在尝试将一个私钥添加到iOS钥匙串中.证书(公钥)工作正常,但私钥拒绝...我完全混淆为什么下面的代码不起作用.
首先,我正在检查钥匙串中的当前密钥(= Keychain是密钥/值存储的情况下的密钥)是否"空闲".然后我要添加私钥.
CFStringRef labelstring = CFStringCreateWithCString(NULL, [key cStringUsingEncoding:NSUTF8StringEncoding], kCFStringEncodingUTF8);
NSArray* keys = [NSArray arrayWithObjects:(__bridge id)kSecClass,kSecAttrLabel,kSecReturnData,kSecAttrAccessible,nil];
NSArray* values = [NSArray arrayWithObjects:(__bridge id)kSecClassKey,labelstring,kCFBooleanTrue,kSecAttrAccessibleWhenUnlocked,nil];
NSMutableDictionary* searchdict = [NSMutableDictionary dictionaryWithObjects:values forKeys:keys];
CFRelease(labelstring);
NSMutableDictionary *query = searchdict;
CFTypeRef item = NULL;
OSStatus error = SecItemCopyMatching((__bridge_retained CFDictionaryRef) query, &item);
if (error)
{
NSLog(@"Error: %ld (statuscode)", error);
}
if(error != errSecItemNotFound)
{
SecItemDelete((__bridge_retained CFDictionaryRef) query);
}
[query setObject:(id)data forKey:(__bridge id)kSecValueData];
OSStatus status = SecItemAdd((__bridge_retained CFDictionaryRef) query, &item);
if(status)
{
NSLog(@"Keychain error occured: %ld (statuscode)", status);
return …
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的查询:
SELECT a, b, c,
(SELECT d from B limit 0,1) as d
FROM A
WHERE d >= 10
Run Code Online (Sandbox Code Playgroud)
当我在没有where
子句的情况下运行查询时,我得到了我想要的结果,但是当我添加该where
子句时,查询失败了.
有没有人有建议如何解决?
我正在寻找一种方法来获取iOS5的objective-c中当前连接的wlan网络的信息(至少名称).
我需要这个,因为我们正在开发一个在特定网络中不起作用的应用程序.在这个网络(在我们大学),我们需要连接到服务器的端口关闭.但是还有另一个网络可用,我们想告诉用户如果他连接到上述网络,他必须切换网络.
我甚至不知道从哪里开始.有没有人有想法或任何提示?
感谢致敬
有人能告诉我为什么每次评估都是真的吗?!
输入是:jkhkjhkj
.我输入的phone
字段并不重要.它每次都是真的......
NSRange range = NSMakeRange (0, [phone length]);
NSTextCheckingResult *match = [NSTextCheckingResult phoneNumberCheckingResultWithRange:range phoneNumber:phone];
if ([match resultType] == NSTextCheckingTypePhoneNumber)
{
return YES;
}
else
{
return NO;
}
Run Code Online (Sandbox Code Playgroud)
这是值match
:
(NSTextCheckingResult *) $4 = 0x0ab3ba30 <NSPhoneNumberCheckingResult: 0xab3ba30>{0, 8}{jkhkjhkj}
Run Code Online (Sandbox Code Playgroud)
我正在使用RegEx,NSPredicate
但我已经读过,因为iOS4建议使用,NSTextCheckingResult
但我找不到任何好的教程或示例.
提前致谢!
目前在OSX 10.7上安装了Lion openssl 0.9.8r.此版本从2011年2月开始,我想将其更新到最新版本.我不能使用autoupdate,因为我需要enable-cms选项,所以我从源代码构建它,运行./Configure darwin64-x86_64-cc
和./config enable-cms --openssldir=~/usr/local/ssl
.然后我做了"make"和"make install"没有任何错误,但仍然安装了旧版本.
> openssl version
OpenSSL 0.9.8r 8 Feb 2011
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?也许是文件夹?我只是猜到ssl
文件夹/usr/local/
必须是Mac OSX的默认打开ssl安装目录?
是否有可能连接到Web服务(例如发送一个HTTP请求)通过VBA 在 Microsoft Access中?例如,用户单击表单上的按钮,然后将HTTP请求发送到响应的Web服务OK
.
有没有人这样做过?
注意:VBA,而不是VB.NET.
当我尝试在OpenSSL中使用CMS解密加密的S/MIME消息时,decrypt方法返回0代表未成功.
OpenSSL.org说......
CMS_decrypt()返回1表示成功,0表示失败.错误可以从ERR_get_error(3)获得
当我跑这个......
out = BIO_new(BIO_s_mem());
if (!out)
assert(false);
int error = CMS_decrypt(cms, rkey, rcert, out, NULL, 0);
if (!error) {
fprintf(stderr, "Error Decrypting Data\n");
printf("error code: %d\n", ERR_get_error());
ERR_print_errors_fp(stderr);
assert(false);
}
Run Code Online (Sandbox Code Playgroud)
...错误变量为0表示发生错误,错误代码ERR_get_error()
也为0.此外ERR_print_errors_fp()
,不会打印任何表示没有错误的内容.
上述代码的输出:
Error Decrypting Data
error code: 0
Assertion failed: (false)
Run Code Online (Sandbox Code Playgroud)
有没有人建议这里出了什么问题?谢谢
我有以下自定义过渡使用UIView.animateWithDuration(...usingSpringWithDamping:...)
,它完美地工作.
UIView.animateWithDuration(self.transitionDuration(transitionContext),
delay: 0.0, usingSpringWithDamping: 0.8, initialSpringVelocity: 1.0,
options: nil, animations: {() in
// ...
}, completion: {(Bool) in
// ...
})
Run Code Online (Sandbox Code Playgroud)
但后来我不得不扩展我的自定义转换,UIViewControllerInteractiveTransitioning
以便进行交互式转换,用户可以再次向下滑动模态视图.
因此,我需要动画的关键帧才能UIPercentDrivenInteractiveTransition
正常工作.
所以我改变了动画功能UIView.animateWithKeyframes...
.
UIView.animateKeyframesWithDuration(self.transitionDuration(transitionContext),
delay: 0.0, options: UIViewKeyframeAnimationOptions.CalculationModeCubic,
animations: {() in
// ...
}, completion: {(Bool) in
// ...
})
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:我丢失了弹簧动画.
我查了几个链接,其中最有希望的是:
...但是使用.addKeyframes...
方法我无法指定我需要的完成块.
有什么建议?: - /
我UISearchBar
添加到了顶部UITableView
.
// init search bar
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.tintColor = Config.grayColor()
controller.searchBar.searchBarStyle = UISearchBarStyle.Minimal
self.tableView.tableHeaderView = controller.searchBar
// set content offset for table view in order
// that the searchbar is hidden at the beginning
self.tableView.contentOffset = CGPoint(x: 0, y: controller.searchBar.frame.size.height)
return controller
})()
Run Code Online (Sandbox Code Playgroud)
这基本上看起来像预期:
但是当我进入搜索文本域并向下滚动表视图时,它看起来很奇怪.搜索控制器的背景是透明的.
我试着设置barTintColor
和backgroundColor
,但没有任何效果.
我试图强制EGORefreshTableHeaderView
从代码更新.当我拉下来时,一切都很完美,TableView
(根)得到刷新.但我有一个模态视图,用户可以在其中订阅某些实体.当他订阅一个时,第一个(根)表视图中的重载方法被触发.此方法建立与服务器的连接,根据订阅加载某些特定数据,将其存储在a中CoreData DB
并更新TableView
(root).
问题是当用户仅连接到3G或Edge网络时,在自己的线程中处理的下载可能需要几秒钟.为了表明用户发生了什么事,我想展示一下EGORefreshTableHeaderView
.
我发现我可以设置刷新视图的缩进并手动显示加载图标,但我想知道是否通过触发委托或方法没有更简单的解决方案EGORefreshTableHeaderView
?
我想将一个 BIO 保存(管道/复制)到一个字符数组中。当我知道它的大小时,它可以工作,否则就不行。
例如,我可以使用这个将我的 char* 的内容存储到一个 BIO 中
const unsigned char* data = ...
myBio = BIO_new_mem_buf((void*)data, strlen(data));
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用 SMIME_write_CMS 将 BIO(我之前创建的)作为输出时,它不起作用。
const int SIZE = 50000;
unsigned char *temp = malloc(SIZE);
memset(temp, 0, SIZE);
out = BIO_new_mem_buf((void*)temp, SIZE);
if (!out) {
NSLog(@"Couldn't create new file!");
assert(false);
}
int finished = SMIME_write_CMS(out, cms, in, flags);
if (!finished) {
NSLog(@"SMIME write CMS didn't succeed!");
assert(false);
}
printf("cms encrypted: %s\n", temp);
NSLog(@"All succeeded!");
Run Code Online (Sandbox Code Playgroud)
OpenSSL 参考使用带有 BIO 的直接文件输出。这有效,但我不能在objective-c中使用 BIO_new_file() ... :-/
out = …
Run Code Online (Sandbox Code Playgroud) 我是Xcode的新手.如何将文件添加到构建输出目录?我有一个file.txt
我想用C++打开的.
以下代码......
string line;
ifstream file ("file.txt");
if (file.is_open())
{
while (file.good())
{
getline (file,line);
cout << line << endl;
}
file.close();
}
Run Code Online (Sandbox Code Playgroud)
......结果Unable to open file
.
我发现可执行文件已部署到 /Users/myusername/Library/Developer/Xcode/DerivedData/IAIK_CMS_Test-dfmszjneldfwjffsmjpmtiepyzej/Build/Products/Debug/
我试图将项目设置中的文件添加到"构建阶段"中的"复制文件"中.有关详细信息,请参阅此屏幕截图:http://i.stack.imgur.com/QhkIT.png
编辑:我正在寻找Eclipse的Java"添加到构建路径"之类的东西.
有没有人有建议?
我正在寻找苹果iOS的使用情况统计数据.类似的东西http://www.w3schools.com/browsers/browsers_stats.asp的浏览器使用.
有谁知道来源?
ios ×6
iphone ×5
objective-c ×4
openssl ×3
smime ×2
access-vba ×1
animation ×1
build ×1
c++ ×1
directory ×1
encryption ×1
ios5 ×1
keychain ×1
macos ×1
ms-access ×1
mysql ×1
networking ×1
osx-lion ×1
private-key ×1
refresh ×1
sql ×1
statistics ×1
subquery ×1
swift ×1
transparent ×1
uianimation ×1
uisearchbar ×1
uitableview ×1
validation ×1
web-services ×1
where-clause ×1
wlan ×1
xcode ×1