文档没有说明可能的返回值。我在源代码中寻找实现,但我无法找到它。
我编写了一个简单的应用程序,并在iPhone模拟器中运行它,但没有显示任何值。该应用程序是通过运行rhogen app phone_id
创建的。然后,在调用super
之前向app/application.rb
文件添加以下行:
@phoneId = System.get_property('phone_id')
然后我将这行添加到app/index.erb
:
<p>Phone id = <span><%= @phoneId %></span></p>
我知道模拟器将返回一个唯一标识符,因为我编写了一个实际的iOS应用程序,它只是将唯一标识符写入一个标签,其中包含以下代码:
[idLabel setText:[[UIDevice currentDevice] uniqueIdentifier]];
因为我不懂Ruby,尤其是不懂Rhodes,我不确定我写的Rhodes测试应用程序是否正常工作。所以,我不知道对System.get_property
的调用是否正常工作,或者它是否真的应该返回一个标识符。
因此我的问题,System.get_property('phone_id')
总是返回值吗?如果是,该值是否保证唯一?或者在某些情况下,该方法将返回nil
?
根据Rhomobile Google组上的消息cb41fb9718773a21和0d4ff1aaaaa9e560,此方法不保证返回nil
以外的任何值。因此,您不能依赖System.get_property('phone_id')
为您的应用程序返回唯一标识符。