小编bil*_*aya的帖子

我应该使用什么OSX/XCode版本控制系统进行iPhone开发?

我一直在开发我的第一个iPhone应用程序兼职,并希望开始使用比我过去四个月使用的更严格的版本控制形式,即将源代码文件夹复制到另一个目录并为它们加盖时间戳.

我使用过SourceSafe和Team Foundation System,但我不太清楚Macintosh可用的版本控制系统(VCS).我在SO上看过Subversion广告的广告,但是想要一些其他的选择.

这是我的初始要求列表:

  • 在OS X Leopard 10.5.7下本地运行
  • 与XCode 3.1.3集成(如果没有集成,用户友好的界面)
  • 基本VCS功能 - 签入注释,分支,固定
  • 高级VCS功能(如构建自动化或报告)很不错,但目前并不重要
  • 能够处理多个开发人员(6-12个月)

在此先感谢您的帮助.

iphone macos version-control xcode

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

如何在MFMailViewController消息体中更改样板"从我的iPhone发送"文本?

我正在使用MFMailComposeViewController从iPhone v3.0应用程序中发送电子邮件.我以编程方式创建消息正文文本并在显示选择器之前显示它.

在我的邮件底部正文文本是字符串"从我的iPhone发送".是否有修改此文本或阻止它出现?粗略审查MFMailComposeViewController类参考和快速谷歌搜索没有任何结果.

提前致谢.

email iphone message boilerplate mfmailcomposeviewcontroller

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

迭代强类型泛型List <T>的最佳方法是什么?

在C#.NET和VB.NET中迭代强类型泛型List的最佳方法是什么?

.net c# vb.net generics collections

15
推荐指数
3
解决办法
4万
查看次数

确保.NET代码可以很好地扩展的最佳实践有哪些?

上周,我在NE的一家TripleA MMORPG游戏公司采访了一个职位.我没有得到这份工作,但在访谈期间提出的一个方面是关于您编写​​的代码的可伸缩性以及在架构和类的设计中应该如何考虑它.

遗憾的是,我从未想过我编写的.NET代码的可扩展性(我使用单用户桌面和移动应用程序,我们主要关心的是设备内存和数据传输速率).我有兴趣学习更多关于编写可以扩展的代码,以便它可以处理客户端服务器环境中的各种远程用户,特别是MMORPG.

是否有任何书籍,网站,最佳实践等可以让我开始研究这个主题?

.net c# scalability

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

尝试在设备上运行calabash-android测试时,"App没有启动(RuntimeError)"

我试图在连接到Windows 7笔记本电脑的三星Galaxy S3上运行一小组初步的calabash-android测试,并在尝试启动测试服务器时不断获得"应用程序未启动(RuntimeError)".

我已经安装了Ruby v1.9.3p448,RubyDevKit 4.5.2(32位),Ant 1.9.2和AnsiCon.我已经在命令提示符下键入"gem install calabash-android"安装了calabash-android 0.4.20及其所有依赖宝石.我使用Xamarin Studio和发布密钥库创建了一个签名的APK.使用--dry-run标志运行时,我正确解析了我的六个步骤的初始功能集.

当我输入"calabash-android run com.XYZ.ABC.apk --verbose时,会发生以下情况:

  1. app/calabash不存在测试服务器,因此创建了一个新的测试服务器并使用与APK相同的密钥库进行签名
  2. 功能文件已成功解析.
  3. 测试服务器com.XYZ.ABC.test已成功卸载.
  4. 应用程序com.XYZ.ABC.apk已成功卸载.
  5. 步骤#1中创建的测试服务器已成功安装.
  6. 应用程序com.XYZ.ABC.apk已成功安装.
  7. 测试服务器已启动.

此时我们得到"App没有启动(RuntimeError)"消息.这是命令行中的相应详细信息.

