我在安装Alamofire 4.0
到项目中时遇到了一些问题.
我有最新版本的Xcode,运行Swift 3,当我尝试安装alamofire时,我得到800个编译器错误.
显然地
构建Alamofire 4.0.0+需要CocoaPods 1.1.0+
我查看了终端中的CocoaPods版本,它说我在1.0.1.
运行更新不起作用我猜是因为CocoaPods 1.1处于测试阶段.
所以我不确定如何更新它到我好去的地方.除非过时不强制800编译器错误?这听起来像是其他问题吗?
据我所知,物理体的默认值是当它们相互碰撞时相互反弹,直到你将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个球和我的边界.我可以得到我想要的碰撞检测,但是当我添加边框体的类别位掩码时,它允许球穿过和离开屏幕,这是我不想要的.
我也希望球能够相互反弹,但只有当我注意到球的类别之一时,他们才能反弹.否则他们会互相通过. …
几乎每一个我见过的初学SpriteKit游戏制作教程,都会删除没有真正探索的GameScene.sks.
构建简单的非游戏应用程序是如此初学者友好的原因是因为故事板.
Ray在这里使用GameScene:
http://www.raywenderlich.com/84341/create-breakout-game-sprite-kit-swift
有没有理由不使用这个工具?当你把这个工具放在这里似乎可以简化它时,在代码中写出所有内容会更令人生畏.但如果最好这样做,我宁愿避免使用它.
提前致谢.
我刚刚第一次使用 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
我希望能够根据一天中的时间更改我的应用程序的背景颜色.我相信这样做的方法是说小时组件是否大于任何数字,将背景设置为夜间背景,否则它是白天背景.
为了测试我担心的事情,我扔了
timeLabel.text = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .NoStyle, timeStyle: .FullStyle)
Run Code Online (Sandbox Code Playgroud)
进入viewDidLoad
.这显示了应用加载的时间.如果我杀了应用程序并完全重新加载,这显然也会不断更新.
但是,如果用户进入主屏幕或转到其他应用程序,则返回到此时间不会更新.它将显示应用程序首次加载的时间.只有当用户完全杀死应用程序(显然无法依赖)时,才会显示正确的时间.
因此,在我的示例中,如果我的"切换到夜间时间"是下午5点,如果用户在4:30加载,然后进入主屏幕,则在下午5点加载应用程序,没有任何内容会因为存储的时间而改变还是4点30分.
我尝试抛出代码viewDidAppear
而没有任何改变.
当应用程序从主屏幕加载或从其他应用程序返回时,会运行什么代码?
客户要求我向他们发送 IPA 文件。
“您可以通过电子邮件发送文件,并将其安装为开发人员设备”
我测试了为项目创建 IPA 文件并将其存档,允许 XCode 自动管理签名。正如预期的那样,这仅将我的一台设备的 UDID 存储在 IPA 中。
我已经进入了苹果开发者门户并为此应用创建了一个 Ad-Hoc 配置文件。我没有看到如何将设备添加到配置文件中。当我去编辑配置文件时,设备只显示选择 iPhone、Mac 或两者的选项。
我正在使用 Testflight,但客户也需要 IPA。
如何使用提供的设备 UDID 正确创建项目的 IPA 文件?