Spritekit将全部游戏扩展到iPad

所以我正在使用Spritekit在iPhone上开发一个Xcode的游戏。 而且通过使用node.setScale()方法,它在所有的iPhone设备上看起来都是一样的。 现在我想把它制作成Universal,并且可以在iPad上运行。 我如何轻松做到这一点? 有规模的公式吗? 我已经试过的是这样的: if UIDevice.current.userInterfaceIdiom == .pad { sscale = frame.size.height / 768 }else{ sscale = frame.size.height / 320 } 然后为每个节点创buildnode.setScale(sscale)。 这最终不起作用,因为在iPad Mini上它看起来不同于iPad Air …即节点大小和位置… 任何帮助?

IOS中的单点login身份validation需要LinkedIn应用程序

我们已经迁移到最新的LinkedIn IOS SDK,它只支持单点login(SSO)身份validation,并与官方LinkedIn移动应用程序结合使用。 我们的应用程序运行得非常好,但是苹果不会批准我们的最新版本,因为它需要安装LinkedIn应用程序才能使validation正常工作。 我们需要一个解决scheme,在LinkedIn应用程序不存在的情况下处理场景,以使用Web身份validation。但LinkedIn非常具体,声明支持移动SDK的应用程序需要将官方LinkedIn iOS应用程序安装在设备上才能正常工作“ https: //developer.linkedin.com/docs/ios-sdk – Mobile SDK于7月份发布,因此假设我们并不是唯一因苹果authentication而拒绝我们的应用程序。

使用sortedArrayUsingFunction对NSArray进行sorting

任何使用sortedArrayUsingFunctionsortingNSArray的好例子? TY!

GCM推送通知到iOS与content_available(不工作从非激活状态调用)

我正在开发基于Java REST的Web服务,在这个服务中,我试图通过Google Cloud Messaging将消息从Java API发送到iOS设备。 为了学习的目的,我已经使用iOS的谷歌示例代码,我可以发送消息,当应用程序在前台,但它不工作时,应用程序在后台。 我已经尝试了几个变体的“content_available”标志,负责从后台调用应用程序。 当应用程序在前台时,它工作的很好。 我正在尝试显示应用程序在后台的通知。 HttpClient client = new DefaultHttpClient(); HttpPost post = null; try { post = new HttpPost("https://android.googleapis.com/gcm/send"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } String regisID="My_iOS_Registration_Id-GVnH1gEsJ"; List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); List<NameValuePair> notificationData = new ArrayList<NameValuePair>(1); notificationData.add(new BasicNameValuePair("title", "title")); JSONObject obj=new JSONObject(); obj.put("title", […]

在iOS上使用null调用forge.facebook.uicallback

我在使用Trigger.io Forge时遇到了问题,并从本地FB好友select器UI获取callback。 问题只在iOS上显示,在Android上正常工作。 在iPhone设备或模拟器上的催化剂上运行此代码会导致FB对话正确显示。 >forge.facebook.ui({ method: 'apprequests', message: 'Hey' }, function(a){console.log('success: '+JSON.stringify(a))}, function(error) {console.log('error:'+JSON.stringify(error))}); >undefined >success: null 当select一些用户并发送请求时,对话closures,但回叫从不被调用。 Forgedebugging日志中显示以下内容: [DEBUG] Native call: { [DEBUG] callid = "35938A56-CEEC-44E1-8742-889D273F6E9E"; [DEBUG] method = "facebook.ui"; [DEBUG] params = { [DEBUG] "exclude_ids" = ""; [DEBUG] message = "invited you to play Halo 4"; [DEBUG] method = apprequests; [DEBUG] }; [DEBUG] […]

React Native:在ListView中引用

看起来很难被直接访问。 现在我有一个单元格的列表视图。 在renderRow函数中,我有这样的东西: renderRowView: function(rowData){ return <View > <TextInput ref="text" /> </View> }, 在这种情况下,如果我想使用ref访问这个TextInput,它将是undefined 。 我在Github上看到一个线程( https://github.com/facebook/react-native/issues/897 )提到了解决这个问题的方法,但我仍然不明白如何使用它: render: function() { return ( <ListView dataSource={this.state.dataSource} renderRow={(rowData, sec, i) => <Text ref={(row) => this.rows[sec][i] = row}>{rowData}</Text> } /> ); }, 请帮助我理解这个ref函数是如何工作的,以及如何使用它(即以编程方式专注于行中的TextInput )。 谢谢!

Mac上的Pywin32(com对象)

我有一个快速的问题,我希望有人能帮助我。 我正在创build/规划一个需要运行跨平台的应用程序,并使用Windows的com库。 在过去,我使用win32py在python应用程序中运行这些com对象,我一直在研究在Mac上寻找解决scheme,但是我没有运气。 理想情况下,我想留在Python中,因为我已经有Python 2.7的工作代码与这个库一起工作。 如果有其他语言的解决scheme,我想听一听。 我意识到,这听起来几乎倒退,但要长话短说,我必须使这个COM库在Mac上工作。 我将用iOS SDK模拟器做一些iOS的自动testing。

TapkuLibrary.h没有在档案中find

一切都很好build设在Xcode和testing应用程序,直到我内置的归档。 我有能力在Xcode中运行我的程序,它确实工作。 我的问题是,当我试图归档项目的错误出来。 这是错误的: Lexical or Preprocessor Error issue 'TapkuLibrary/TapkuLibrary.h' file not found 请帮忙!

在iOS上从audio播放器或VOIP应用程序的背景中显示一些用户界面

我知道audio播放器和Voip应用程序可以在iOS上以后台运行。 有没有办法从后台显示用户界面(LocalNotifications除外)? 我的意思是全屏UI。 使用私有API或其他技巧的方法是可以接受的。 应用程序将使用企业证书签名,不会被AppStore部署/审查。 只能在越狱的iOS设备上工作的方法是不可接受的。

快速检测两个UIView的碰撞

我有两个UIViews在我的ViewController。 我将panGesture添加到第一个视图,当我开始移动这个视图时,第二个视图将会移向第一个视图。 当这两个视图发生冲突时,我想检测一个事件。 这是我的代码。 @IBAction func dragFirstView(sender: UIPanGestureRecognizer) { let translation = sender.translationInView(self.view) dispatch_async(dispatch_get_main_queue()) { () -> Void in UIView.animateWithDuration(2.5, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations: { self.secondView.frame = CGRectMake(sender.view!.center.x + translation.x, sender.view!.center.y + translation.y, self.secondView.frame.size.width, self.secondView.frame.size.height) }, completion: nil) } sender.view!.center = CGPoint(x: sender.view!.center.x + translation.x, y: sender.view!.center.y + translation.y) sender.setTranslation(CGPointZero, inView: self.view) }