小编Bar*_*ley的帖子

更新到CocoaPods的最新版本?

我在安装Alamofire 4.0到项目中时遇到了一些问题.

我有最新版本的Xcode,运行Swift 3,当我尝试安装alamofire时,我得到800个编译器错误.

显然地

构建Alamofire 4.0.0+需要CocoaPods 1.1.0+

我查看了终端中的CocoaPods版本,它说我在1.0.1.

运行更新不起作用我猜是因为CocoaPods 1.1处于测试阶段.

所以我不确定如何更新它到我好去的地方.除非过时不强制800编译器错误?这听起来像是其他问题吗?

xcode ios cocoapods swift alamofire

272
推荐指数
14
解决办法
16万
查看次数

collisionBitMask如何工作?斯威夫特/ SpriteKit

据我所知,物理体的默认值是当它们相互碰撞时相互反弹,直到你将collisionBitMask设置为相等的数字.

但是,我有一个很大的问题,因为碰撞我认为看起来应该非常简单.

    let RedBallCategory  : UInt32 = 0x1 << 1
    let GreenBallCategory: UInt32 = 0x1 << 2
    let RedBarCategory : UInt32 = 0x1 << 3
    let GreenBarCategory : UInt32 = 0x1 << 4
    let WallCategory : UInt32 = 0x1 << 5


      greenBall.physicsBody?.categoryBitMask = GreenBallCategory
       greenBall.physicsBody?.contactTestBitMask = RedBarCategory
        greenBall.physicsBody?.collisionBitMask = GreenHealthCategory

 redBall.physicsBody?.categoryBitMask = RedBallCategory
        redBall.physicsBody?.contactTestBitMask = GreenBarCategory
       redBall.physicsBody?.collisionBitMask = RedHealthCategory

   let borderBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
    self.physicsBody = borderBody
    self.physicsBody?.friction = 0
    borderBody.contactTestBitMask = RedBallCategory | GreenBallCategory
   borderBody.categoryBitMask = WallCategory
Run Code Online (Sandbox Code Playgroud)

所以这里我有2个球和我的边界.我可以得到我想要的碰撞检测,但是当我添加边框体的类别位掩码时,它允许球穿过和离开屏幕,这是我不想要的.

我也希望球能够相互反弹,但只有当我注意到球的类别之一时,他们才能反弹.否则他们会互相通过. …

sprite-kit skphysicsbody swift

21
推荐指数
1
解决办法
1万
查看次数

GameScene.sks不建议用于游戏构建吗?

几乎每一个我见过的初学SpriteKit游戏制作教程,都会删除没有真正探索的GameScene.sks.

构建简单的非游戏应用程序是如此初学者友好的原因是因为故事板.

Ray在这里使用GameScene:

http://www.raywenderlich.com/84341/create-breakout-game-sprite-kit-swift

有没有理由不使用这个工具?当你把这个工具放在这里似乎可以简化它时,在代码中写出所有内容会更令人生畏.但如果最好这样做,我宁愿避免使用它.

提前致谢.

sprite-kit swift

4
推荐指数
1
解决办法
1378
查看次数

Firebase 云设备到设备推送通知设备令牌与主题

我刚刚第一次使用 firebase 功能推送通知。我正在监视以下更改:

exports.observeNotifications = functions.database.ref('/notifications/{user_id}/{notification_id}').onWrite((change, context) => {
Run Code Online (Sandbox Code Playgroud)

后来,我使用:

const userQuery = admin.database().ref(`users/${from_user_id}/username`).once('value');
const deviceToken = admin.database().ref(`/users/${user_id}/device_token`).once('value');
Run Code Online (Sandbox Code Playgroud)

检索发件人的 userUID 和设备令牌,稍后与 sendToDevice()

这很好用,是我在任何地方都看到推荐的方法,但我想知道为什么要在用户到用户场景中使用主题来执行此操作。

在聊天应用程序的示例中,每次发送聊天时,都会发送一个值notifications/users/{uid} ...并触发该事件。然后必须进行值调用,必须完成承诺处理,然后才能配置和发送推送有效负载。

对于主题,当用户首次加载应用程序时,您可以为用户订阅“chat_notifications_usersIUID”之类的主题。这不需要获取设备令牌并完成使用承诺的过程,并大大简化了向特定用户发送通知的过程,只需推送到特定于接收者 UID 的特定主题即可。

当从用户向用户发送推送通知时,使用主题而不是 firebase 函数观察是否有任何缺点。

ios firebase google-cloud-functions firebase-cloud-messaging

1
推荐指数
1
解决办法
281
查看次数

从主屏幕加载应用程序时调用哪个函数?

我希望能够根据一天中的时间更改我的应用程序的背景颜色.我相信这样做的方法是说小时组件是否大于任何数字,将背景设置为夜间背景,否则它是白天背景.

为了测试我担心的事情,我扔了

timeLabel.text = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .NoStyle, timeStyle: .FullStyle)
Run Code Online (Sandbox Code Playgroud)

进入viewDidLoad.这显示了应用加载的时间.如果我杀了应用程序并完全重新加载,这显然也会不断更新.

但是,如果用户进入主屏幕或转到其他应用程序,则返回到此时间不会更新.它将显示应用程序首次加载的时间.只有当用户完全杀死应用程序(显然无法依赖)时,才会显示正确的时间.

因此,在我的示例中,如果我的"切换到夜间时间"是下午5点,如果用户在4:30加载,然后进入主屏幕,则在下午5点加载应用程序,没有任何内容会因为存储的时间而改变还是4点30分.

我尝试抛出代码viewDidAppear而没有任何改变.

当应用程序从主屏幕加载或从其他应用程序返回时,会运行什么代码?

nsdate ios swift

0
推荐指数
1
解决办法
68
查看次数

使用 UDID 通过 IPA 分发给客户端?

客户要求我向他们发送 IPA 文件。

“您可以通过电子邮件发送文件,并将其安装为开发人员设备”

我测试了为项目创建 IPA 文件并将其存档,允许 XCode 自动管理签名。正如预期的那样,这仅将我的一台设备的 UDID 存储在 IPA 中。

我已经进入了苹果开发者门户并为此应用创建了一个 Ad-Hoc 配置文件。我没有看到如何将设备添加到配置文件中。当我去编辑配置文件时,设备只显示选择 iPhone、Mac 或两者的选项。

我正在使用 Testflight,但客户也需要 IPA。

如何使用提供的设备 UDID 正确创建项目的 IPA 文件?

beta xcode ios

0
推荐指数
1
解决办法
904
查看次数