浏览我的iOS6应用程序并尝试修复iOS7的所有内容.在我的应用程序中,我收到错误:
-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
Run Code Online (Sandbox Code Playgroud)
以下是此代码中的堆栈跟踪:
NSString *shareString = [NSString stringWithFormat:@"I ... %@", self.booking.venue.name];
NSArray *activityItems = [NSArray arrayWithObjects:shareString, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
0 CoreFoundation 0x03bc45e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x032d38b6 objc_exception_throw + 44
2 CoreFoundation 0x03b8a536 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 390 …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置我的RSpec测试以使用存根而不是使用网络来进行地理编码.
我补充说:
before(:each) do
Geocoder.configure(:lookup => :test)
Geocoder::Lookup::Test.add_stub(
"Los Angeles, CA", [{
:latitude => 34.052363,
:longitude => -118.256551,
:address => 'Los Angeles, CA, USA',
:state => 'California',
:state_code => 'CA',
:country => 'United States',
:country_code => 'US'
}],
)
Run Code Online (Sandbox Code Playgroud)
结束
我正在使用FactoryGirl来创建测试数据,如下所示:
FactoryGirl.define do
factory :market do
city 'Los Angeles'
state 'CA'
radius 20.0
end
end
Run Code Online (Sandbox Code Playgroud)
正确地对纬度/经度进行地理编码并以纬度/经度存储.但是,当我尝试:
Market.near(params[:search])
Run Code Online (Sandbox Code Playgroud)
它返回nil ..但是,如果我只是使用lookup =>:google它就像我打算一样.有没有人以前有这个工作,特别是地理编码器的近距离方法?