我试图找出一种更简单的方法来复制/同步XCode中链接器构建阶段的框架列表.我知道我可以在Xcode中复制目标,但是,这是为了创建一个新的Cocoa Touch Unit Testing Bundle目标.
创建一个新的单元测试目标将创建只是一个链接构建阶段SenTestingKit.framework,UIKit.framework,Foundation.framework.然后我必须手动添加一些框架.
这是一个痛苦,因为我维护了一个phonegap/cordova插件,并希望让其他人在使用我的插件的phonegap/cordova项目中轻松运行我的单元测试.
是否有一种聪明的方法可以在XCode中的目标之间拖放链接器项?或者我可以从命令行调用将所有链接器项目推送到项目文件中吗?
一位同事今天问我如何配置IIS 7.5以使用集成的Windows身份验证模拟简单的Intranet网站,其中只有静态内容仅限于Active Directory中的特定组(例如"管理员").
事实证明,当经过身份验证的用户没有对请求资源的权限时,IIS会发送HTTP 401响应.拒绝权限可能是NTFS文件ACL或system.webServer/security/authorizationIIS配置中定义的ACL 的结果.
所有主流浏览器似乎都将此401解释为最终用户提供了无效的Windows用户名/密码凭据,从而提示用户输入其用户名/密码.在显示401响应主体/内容之前,IE似乎提示最多3次.Chrome和Safari似乎反复提示用户.
这可能会让最终用户感到困惑,他们不断重复输入有效的Windows用户名/密码,只是再次提示.
更好的方法是IIS返回HTTP 403而不是HTTP 401:
403禁止
服务器理解请求,但拒绝履行请求.授权不会帮助和请求不应重复.
资料来源:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4
如何配置IIS集成Windows身份验证以发送HTTP 401以进行登录失败,如何将HTTP 403发送以拒绝权限?
我正在尝试使用MFMailComposeViewController实例在app中创建用于创建电子邮件消息的cordova/phonegap插件中的错误来源.
第一次呈现作曲家视图时,每个人都可以正常工作.用户可以通过发送消息或取消来解除邮件编辑器.但是,presentViewController再次调用会使作曲家中的"取消"和"发送"按钮变得无用.didFinishWithResult当使用控制器的第二个视图按下不可操作的按钮时,我的代表永远不会打电话.
下面是我所看到的简化版本(简单的故事板有一个包含连接到我的单个UIButton的视图(IBAction)sendMail).我在obj-c做错了什么?我不应该能够显示控制器,解除它并再次显示它吗?
ViewController.h:
#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
@interface ViewController : UIViewController
@end
Run Code Online (Sandbox Code Playgroud)
ViewController.m:
#import "ViewController.h"
@interface ViewController () <MFMailComposeViewControllerDelegate>
@property (nonatomic, weak) IBOutlet UIButton *mailButton;
@property(nonatomic, strong) MFMailComposeViewController* picker;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.picker = [[MFMailComposeViewController alloc] init];
self.picker.mailComposeDelegate = self;
}
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (IBAction)sendMail
{
[self presentViewController:self.picker animated:YES completion:NULL];
}
@end
Run Code Online (Sandbox Code Playgroud)