我试图确定一个地点之间的中点MKMapView.我遵循这里概述的方法(和这里)并在Objective-C中重写它,但地图正在巴芬岛东北部的某个地方居中,这两个地方附近都没有.
我的方法基于上面链接的java方法:
+(CLLocationCoordinate2D)findCenterPoint:(CLLocationCoordinate2D)_lo1 :(CLLocationCoordinate2D)_loc2 {
CLLocationCoordinate2D center;
double lon1 = _lo1.longitude * M_PI / 180;
double lon2 = _loc2.longitude * M_PI / 100;
double lat1 = _lo1.latitude * M_PI / 180;
double lat2 = _loc2.latitude * M_PI / 100;
double dLon = lon2 - lon1;
double x = cos(lat2) * cos(dLon);
double y = cos(lat2) * sin(dLon);
double lat3 = atan2( sin(lat1) + sin(lat2), sqrt((cos(lat1) + x) * (cos(lat1) + x) + y * …Run Code Online (Sandbox Code Playgroud) 像这里的许多其他人一样,我在XCode工作区中使用库时遇到了问题.我的想法是我的主项目(MyApp)和两个库(lib1和lib2)在代码完成后添加到工作区.
对于后台,lib1依赖于lib2,因为有一些协议需要实现才能使用lib2. MyApp取决于两者.我尝试过遵循Apple指南,这意味着我想要的很简单.在那之后,我几乎关注了我在搜索中发布的每篇文章(2天值得谷歌搜索),以及其他许多声称有解决方案的博客和帖子,其中许多都是特定于XCode 3的.
然而,我的项目没有建立.我在OS 10.6上使用Xcode 4.2(升级到Lion不是一个选项).是否有关于如何创建库项目的简单教程,并在应用程序中使用此库.
我在写这个问题的时候遇到了这个问题(我的问题出现了同样的错误),我将对此进行研究,但我已经达到了复制源文件的目的,只是为了让演示工作.
更新:
以下列出了已经出现的问题.当它们出现时我会添加更多:
**directory not found for option '-L/Users/myhomedir/iphoneprojects/MyApp/../BLProfile/build/Release-iphoneos'**在构建旨在与移动设备交互的Web服务时,我不确定在Android上实现HTTP请求的最佳方法是什么.
我遇到过这篇文章,通过声明HttpURLConnection是发出HTTP请求的首选方法,我已经成功使用了HttpsURLConnection.
当搜索答案或阅读其他示例代码(甚至是最近的帖子)时,似乎都使用了DefaultHttpClient,这似乎违背了Google的官方消息.
我试图尽可能地证明我的Android应用程序.考虑到这一点,是HttpURLConnection最好的选择吗?
在开发源代码项目时,我遇到了以下C函数声明和实现:
// FSNData.h
NSString *stringForMimeType(MimeType type);
@interface FSNData : NSObject
// All the expected objective-c property and instance method declarations
@end
// FSNData.m
#import "FSNData.h"
// where 'type' is an enum
// this does work as expected
NSString *stringForMimeType(MimeType type) {
switch (type) {
case MimeType_image_jpeg: return @"image/jpeg";
case MimeType_image_png: return @"image/png";
default:
NSLog(@"ERROR: FSNData: unknown MimeType: %d", type);
// do not return "application/octet-stream"; instead, let the recipient guess
// http://en.wikipedia.org/wiki/Internet_media_type
return nil;
}
}
@implementation
// all properties and …Run Code Online (Sandbox Code Playgroud) 我正在开发一个用于与Web服务交互的Android库,我正在尝试开发一些单元测试以检查其工作情况.
当我运行指定的测试时,我收到以下错误:
[2012-07-19 15:12:09 - MMWebAPI] Could not find MMWebAPI.apk!
[2012-07-19 15:12:10 - MMWebAPITest] Test run failed: Unable to find instrumentation target package: com.webapi.mmwebapi
Run Code Online (Sandbox Code Playgroud)
哪个MMWebAPI是图书馆,而不是一个.apk.
我正在寻找单元测试Android项目的权威指南,具体来说,什么可以和不可以测试(在这种情况下,网络操作是库的核心),一步一步的教程也将是一个很大的帮助.
我在这里有这个问题(以及关于SO的其他问题),以及有关Objective-C集合和快速枚举的Apple文档.不清楚的是,如果NSArray填充了不同类型,并创建了一个循环,如:
for ( NSString *string in myArray )
NSLog( @"%@\n", string );
Run Code Online (Sandbox Code Playgroud)
这到底发生了什么?循环会跳过任何不是的东西NSString吗?例如,如果(为了参数)a UIView在数组中,当循环遇到该项时会发生什么?
我有一个非常具体的案例,我需要调试.我需要检查一个应用程序在被杀死后重新启动时发生了什么(查看正在读取的存储数据等).如果我从设备中删除应用程序,调试器就会停止(这很有意义).
我能想到的最好的方法是杀死应用程序,并从XCode重新启动(不修改任何代码).我正试图调查"现实世界"的行为.这是我的最佳方法,还是有另一种方式来查看XCode发生了什么?
在讨论了Foundation框架中的一些头文件之后(NSString.h例如),我注意到声明NSString看起来像:
@interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
/* NSString primitive (funnel) methods. A minimal subclass of NSString just needs to implement these, although we also recommend getCharacters:range:. See below for the other methods. */
- (NSUInteger)length;
- (unichar)characterAtIndex:(NSUInteger)index;
@end
Run Code Online (Sandbox Code Playgroud)
其余的方法在类别中声明,而这些类别又在同一个头文件中声明.
在阅读了这个答案之后,暗示似乎主要是为了组织代码.
是否有一个好处(除了方法的逻辑分组)在类声明的同一标题中声明类别,特别是在隐藏实现的情况下,如在NSString?的情况下?
我#import对Objective-C中的陈述仍然有点困惑.我有一个头文件(Common.h),其中我持有一些在整个应用程序中使用的常量NSStrings.到目前为止,我已经使用#import "Common.h" 了2个类,我得到了一个构建错误:
duplicate symbol _EX_XML_URL in /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/NewsView.o and /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/ViewController.o for architecture i386
Run Code Online (Sandbox Code Playgroud)
EX_XML_URL声明为:
//
// Common.h
// Group of common constants used through out the application
/*
* Constant strings available to application
*/
#import <Foundation/NSString.h>
NSString* EX_XML_URL = @"http://myurl.com/xmldata"; // URL for XML data
NSString* EX_NO_CONNECTION = @"Network not availble";
NSString* EX_DEFAULT_IMAGE = @"logo.png";
Run Code Online (Sandbox Code Playgroud)
我受到了印象(来自这篇文章),#import防止头文件被包含两次.我在这里错过了什么?
我正在尝试编写逻辑测试来调试将图像数据保存到磁盘的方法.我使用以下行将图像数据写入文档目录:
docspath = [[NSString alloc] initWithString:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, TRUE) objectAtIndex:0]];
fullpath = [[NSString alloc] initWithFormat:@"%@/%@", docspath, _name];
BOOL written = [fileData writeToFile:fullpath options:NSDataWritingAtomic error:&dataerror];
Run Code Online (Sandbox Code Playgroud)
除外,不写入数据,错误描述不返回此类文件或目录.我在iOS 5.1模拟器中的测试目标下运行此代码.我是否需要创建中间目录才能到达文档目录,或者在测试目标下写入磁盘还有其他问题吗?
错误返回:
2012-06-29 16:13:31.819 otest[4597:7b03] /Users/myaccount/xcode_projects/myproject/myproject/myfolder/MMFileManager.m - 285: Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed. (Cocoa error 4.)" UserInfo=0x1e1e3a0 {NSUserStringVariant=Folder, NSFilePath=/Users/myaccount/Library/Application Support/iPhone Simulator/5.1/Documents/mmLogo.png, NSUnderlyingError=0x1e1b430 "The operation couldn’t be completed. No such file or directory"}
Run Code Online (Sandbox Code Playgroud) objective-c ×5
xcode ×3
android ×2
ios ×2
unit-testing ×2
c ×1
class-method ×1
debugging ×1
function ×1
java ×1
junit ×1
mapkit ×1