2014-03-11 08:10:05 - Starting test server using:
2014-03-11 08:10:05 - "C:\Users\BMaya\AppData\Local\Android\android-sdk/platform-tools/adb.exe" -s 4df18df165d46f4d shell am instrument -e target_package com.trimble.terraflex -e main_activity trimble.tfm.fieldapp.SplashActivity -e test_server_port 7102 -e debug false -e class sh.calaba.instrumentationbackend.InstrumentationBackend com.trimble.terraflex.test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner
App did not start (RuntimeError)
C:/Ruby193/lib/ruby/gems/1.9.1/gems/calabash-android-0.4.20/lib/calabash-android/operations.rb:505:in `block in start_test_server_in_background'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/retriable-1.3.3.1/lib/retriable/retriable.rb:31:in `perform'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/retriable-1.3.3.1/lib/retriable/retriable.rb:53:in `retriable'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/calabash-android-0.4.20/lib/calabash-android/operations.rb:504:in `start_test_server_in_background'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/calabash-android-0.4.20/lib/calabash-android/operations.rb:93:in `start_test_server_in_background'
Run Code Online (Sandbox Code Playgroud)

我也尝试从Ruby命令提示符运行测试,结果相同:

  1. 在DOS命令提示符下键入"calabash-android console com.XYZ.ABC.apk"
  2. 在Ruby命令提示符下键入"reinstall_apps".
  3. 在Ruby命令提示符下键入"start_test_server_in_background".

我用Google搜索并尝试了以下方法:

  1. 确保在应用清单中选择了互联网(它是) …

ruby android xamarin.android calabash

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

如何在不重用相同NSArray的情况下创建NSArrays的Objective-C NSDictionary?

长期以来,Windows开发人员,第一次使用Objective-C/iPhone开发人员想要创建NSArrays的NSDictionary,它可以在带有字母部分的普通UITableView中显示.

这个数组字典的源代码是一个包含按字母顺序排序的商店名称的数组:

苹果商店
亚特兰大面包公司
国界
熊熊工作室
嘉吉画廊
迪拉兹
迪克体育用品
埃迪Baure
手提箱
GameStop的
Heizberg钻石
视点
麦当劳
诺德斯特龙
玮伦鞋业
Pottery Barn的
冬至
星巴克咖啡
维多利亚的秘密
白色谷仓烛业

从源创建的数组字典应该类似于这样(括号中的数据类型):

Root(Dictionary)
.... A(Array)
........ Apple Store(String)
........ Atlanta Bread Company(String)
.... B(Array)
... ..... Borders(String)
........ Build-A-Bear Workshop(String)
.... C(Array)
........ Cargill Gallery(String)
... .D(阵列)
........ Dillards(String)
........ Dick的体育用品(String)
......等.

像上面结构的数组字典填充TableView并显示如下:

一个
苹果商店
亚特兰大面包公司

国界
熊熊工作室
Ç
嘉吉画廊
d
迪拉兹
迪克体育用品
等.

我编写的创建数组字典的代码最终将每个节标题后面的最后一个商店(White Barn Candle Co.)放入.

A
White Barn Candle Co.
B
White Barn Candle …

iphone objective-c nsmutablearray nsmutabledictionary

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

为什么每次出现视图时都不会调用UIPickerView widthForComponent委托方法?

我在iPhone屏幕上有两个控件 - 一个TableView和一个UIPickerView.当您在TableView中选择单个单元格时,您将进入另一个显示服装类型列表的屏幕.从列表中选择单个服装项将带您返回第一个屏幕.根据您的选择,更改UIPickerView中的组件数(1-4),并使用相关数据填充每个组件.

假设您在服装类型列表中有三个项目,并且每个项目在选择时应在UIPickerView中具有一定数量的组件:

皮带 - 3个组件,宽度为100,55,100胸罩 - 3个组件,宽度为55,55,55其他 - 4个组件,宽度为100,100,55,50

场景#1 - 一切都应该如此

1.1 - 您选择"Belt"服装项目,UIPickerView使用3个组件绘制,每个组件中都有相应的Belt数据.组件宽度为100,55,100.

1.2 - 您选择"其他"服装项目,UIPickerView使用4个组件绘制,每个组件中包含相应的其他数据.组件宽度为100,100,55,50.

1.3 - 您选择"Brassiere"服装项目,UIPickerView使用3个组件绘制,每个组件中都有相应的Brassiere数据.组件宽度为55,55,55.

场景#2 - 不重新绘制组件宽度

