UIActivityViewController – 只为某些活动附加一个URL

我一直在尝试使用新的UIActivityViewController来replace我所有的UIActionSheets共享,但是我遇到了一个问题。 我有5个活动,消息,电子邮件,复制,Twitter和Facebook。 我已经想通过这个在自定义UIActivityProvider子类中如何让这些显示不同的文本: – (id) activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType { if ( [activityType isEqualToString:UIActivityTypePostToTwitter] ) return twitter; if ( [activityType isEqualToString:UIActivityTypePostToFacebook] ) return facebook; if ( [activityType isEqualToString:UIActivityTypeMessage] ) return urlScheme; if ( [activityType isEqualToString:UIActivityTypeMail] ) return urlScheme; if ( [activityType isEqualToString:UIActivityTypeCopyToPasteboard]) return urlScheme; return nil; } 而在我看来这个控制器: ActivityProvider *aProvider = [[ActivityProvider alloc] init]; aProvider.facebook […]

iOS 9 Facebook SDKlogin/共享

我遇到了使用iOS 9上最新的Facebook SDK(4.6)的问题。要授权用户,我使用FBSDKLoginManager。 我试过设置这个: loginManager.loginBehavior = FBSDKLoginBehaviorNative; 但是SDK似乎总是使用SFSafariViewController来授权Facebook。 这是我面临的问题。 如果用户使用FacebookAccountA在其设备上安装了FB应用程序,然后尝试使用我的应用程序进行身份validation,则会显示此SFSafariViewController,并且可以使用FacebookAccountB(一个单独的FB帐户)对应用程序进行身份validation。 然后在应用程序中,我尝试分享以下内容: FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = [NSURL URLWithString:shareString]; FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init]; dialog.fromViewController = self; dialog.shareContent = content; dialog.delegate = self; [dialog show]; 共享对话框的默认设置是FBSDKShareDialogModeShareSheet。 分享表格正确显示在应用程序中,并且该post似乎可以正常工作,但该链接已发布到FacebookAccountA(本机应用程序帐户),而不是FacebookAccountB(通过我的应用程序进行身份validation的那一个)。 因此,如果用户使用不同的Facebook帐户对自己的应用程序进行身份validation,而不是在其本机应用程序中login,则最终可能会发布到与用于validation应用程序的帐户不同的帐户。 有没有办法来防止这一点? 提前致谢。

ACAccountStore错误6(ACErrorAccountNotFound)和8

