iOS应用被拒绝:非公开的API

相同的应用程序已经被批准了两次之前,但经过一些改变,如设置图像视图和提交应用程序,苹果拒绝了我的应用程序以下错误: 性能 – 2.5.1 您的应用使用或引用以下非公开API: setResult:nextStarIndex 应用程序商店不允许使用非公共API,因为如果这些API发生更改,可能会导致糟糕的用户体验。 如果用户在包含私有API的情况下如何testing他/她的应用程序? 我没有在我的项目中的任何地方使用setResult:和nextStarIndex代码,所以我该怎么办?

NSAttributedString和iOS上的链接

我想添加一个超链接到我的文本正在处理和使用CoreText绘制的某些部分。 根据苹果的CoreText文档,我应该使用addAttribute:NSLinkAttributeName但是在iOS(4.3)上它说它不知道NSLinkAttributeName。 在我的文档search它看起来像NSLinkAttributeName只存在于Mac上。 它在iOS上可用,我只是想念一些东西? 如果它不可用,我怎样才能创build一个使用NSMutableAttributedString和CoreText文本的一部分的超链接? 谢谢

通话logging,短信历史,iOS中的电子邮件历史logging

我有一个要求获取所有通话logging,短信日志和电子邮件日志在iOS中。 所以,如果任何人有任何关于如何获取在iOS的电话或短信或电子邮件日志(历史)的想法,请帮我或build议我的解决scheme或是否可行。 但是一个应用程序也可以在app store中使用。 应用程序名称是calLog 。 像“ 访问iPhone通话logging ”一些网站也说,这是可能的,这是怎么回事? 在此先感谢大家。 🙂

如何在iOS上解压缩.zip文件?

StoreKit下载IAP内容包后,它会返回一个NSURL,如下所示: 文件://localhost/private/var/mobile/Applications/45EF2B3A-3CAB-5A44-4B4A-631A122A4299/Library/Caches/BA32BC55-55DD-3AA4-B4AC-C2A456622229.zip/ 尽pipe我发现所有的消息来源都声称StoreKit在下载之后解压缩了内容包,但是却让我知道了一个ZIP文件。 这个ZIP可能包含内容包的文件结构。 但是,我如何解压缩?

如何在AVAudioPlayer中连续播放多个audio文件?

我的应用程序中有5首歌曲,我想用AVAudioPlayer一个接一个播放。 有没有这样的例子? 我怎样才能做到这一点? 任何示例代码将不胜感激! 谢谢!

有没有人find一种方法来加载HTTPS页面与无效的服务器证书使用UIWebView?

如果用户尝试在Mobile Safari中加载https网页并且服务器的证书validation检查失败(其过期,撤销,自签名等),则向用户呈现警告消息,并询问他们是否想要继续或不。 同样,NSURLConnection提供了执行者首先决定如何检查证书然后决定如何进行的能力,因此在这种情况下也可能向用户显示警告,并为他们提供继续加载的机会或不是。 但是,似乎在UIWebView中加载https证书失败证书检查行为只是无法加载页面 – didFailLoadWithError:被调用与kCFURLErrorServerCertificateUntrusted但是没有得到显示给用户。 这是不一致的 – 当然,UIWebView的行为应该像Safari一样,在iPhone本身内部保持一致? 它也是一个愚蠢的NSURLConnection允许这个NSURLRequest完全的灵活性:setAllowsAnyHTTPSCertificate是私人的。 是否有实现与Safari一致的行为,这种默认行为是否可以通过类似NSURLConnection允许的方式进行定制? 干杯 PS请不要进入光顾边讨论为什么有人想这样做,非常感谢。

一起发送多个OBD命令并同时获得响应

