草庐IT

ios - 在沙盒模式下检查应用内购买自动续订订阅

我的应用程序中的自动续订收据更新出现延迟。例如,如果用户订阅了7天的订阅和一周的免费试用,表示1周=3分钟自动续订将发生5次。总时间=15分钟。所以根据上面的信息,在前15分钟内我应该有一个有效的订阅。但有时它不会返回事件订阅。我发现的问题甚至在前3分钟之后,收据还没有更新,所以当我将到期日期与当前时间进行比较时,它会在订阅期到期时返回。这在沙盒模式中很常见还是我做错了什么? 最佳答案 TestingAuto-RenewableSubscriptionsWhentestingauto-renewablesubscriptionsin

iOS Swift 从普通导航栏过渡到透明栏

我用谷歌搜索了类似的问题,但没有一个能真正解决这个问题。我试图从带有普通导航栏的ViewController推送到带有透明导航栏的新ViewController。这是我用来设置导航栏透明的第二个ViewController中的代码self.navigationController?.navigationBar.setBackgroundImage(UIImage(),for:.default)self.navigationController?.navigationBar.shadowImage=UIImage()navigationController?.navigationBar.

ios - iOS 上的 Firebase 推送通知 : FCM says token error: not registered but app gets no refreshed token

安装应用程序后,我的应用程序获得PN,一切正常。但是突然间,该应用程序不再获得任何PN。对特定tokenID的手动推送测试从Google的Firebase服务器获得以下答案:{"multicast_id":XXXXXXXXXXX,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}因此似乎tokenID不再在Firebase中注册。但我仍然使用InstanceID.instanceID().token()获得相同的旧token,而不是新token。我的设置与MessagingEx

ios - 从 Core Data 中检索 Swift 中的坐标时遇到问题

我是编程新手,对于我的任何无知,我深表歉意。我也确信有很多我没有遵循的最佳实践,但我的问题更具体。我正在为特定人群制作联系人应用程序。该应用程序的一部分是mapView,显示每个联系人的引脚。当我保存一个新人时,我会像这样对地址进行地理编码:letentity=NSEntityDescription.entity(forEntityName:"Person",in:self.managedObjectContext)letrecord=NSManagedObject(entity:entity!,insertInto:self.managedObjectContext)geocoder

iOS - 如何根据元素的数量调整屏幕上元素的大小

因此,我正在使用Spritekit开发一款游戏,该游戏使用Sprites金字塔(让我们说一个简单的例子是圆圈)。用户可以选择他们希望在游戏中拥有的Sprite行数。Sprite要形成一个金字塔,所以如果你有1行,你就有1个Sprite节点。它越往下增加2(您选择的行越多)-创建金字塔形状。因此,如果用户选择3行,游戏板将如下所示:欧哦哦哦OOOOO但是,当它达到5行时,它就失去了金字塔形状,因为屏幕只有这么宽,而且它必须将所有元素都放在屏幕上(元素在更靠下的行中更加困惑)。我的问题是,要解决这个问题,我需要做什么才能根据选择的行数调整金字塔的大小并更改其元素之间的间距?我必须将间距乘以

ios - 使用多个变量来创建字符串

我有一些变量,我想使用这些变量来创建一个可以打印到UILabel的字符串。maturityDate|ComparisonTerm|monthsToMaturity|ComparisonRate以下是变量:maturitDate:Date//value(valuetoreturnMMMDD,YYYY)ExJune23,2017ComparisonTerm:DoubleMonthsToMaturity:DoubleComparisonRate:Double我想要“|”酒吧是分隔符。我最大的挑战是处理日期值。它当前返回2021-09-0104:00:00+000作为示例。

ios - 使用动画滚动 textView 的底部

我的代码右边是向下滚动的动画,但只是停在我放置y坐标的位置。我希望动画继续到TextView的最底部。UIView.animate(withDuration:9){self.textView.contentOffset=CGPoint(x:0,y:100)} 最佳答案 使用scrollRangeToVisible。Playground示例:importUIKitimportPlaygroundSupportfuncscrollTextViewToBottom(_textView:UITextView){if(textView.tex

ios - 如何按步数获取CMPedometer数据?

我目前在医疗保健应用程序中工作,该应用程序需要跟踪用户手持手机行走时的步数。我已经使用了CoreMotion框架和CMPedometer来跟踪步数,并且效果很好。但是,回调函数不会在每个步骤计数后都调用。它汇总所有数据,并以10个步骤为整体返回步骤数(例如)。再具体一点,startUpdates(fromstart:Date,withHandlerhandler:@escapingCMPedometerHandler)不会为每个步骤计数(步骤计数1,步骤计数2等)调用。它合并数据并通过添加总步数仅被调用一次。有没有一种方法可以为每个步行步骤调用该方法? 最佳

ios - 在详细 Controller 中打开通知

我在我的项目中使用了FireBase,我收到了关于主题的通知。当点击通知打开并将数据传递给详细Controller时。例如BBC新闻节目这是StoryboardimportUIKitimportUserNotificationsimportFirebaseimportFirebaseInstanceIDimportFirebaseMessagingimportSystemConfiguration@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate,UNUserNotificationCenterDel

ios - 核心数据更改处理时出错

我正在开发一个硬币收集应用程序,最近我开始将核心数据集成到我的应用程序中。我有一个存储自定义CoinCategory对象的核心数据数据库,每个CoinCategory对象都有一个Coin对象数组。这样,我的应用程序就可以按类别存储所有内容。当我集成核心数据时,我可以毫无错误地添加我的第一个类别,也可以毫无问题地删除它,但是当我添加第二个硬币类别时,我遇到以下错误:2017-06-2609:55:37.218CoinCollection[18889:12839563]-[CoinCollection.CoinCategory比较:]:无法识别的选择器发送到实例0x608000236cc0