小编rya*_*day的帖子

StoreKit返回所有产品ID

这个问题与我在这里找到的其他问题略有不同.My In App StoreKit正在运行,我可以成功地在我的商店中列出产品.我已经浏览了Apple文档,从未看到我的问题(我可能已经错过了).

我的客户(非营利组织)希望能够通过他们的应用程序接受捐款.我想让他们能够动态添加新的捐赠活动,而无需用户更新他们的应用程序.我的意思是,他们可能有一个特殊的"帮助我们赞助即将到来的植树节活动",并接受特定于该案例的捐款.

我目前正在阅读这样的产品:

SKProductsRequest *request= 
         [[SKProductsRequest alloc] initWithProductIdentifiers: 
          [NSSet setWithObjects: @"goldSponsor", @"silverSponsor"];
Run Code Online (Sandbox Code Playgroud)

这意味着如果Arbor Day活动出现,我将不得不发布更新以在我的请求列表中包含@"arborSponsor".如何申请捆绑下的每件产品?

我尝试过使用@"com.thedomain.*"和其他一些没有运气的猜测.有可能返回整个列表,我错过了一些非常简单的东西吗?谢谢!

iphone storekit

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

process.env在Heroku上不包含配置变量

我在Heroku上有一些应用程序.所有这些都使用GruntJS来构建资产并部署到S3.一个应用程序已经工作了很长一段时间.

其他应用程序有一个问题,我无法从Gruntfile读取我的配置变量.当我使用Heroku的工具带查看我的设置时,我看到:

$ heroku config --app mydevapp --account personal
=== mydevapp Config Vars
AWS_ACCESS_KEY:         #########     
AWS_BUCKET:             #########
AWS_SECRET_KEY:         #########
BUILDPACK_URL:          https://github.com/ddollar/heroku-buildpack-multi.git
DATABASE_URL:           #########
PAPERTRAIL_API_TOKEN:   #########
TEST:                   test
Run Code Online (Sandbox Code Playgroud)

哪个好.但是Grunt没有这些变量可供我使用.当我从Gruntfile中调用console.log(process.env)时,我看到:

{ GEM_HOME: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/.gem/ruby/1.9.1',
  SHELL: '/bin/bash',
  SSH_CLIENT: '10.207.46.127 55868 50678',
  GROUP: 'production',
  DEPLOY: 'production',
  STACK: 'cedar',
  SHLVL: '3',
  HOME: '/app',
  CPPPATH: '/tmp/node-node-hP8q/include',
  _: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/node_modules/grunt-cli/bin/grunt' 
}
Run Code Online (Sandbox Code Playgroud)

那里还有一些其他的变种,但我不确定什么是安全的.我没有看到列出的任何配置变量.

我不知道我的工作应用程序与process.env变量中没有配置变量的两个应用程序之间有什么区别.

我已经读到以这种方式使用Grunt并不是最好的主意,但它是我们设置的.当然,如果需要可能会改变.

有任何想法吗?有什么我需要澄清的吗?

heroku node.js gruntjs

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

如何确定坐标是否在当前可见的地图区域中?

我有几百个位置的列表,只想为当前屏幕上的那些位置显示MKPinAnnotation.屏幕以用户当前位置开始,半径为2英里.当然,用户可以在屏幕上滚动和缩放.现在,我等待地图更新事件,然后遍历我的位置列表,并检查这样的坐标:

-(void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
  CGPoint point;
  CLLocationCoordinate2D coordinate;

  . . .
  /* in location loop */
  coordinate.latitude = [nextLocation getLatitude];
  coordinate.longitude = [nextLocation getLongitude];

  /* Determine if point is in view. Is there a better way then this? */
  point = [mapView convertCoordinate:coordinate toPointToView:nil];
  if( (point.x > 0) && (point.y>0) ) {
    /* Add coordinate to array that is later added to mapView */
  }
Run Code Online (Sandbox Code Playgroud)

所以我问convertCoordinate哪个点在屏幕上(除非我误解了这个方法很可能).如果坐标不在屏幕上,那么我从不将它添加到mapView.

所以我的问题是,这是确定位置的纬度/经度是否会出现在当前视图中并且应该添加到mapView的正确方法吗?或者我应该以不同的方式做这件事吗?

iphone cocoa-touch objective-c mapkit iphone-sdk-3.0

2
推荐指数
2
解决办法
6265
查看次数

串行端口不发送NULL值

我正在使用XBEE收音机,我正在使用Linux(Ubuntu 9.10),并且在使用MY代码时,XBEE似乎没有通过串口发送NULL值.当我使用XCTU程序(XBEE附带的股票模拟器在一个单独的窗口框中)时,当新的XBEE加入网络时,我通过串口看到此输出:

7E 00 20 95 00 13 A2 00 40 3B
Run Code Online (Sandbox Code Playgroud)

等...完美.但是,使用我的代码,当一个新的XBEE加入网络时,我看到:

7E 20 95 13 A2 40 3B
Run Code Online (Sandbox Code Playgroud)

这是我打开串口的方法

struct termios options;
int port;

port = open("/dev/ttyUSB0", O_RDWR | O_NONBLOCK);
tcgetattr(port, &options);
bzero(&options, sizeof(options));

options.c_cflag = B9600 | ~CRTSCTS | CS8 | CLOCAL | CREAD;

tcsetattr(port, TCSANOW, &options);
Run Code Online (Sandbox Code Playgroud)

我有关于代码的作用的理论,但我的理论显然是错误的.我正在尝试用9600,8N1,No Flow控件打开端口.你可以看到我也在使用串行 - > USB驱动程序,但由于我似乎得到数据,我很确定该部分正在运行.

我的猜测是当我使用bzero选项时,我将0x00作为控制字符?我不确定.当我不做bzero选项时,我一次只能读取5个字节而丢失数据.感觉我有流控制或波特率问题,所以我bzero()现在我没有得到NULL.

我还在我的Linux系统上使用了Minicom并捕获了输出.我得到相同的信息,没有NULL(这对于那些不熟悉协议的人来说真的会混淆数据包大小).我的代码可以将串口设置为minicom不会改变的状态吗?我迷路了.

谢谢您的帮助!

c linux serial-port xbee

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