天道酬勤,学无止境

iphone

iPhone开发:如何实现HTTPS连接?(iPhone development: How to implement HTTPS connection?)

问题 我正在开发一个需要通过 HTTPS 或 SSL 协议连接到 IIS 服务器的 iPhone 项目。 谁能告诉我如何在 iPhone 中实现 HTTPS 连接? 任何建议将不胜感激。 先感谢您。 回答1 Ben Copsey 的 ASIHTTPRequest 框架使通过 SSL 发出 Web 请求变得非常容易。 稍微修改站点的示例: NSURL *url = [NSURL URLWithString:@"https://allseeing-i.com"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request startSynchronous]; NSError *error = [request error]; if (!error) { NSString *response = [request responseString]; NSLog (@"%@", response); } 回答2 只需使用 NSURLConnection 和 NSURLRequest 指向 NUSUL 与 https 协议,就像这样: NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https:/

2021-06-21 12:03:38    分类:技术分享    iphone   ssl   https

CMPedometer StepCounting not Available

My code is: if ([CMPedometer isStepCountingAvailable]) { self.pedometer = [[CMPedometer alloc] init]; } else { NSLog(@"Step counting is not available on this device!"); [SVProgressHUD showErrorWithStatus:@"Step counting is not available on this device!"]; } When i run it on iOS8 and later devices, it says: Step counting is not available on this device! How can i make it available for step counting ?

2021-06-21 12:02:16    分类:问答    ios   objective-c   iphone   core-motion

从 asp.net C# 向 Iphone 发送推送通知(send push notification to Iphone from asp.net C#)

