如何自定义UIActivityViewController共享菜单的示例?

有一个如何自定义UIActivityViewController共享菜单与我自己的图标和IBAction的例子吗? 我见过这个… – (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities; 但我还没有得到它的工作。

iCloud NSUbiquitousKeyValueStore初始同步/访问延迟 – 如何处理?

我正在使用NSUbiquitousKeyValueStore来存储一些应用程序设置。 我的逻辑是:当我在本地保存数据时,我把它保存到NSUbiquitousKeyValueStore也作为备份。 当我需要设置时,我在本地读取,如果在本地找不到数据(例如重新安装应用程序),则只使用iCloud键值存储。 如果用户有多个设备共享一个icloud ID,他可以在一台设备上写入设置并将它们下载到另一台(我警告他重写)。 我有一个奇怪的问题。 脚步: 安装一个应用程序,并将其数据保存到NSUbiquitousKeyValueStore。 确保数据在那里。 删除了应用程序(假设数据仍然存在于iCloud中)。 为了以防万一,等待几分钟,然后从Xcode内部安装并启动应用程序。 试图读取设置密钥使用[[NSUbiquitousKeyValueStore defaultStore] dataForKey:@“mykeyname”] – 有时可以,但有时键没有find! 等了15秒,再试一次。 成功。 困惑。 所以看起来像ios需要一些时间来为我的应用程序在dataForKey:call本地提供远程键值存储。 如果我写了这样一个系统(实际上我曾经 – 在不久之前,在另一个生活中),显然在询问和接收关键值数据之前必须有一个延迟。 所以我想通知一下:“我们在第一次启动时完成了下载/同步键值存储”或类似的事情。 据我所知,我可以在主线程中同步使用NSUbiquitousKeyValueStore(这对我来说很方便)。 但是[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]返回一个有效的url,然后我得到“key is not found”。 所以我不能依靠它。 有没有办法确保NSUbiquitousKeyValueStore工作是一个下载? 尤其是在networking速度慢的情况下 UPDATE 添加[[NSUbiquitousKeyValueStore defaultStore]同步](如在苹果文档中写的)初始化和加载是有点帮助。 还有很多问题,以iCloud。 昨天我已经成功地将数据保存到手机1上的键值存储,并在手机2上恢复。今天,我已经删除了手机2上的应用程序,并试图恢复数据。 但即使[[NSFileManager的defaultManager] URLForUbiquityContainerIdentifier:nil]返回有效的URL,我调用[[NSUbiquitousKeyValueStore defaultStore]同步]我调用dataForKey:MY_DATA_KEY时得到nil。 当我尝试从手机1(应用程序仍然安装)从icloud恢复数据成功,但是当我重新安装在这个手机上的应用程序恢复不成功了。 临时解决scheme是:“closuresiCloud->文档和数据 – closures和打开networking – 打开文档和数据”,但你也应该等待几分钟,然后它应该工作。 所以,问题:1.你有这样的问题与iCloud? 2.有什么办法可以找出数据不可用还是只是没有下载? 3.是否有任何已知的“延迟”iCloud? 我听说过7秒左右,但显然不是这样。 4.看起来应用程序不是非阻塞的iCloud数据更新速度非常快(秒),但是当您重新安装应用程序icloud需要几分钟才能实现键值存储。 有什么办法可以强制这个过程? PS下面是我的CloudHelper供您参考 […]

iOS 8 TestFlight不安装应用程序

正如标题所说,我正在尝试预发布一个ios8应用程序。 该应用程序已成功从档案中上传,并在预发行版下出现。 我按提交testing版本并添加内部testing用户。 在testing飞行的应用程序出现,但是当我按安装它说: “无法安装应用程序,testflight目前不可用,请稍后再试。” 这没有任何意义。 我试图重新创build开发者configuration文件,我尝试了不同的设备与不同的帐户…总是相同的。 有任何想法吗?

如何使一个有效的p12文件被SecPKCS12Import正确导入

我已经解决了将XML RSA私钥转换为PEM文件的先决条件问题,但遇到导入P12私钥时收到空数据的另一个问题。 以下是我的步骤: 将PEM文件转换为P12文件 openssl> pkcs12 -export -in rsa.pem -inkey rsa.pem -out rsa.p12 -nocerts 阅读P12文件到iOS项目 NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"MyPrivateKey" ofType:@"p12"]; NSData *p12data = [NSData dataWithContentsOfFile:path]; if (![self getPrivateKeyRef]) RSAPrivateKey = getPrivateKeywithRawKey(p12data); 导入P12私钥 SecKeyRef getPrivateKeywithRawKey(NSData *pfxkeydata) { NSMutableDictionary * options = [[[NSMutableDictionary alloc] init] autorelease]; // Set the public key query dictionary //change […]

如何添加“其他链接器标志”XCODE项目使用命令行?

我正在尝试自动化xcode项目的构build过程。 问题是我在构build项目时需要添加“其他链接器标志”。 我不能只是手动添加到项目生成设置,我必须使用命令行来完成。 可能是我可以编辑项目文件或configuration文件? 只要可以作为脚本运行,任何选项都是很好的。 有任何想法吗? 谢谢

远程通知方法调用两次

我已经实现了application:didReceiveRemoteNotification:fetchCompletionHandler:在我的应用程序委托来响应推送通知。 当应用程序在后台接收到通知时,立即调用此方法,并在完成时获取新数据并执行完成块。 全部按照文档。 但是,如果我点击通知警报,则会再次调用此方法,导致另一个networking调用和UI更新。 我会期望这个方法被调用一次每个推送通知,而不是一旦收到和再次采取行动。 其他人如何实施这种方法? – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { [self loadSomeResource:^(NSData *data,NSError *error){ if (error) { completionHandler(UIBackgroundFetchResultFailed); } else if (data){ completionHandler(UIBackgroundFetchResultNewData); } else { completionHandler(UIBackgroundFetchResultNoData); } }]; }

如何以编程方式检查并打开iOS 8中的现有应用程序?

我想检查一个应用程序是否存在于我的iphone或不。 如果存在,我想启动它,否则打​​开应用程序的App Store链接。 请build议所需的参数和方法来实现它。 我有应用程序商店链接来打开应用程序,但我需要检查应用程序是否已经存在于手机中。

如何在只使用NSUbiquitousKeyValueStore时编程检测用户设备上是否启用了iCloud?

我正在使用NSUbiquitousKeyValueStore将一些偏好数据同步到iCloud。 我发现如果用户在“设置应用程序”中禁用了iCloud的“文档&数据”项, NSUbiquitousKeyValueStore就无法将其数据同步到iCloud。 所以,我想先检查一下,如果这个设置是打开的。search结果后,我发现这个代码片段: NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; NSLog(@"url=%@",ubiq); if (!ubiq) { UIAlertView *av = [[UIAlertView alloc] initWithTitle:nil message:@"Please enable iCloud in Setting app" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [av show]; return; } 我想知道的是,这是否是检测的唯一方法,即使我只是使用NSUbiquitousKeyValueStore (而不是iCloud文档存储)。 有更好的select吗?

当使用UINavigationController时,我的控制器的viewWillAppear或viewDidAppear方法不会被调用

这是球场。 我有一个UIViewController子类,它在viewWillAppear和viewDidAppear方法中做了一些事情。 我想在UINavigationViewController中嵌套这个视图控制器。 根据视图层次的复杂性,我的控制器的两个方法viewWillAppear和viewDidAppear可能不会被调用。 我应该怎么做才能确保这两个方法总是被调用,而不pipe我的视图层次? “复杂”视图层次结构的示例: UIViewController subclass containing a UITabBarController |_ Each tab containing a UINavigationViewController |_ Each UINavigationController controller containing a custom UIViewController 当您将TabBarController作为模式视图呈现时,将调用TabBarController的viewWillAppear和viewDidAppear方法,但不嵌套在UINavigationViewControllers下嵌套的自定义UIViewController。

触摸ID导致应用程序变得无法响应

我添加了ios-8的新的touchID API到我的应用程序。 它通常按预期工作,但是当我的手指已经在主页button上时进入应用程序 – API的成功callback被调用,但popup窗口仍然出现在屏幕上。 在按下CANCEL UI后变成不响应。