我正在研究连接OBD2适配器并获取速度,转速,节气门位置等实时数据的应用程序。当我一次读取一个命令时,它通过发送命令“010C \ r”正常工作,我得到当前RPM。 我认为在一个请求中发送多个命令是不可能的。但是在像EngineLink HD,Dashcommand这样的其他应用程序中,我们发现多个组件是一次更新的,就像我们驾驶汽车并检查RPM,Sped和Throttle一样正在每1秒更新一次。 它看起来像实时数据。 我很惊讶,这怎么可能? 我们添加了一些代码,如用户想要显示3个组件,然后为每个组件生成一个线程,并处理该命令的请求和响应。 所以在这种情况下,生成3个线程,我们得到响应,但是如果我们在3个PID中观察速度,则花费太多时间,然后在3-4秒延迟之后更新速度。 我们还需要locking发送请求的代码,并获得响应bcoz OBD2适配器一次处理一个请求和响应。 如果我们不locking代码,那么我们得到不可预知的结果,这可能是由于应用程序和obd2适配器之间的套接字通信所使用的公用共享stream所致。 但是现在我想一次读多个命令。 我的意思是在某个时间点,我想知道速度,转速和油门位置等。所以我想发送一个请求上面的命令,并得到一个响应。 这怎么可能 ? 有人可以指导我。

为什么我的视图在更改anchorPoint后设置框架时会移动?

我做了UILabel两个实例,并将它们添加到我的ViewController的视图。 然后我把anchorPoint从0.5改为1.0(x和y)。 接下来,我将uiLabel2的框架重置为其创build的框架(100,100,100,20)。 当我运行应用程序时, uiLabel1和uiLabel2显示在不同的位置。 为什么? UILabel *uiLabel1 = [[[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 20)] autorelease]; uiLabel1.text = @"UILabel1"; uiLabel1.layer.anchorPoint = CGPointMake(1, 1); UILabel *uiLabel2 = [[[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 20)] autorelease]; uiLabel2.text = @"UILabel2"; uiLabel2.layer.anchorPoint = CGPointMake(1, 1); uiLabel2.frame = CGRectMake(100, 100, 100, 20); [self.view addSubview:uiLabel1]; [self.view addSubview:uiLabel2];

在使用UIManagedDocument的Xcode 4.5的iPhone模拟器5.1中的错误

我有一个非常奇怪的问题,我花了两天的时间来解决…我有一段代码在Xcode 4.4和iOS 5.1 Simulator上使用5.1 SDK工作得很好。 在我更新到Xcode 4.5和6.0 SDK后,我的代码在iOS 5.1 Simulator中停止工作,即使它在iOS 6.0 Simulator中工作得非常好。 有没有我没有意识到的变化? 这是代码: – (void)useDocument { if (![[NSFileManager defaultManager] fileExistsAtPath:[self.database.fileURL path]]){ [self.database saveToURL:self.database.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){ [self setupFetchedResultsController]; }]; } else if (self.database.documentState == UIDocumentStateClosed){ [self.database openWithCompletionHandler:^(BOOL success){ [self setupFetchedResultsController]; }]; } else if (self.database.documentState == UIDocumentStateNormal) { [self setupFetchedResultsController]; } } 出于某种原因,saveToURL和openWithCompletionHandler永远不会在5.1模拟器中返回。 任何人都知道为什么?

Facebook应用程序邀请iOS SDK v4.0configuration和状态

我最近开始实施新的Facebook的应用程序邀请function。 邀请已发送,但我发送应用邀请的我的朋友(或我的例子中的应用testing人员)未收到任何通知。 == 更新 :我已经成功testing了这个function。 但有些事情要注意,请看下面我自己接受的答案。 == 按照教程 ,但我不知道是否有任何错误configuration或如何debugging过程。 所以我的问题是: 应用邀请function是否需要在App Link元首标记中configuration实际的App Store应用ID? 因为,据我了解这个function,其主要目的是推荐我的朋友尝试一个我喜欢的应用程序。 我正在开发的应用程序仍在开发中,我发现AppLink生成器工具上的App Store ID字段是optional 。 所以我想,当我向朋友分享开发应用程序时,他们不会收到消息。 在当前FBSDKAppInviteDialogDelegate 委托方法 ,特别是appInviteDialog:didCompleteWithResults:的callback中,实际发送邀请时我应该收到什么样的Invite Sent成功结果? 因为,正如我testing,当邀请从Facebook的应用程序invites对话框Send ,如果我按Send ,如果发送过程成功,上面的委托将只返回布尔值1为didComplete键。 不知道是否didComplete是邀请被发送到接收器,还是这意味着didFinished ? 与(2)相关的附注 :在F8最近的App Invite介绍video中 ,18点47分,有一个带有“Invite Sent!”字样的指示灯。 下面的文字。 当我testing出来,我没有看到。 这可能是一个(好)testingfunction?