最近、Appstore でアプリを公開しました。ただし、アプリケーションにとって非常に重要な NSURL を呼び出してマップにピンを追加する機能は、Appstore バージョンでは機能しません。アプリケーションを実際のデバイスでテストしましたが、動作しています。ただし、アドホック配布用に iPA を作成すると、この機能が動作しません。
マップにピンを追加するための別のスレッドを作成しましたが、機能していません。マップ上のアドイン ピンのコード部分は次のとおりです。
- (void)viewDidLoad
{
[super viewDidLoad];
UILongPressGestureRecognizer *lpgr=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration=0.7;
[self.mapView addGestureRecognizer:lpgr];
}
-(void)handleLongPress:(UILongPressGestureRecognizer*)gestureRecognizer
{
if(gestureRecognizer.state!=UIGestureRecognizerStateBegan)
return;
CGPoint touchPoint=[gestureRecognizer locationInView:self.mapView];
CLLocationCoordinate2D touchMapCoordinate=[self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];
lati=touchMapCoordinate.latitude;
longi=touchMapCoordinate.longitude;
NSString *newPinPoint2=[NSString stringWithFormat:@"%f,%f", touchMapCoordinate.latitude, touchMapCoordinate.longitude];
[NSThread detachNewThreadSelector:@selector(annotationHTTPRequest:) toTarget:self withObject:newPinPoint2];// added separate thread
//[self annotationHTTPRequest:newPinPoint2];// commented our
}
-(void)annotationHTTPRequest:(NSString*)theNewPoint
{
NSURL *url1=[NSURL URLWithString:url4];
NSString *newP=theNewPoint;
// 4
__weak ASIHTTPRequest *request1 = [ASIHTTPRequest requestWithURL:url1];
[request1 setCompletionBlock:^{
responseString = [request1 responseString];
[self annotationJSON:responseString second:newP ];
}];
[request1 setFailedBlock:^{
NSError *error=[request1 error];
NSLog(@"Error: %@", error.localizedDescription);
}];
[request1 startAsynchronous];
}