问题 ` public void pushMessage(string deviceID) { int port = 30; String hostname = "gateway.sandbox.push.apple.com"; String certificatePath = HttpContext.Current.Server.MapPath("PushKey.p12"); X509Certificate2 clientCertificate = new X509Certificate2(System.IO.File.ReadAllBytes(certificatePath), "mypassword"); X509Certificate2Collection certificatesCollection = new X509Certificate2Collection(clientCertificate); TcpClient client = new TcpClient(hostname, port); SslStream sslStream = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null)

2021-06-21 12:01:55    分类:技术分享    c#   ios   asp.net   iphone   push-notification

UIWebView - 如何禁用操作表 (UIActionSheet)?(UIWebView - How to Disable Action Sheets (UIActionSheet)?)

问题 我想知道如何禁用 UIActionSheets,特别是在 UIWebView 中点击并按住超链接后显示的操作表。 这些似乎在 UIWebViews 中默认启用,其中包含警报标题中相应链接的链接地址。 它们也在 Safari 中启用。 (如何)是否可以在 UIWebView 中禁用所有此类操作表? 提前致谢! 回答1 我自己刚刚找到了这个解决方案。 将此添加到您的 CSS: body { -webkit-touch-callout: none; } 需要明确的是,这会禁用按住超链接时出现的操作表。 回答2 您还可以通过 JavaScript 通过调用来处理此问题: document.documentElement.style.webkitTouchCallout = "none"; 回答3 - (void)webViewDidFinishLoad:(UIWebView *)webView { [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"]; } 回答4 dataDetectorTypes 属性可能就是您要查找的内容。 如果您想禁用该操作表的可能性

2021-06-21 12:00:55    分类:技术分享    iphone   objective-c   xcode   uiwebview

是否可以调整 UIButton 的 titleLabel 的 x,y 位置?(Is it possible to adjust x,y position for titleLabel of UIButton?)

问题 是否可以调整UIButton的titleLabel的 x,y 位置? 这是我的代码: UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btn setFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)]; [btn setTitle:[NSString stringWithFormat:@"Button %d", i+1] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; btn.titleLabel.frame = ??? 回答1 //make the buttons content appear in the top-left [button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; [button setContentVerticalAlignment:UIControlContentVerticalAlignmentTop]; /

2021-06-21 12:00:16    分类:技术分享    ios   iphone   uibutton   textlabel

在 ObjectiveC 中读取 .doc (MSWord) 文件?(Reading a .doc (MSWord) file in ObjectiveC?)

问题 是否可以在 ObjC 中读取 .doc (MSWord) 文件? 或者有没有其他方法可以读取word文件? 谢谢 回答1 这取决于您的平台。 iPhone 具有与 OS X 非常不同的富文本功能。 UIWebView 可以在 iPhone 上打开它们。 在 Mac OS X 上使用 Cocoa,你可以只使用 NSAttributedString。 回答2 如果只是想展示给用户,可以放在一个UIWebView中。 有关详细信息,请参阅此技术说明。 回答3 UIWebView,不仅可以显示word文档,还可以显示: - 图片 - PowerPoints - Excel - 任何其他文件(除了项目文件,如xcodeproj)

2021-06-21 11:59:49    分类:技术分享    iphone   objective-c   cocoa   cocoa-touch   ms-word

UITableView not updating DataSource after change to NSFetchedResultsController

I have an UITableView populated by a NSFetchedResultsController. The initial fetch works fine. I can add, remove, modify, etc with zero problems.. But I want to add user-defined sorting to the table. I am doing this by changing the NSFetchedResultsController to use a different sortDescriptor set, and a different sectionNameKeyPath. Here is the code where I change the fetch: -(void)changeFetchData { fetchedResultsController = nil; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Object" inManagedObjectContext

2021-06-21 11:59:12    分类:问答    iphone   objective-c   uitableview   nsfetchedresultscontroller   nsfetchrequest

DismissViewControllerAnimated 在块内不起作用(dismissViewControllerAnimated does not work within a block)

问题 在显示UIAlertController后,我尝试关闭UIViewController 。 这是我的代码: UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"Accept" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { [self dismissViewControllerAnimated:YES completion:nil]; }]; [alertController addAction:okAction]; [self presentViewController:alertController animated:YES completion:^{}]; 然而, self永远不会被解雇。 有谁知道如何解决这个问题? 更新 如果我设置[self dismissViewControllerAnimated:YES completion

2021-06-21 11:57:28    分类:技术分享    ios   iphone   uiviewcontroller   uialertcontroller

如何获取用户的国家信息(How to get user's country information)

问题 基本上,我需要在应用程序启动时识别用户所在的国家/地区,并根据他/她的国家/地区在我的应用程序中启用或禁用基于位置的功能。 我需要在加载 RootViewController 之前在应用程序委托中尽快执行此操作。 无论如何在iPhone SDK中这样做? 回答1 在应用程序运行时,您是否需要设备所在国家/地区的名称? 或者您可以使用设备使用的系统区域设置,例如 en_US 或 fr_CA 吗? 如果是后者,您可以: NSLocale *currentUsersLocale = [NSLocale currentLocale]; NSString *currentLocaleID = [currentUsersLocale localeIdentifier];` 那么currentLocaleID将是"en_US"或"fr_CA"或类似的。 否则,您将需要使用 CoreLocation 和某种形式的反向地理编码器将您的经纬度转换为国家/地区名称。 MKReverseGeocoder 可以做到这一点,但服务条款说你需要结合谷歌地图来做,这可能不适合你。 仅适用于 OS 3.0 及更高版本,请搜索MKReverseGeocoder文档以获取更多信息。 我自己需要这个,最后在我们的服务器上用 PHP 进行地理编码,使用设备 IP 地址。 它是基本的

2021-06-21 11:49:29    分类:技术分享    iphone   location   country

如何从 Apple Watch 的模态转场更改标签“取消”(How can I change the label “Cancel” from modal segue in Apple Watch)

问题 如何更改出现在左上角的标签,当我打开模态视图时显示“取消”......我希望它是一个带有图像的按钮。 回答1 标签Cancel是模态呈现的 WKInterfaceController 的默认“标题”,它出现在 Apple Watch 状态栏上。 用图片替换标题 无法隐藏状态栏,也无法在状态栏中显示图像,既不能作为此链接的一部分,也不能替换此链接。 设置模态视图标题的选项 但是,您可以将标题设置为新的字符串值。 例如,您可能想用Close替换Cancel 。 您可以通过四种方式设置此标题,如下所述。 确保您阅读底部的注释,因为在大多数情况下可能只有选项 1 是可以接受的。 您可以在 Interface Builder 中设置模态呈现的 WKInterfaceController 的标题。 只需在属性检查器中设置 Title 属性。 当然,对于每个 WKInterfaceController 只能以这种方式设置单个静态标题,尽管它可以在运行时使用上述任何机制动态更改。 您可以在 init 方法中为模态呈现的 WKInterfaceController 设置标题: override init () { super.init () self.setTitle("Close") } 您可以直接在模态呈现的 WKInterfaceController 的awakeWithContext

2021-06-21 11:47:15    分类:技术分享    ios   iphone   swift   watchkit   apple-watch