我正在尝试使用以下代码从ACAccountStore获取帐户: – (void) facebookLoginOnSuccess: (void (^)(void)) successBlock onError:(void(^)(NSError *error))errorBlock{ self.facebookPermissions = @[ @"offline_access", @"publish_stream", @"user_birthday", @"user_location", @"email" ]; NSDictionary *options = @{ @"ACFacebookAppIDKey": [[NSBundle mainBundle] objectForInfoDictionaryKey:@"FacebookAppID"], @"ACFacebookAppVersionKey": @"1.0", @"ACFacebookPermissionsKey": self.facebookPermissions, @"ACFacebookPermissionGroupKey": @"write" }; [self accountLoginFor:ACAccountTypeIdentifierFacebook withOptions:options OnSuccess:successBlock onError:errorBlock]; } – (void) accountLoginFor: (NSString *) accountTypeID withOptions: (NSDictionary *) options OnSuccess: (void (^)(void)) successBlock onError:(void(^)(NSError *error))errorBlock{ […]

将video保存在创build的相册中

我用AppDelegate方法创build了一个使用此代码的相册 NSString *albumName=@"999Videos"; ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library addAssetsGroupAlbumWithName:albumName resultBlock:^(ALAssetsGroup *group) { NSLog(@"added album:%@", albumName); } failureBlock:^(NSError *error) { NSLog(@"error adding album"); }]; 现在我想保存录制的video到这个999Videos相册创build。不是我做过的photosAlbum照片。 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:outputFileURL]) { [library writeVideoAtPathToSavedPhotosAlbum:outputFileURL completionBlock:^(NSURL *assetURL, NSError *error) video是保存,但不是在video相册。请有人请告诉我如何将video保存到我的自定义相册?

检测iOS设备方向locking

如何以编程方式检查设备方向是否在iOS中被locking? 我在UIDevice中看不到任何东西。 我知道这应该是透明的应用程序。 但是如果方向被locking,我想改变显示内容的方式(如Youtube应用程序所做的;locking为横向而不是纵向)。 这一定是可能的。

是否有可能从MKPolylineinheritance

我正在为iPhone构build一个基于MapKit的应用程序。 我有一些MKPolylines添加到地图。 然而,我不希望有一个MKPolyline,我想我自己的模型类符合MKOverlay协议添加到地图,以便我可以访问模型属性时,在mapView:viewForOverlay创build相应的视图。 问题是,我找不到从MKPolylineinheritance的方式,因为它没有任何可以从子类“init”调用的init方法。 您只能使用便利的方法创build它们。 我如何将模型属性和MKPolyline行为结合在一起?

如何添加UITableView标题上方的视差效果的图像,并保持标题粘滞

对不起,如果我不能很好地解释问题,但这是图像什么解释你我想做的每件事情: 我的问题是,我将如何使我的视图结构。 表格视图的标题应该固定在表格的顶部。 但是,表格视图标题上方的最顶部图片呢? 我将不得不添加UIScrollView内的表视图? 视差效应可以通过CATransform3D完成,但是我怎样才能达到我想要的,那就是我的问题。 有很多演示,但我想使它做到习惯。 请给我一些指导。 提前致谢 !!!

GoogleMaps SDK for iOS上有标记animation吗?

有没有可能在GMSMapView用animation移动/旋转GMSMarker ?

UIGestureRecognizer拖动UIView

我试图构build一个GestureRecognizer从右到左拖动一个UIView 。 如果用户将视图拖动到屏幕的一半,视图将被自动拖拽到左边angular落放弃,但是如果用户没有拖动到屏幕的一半,它将返回到屏幕的右下angular。 这里输的很less,有什么教程或者什么的? 谢谢 编辑:inheritance人一些代码,它的UIImageView里面的UIScrollView ,我需要拖动整个滚动或只是其中的图像: _myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, self.window.bounds.size.height)]; [_myScroll setContentSize:CGSizeMake(self.window.bounds.size.width , 1300)]; _tutorial = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, 1300)]; [_tutorial setImage:[UIImage imageNamed:@"Default"]]; _tutorial.contentMode = UIViewContentModeScaleAspectFit; [_myScroll addSubview:_tutorial]; _tutorial.userInteractionEnabled = YES; UIPanGestureRecognizer * recognizer = [[UIPanGestureRecognizer alloc]initWithTarget:_tutorial action:@selector(handlePan:)]; [_tutorial addGestureRecognizer:recognizer]; [self.window addSubview:_myScroll]; 而我尝试拖动UIImageView – (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer { CGPoint […]

Swift(iOS)和PHP中AES256encryption的结果不同

我在AES256工作,能够使用不安全的通道在iOS和PHP之间进行encryption/解密。 我看到很多类似的问题,围绕关键尺寸,模式(CBC或ECB),使用随机四等。但在这种情况下,我发现了一个奇怪的行为如下。 在这两种环境中configuration: – 密钥:32字节(256位) – 块大小:128位(标准) – iv:16字节(用于testing的静态) – 模式:CBC 如果我encryption一个16或32字节的文本(以匹配AES块大小),结果在Swift和PHP是相似的,但不完全相同: key =“12345678901234567890123456789012”plainText =“12345678901234567890123456789012”iv =“1234567890123456” Swift cipher = e5RnnlJkv4QGnGhkMwfvgMHr80NWUVhbvvfCdPQ5V2KyKJTx4KfWmn4HXi4dG0b8 PHP cipher = e5RnnlJkv4QGnGhkMwfvgMHr80NWUVhbvvfCdPQ5V2I = 如您所见,密码长度和PHP Base64string的最后两个字符有所不同。 但是,如果我使用不是AES128块大小乘数的文本,让我们说“Hello World”,则漫游器环境报告以下不同(但相同大小)的密码 Swift cipher = bdwO / 5C8a + pliIoIXtuzfA == PHP密码= oPotHCkxpOwQhIaCz6hNMw == 在这两种情况下(Swift和PHP),无论明文大小如何,密码都是正确解密的。 另外,Swift结果与代码的Objective-C版本一致 附上使用的简化代码: PHP $key = "12345678901234567890123456789012"; $iv = "1234567890123456"; $plaintext = "Hello World"; […]