1.1 - 您选择"Belt"服装项目,UIPickerView使用3个组件绘制,每个组件中都有相应的Belt数据.组件宽度为100,55,100.

1.2 - 您选择"Brassiere"服装项目,UIPickerView使用3个组件绘制,每个组件中都有相应的Brassiere数据.但是,组件宽度仍然是100,55,100,而不是55,55,55.

1.3 - 选择"其他"服装项目,UIPickerView使用4个组件绘制,每个组件中包含相应的其他数据.组件宽度为100,100,55,50.

1.2 - 您选择"Brassiere"服装项目,UIPickerView使用3个组件绘制,每个组件中都有相应的Brassiere数据.组件宽度现在正确 - 55,55,55.

从单步执行代码看起来,只有当UIPickerView中的组件数发生变化时,才会调用UIPickerView的widthForComponent委托方法.

有没有办法强制这种委托方法每次都开火?

更新 - 10.26.09

我使用以下代码在viewWillAppear委托中调用[UIPickerView reloadAllComponents:

-(void)viewWillAppear:(BOOL)animated {

 ...

 self.PopulatePickerArrays; // Populate components based on selection
 [sizePicker reloadAllComponents];

 ...

}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

iphone delegates uipickerview

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

.NET中的订单如何委托连接?

这是情况.我正在审查一些我没有编写的SDK代码,因为我的任务是起草开发人员的文档.在一个类中,在构造函数中,事件处理设置如下:

_engine.ReceiverEvents_OnPosition += OnPosition;
_engine.ConnectionEvents_OnDeviceStatus += OnDeviceStatus;
_engine.ConnectionEvents_OnErrorStatus += OnErrorStatus;
_engine.ReceiverEvents_OnConstellation += OnConstellation;
Run Code Online (Sandbox Code Playgroud)

订购首先是事件提升; 方法 - 呼叫第二.

在另一个类中,在方法(而不是构造函数)中,事件处理设置如下:

_captureManager.PositionLogged += CaptureManager_PositionLogged;
_captureManager.GeometryCaptureStarted += CaptureManager_GeometryCaptureStarted;
Run Code Online (Sandbox Code Playgroud)

排序方法是首先调用Method-To-Call,然后是Event-Raised second.

我的问题是 - 在设置事件处理任意(顺序无关紧要)时是事件引发和方法调用的顺序还是重要(不同的顺序会给你不同的结果)?

提前致谢.

c# event-handling

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

为什么CLLocation坐标在显示时会失去精度?

我正在进行一些实验,试图通过对随时间收集的数据进行加权平均来提高iPhone上的GPS准确度.我注意到控制台,iPhone模拟器和iPhone本身的坐标显示有所不同.

我正在运行基本的CoreLocation代码来设置我的位置管理器.

self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

[locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

在我的locationManager中:didUpdateToLocation:fromLocation:方法我使用NSLog以几种格式将坐标写入控制台,然后在我的IBOutlets中显示它们.

NSLog(@"%@", newLocation);
NSLog(@"%f", newLocation.coordinate.latitude);
NSLog(@"%e", newLocation.coordinate.latitude);
NSLog(@"%E", newLocation.coordinate.latitude);

self.latitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.latitude];
self.longitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.longitude];
self.altitude.text = [NSString stringWithFormat:@"%f", newLocation.altitude];
self.horizontalAccuracy.text = [NSString stringWithFormat:@"%f", newLocation.horizontalAccuracy];
self.verticalAccuracy.text = [NSString stringWithFormat:@"%f", newLocation.verticalAccuracy];
Run Code Online (Sandbox Code Playgroud)

写入控制台的值如下所示.

NSLog(@"%@", ...);  | <+42.40334972, -71.27483790> +/- 240.00m (speed -1.00 mps / course -1.00) @ 2010-10-19 12:15:00 GMT
NSLog(@"%f", ...); | 42.403350
NSLog(@"%e", ...); | 4.240335e+01
NSLog(@"%E", ...); | 4.240335E+01
Run Code Online (Sandbox Code Playgroud)

屏幕上显示的纬度和经度如下.

Latitude | …
Run Code Online (Sandbox Code Playgroud)

iphone precision gps ios-simulator

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