如何确定NSDate(包括时间)是否已通过?我需要基本上将今天的日期与数据库中的日期进行比较,但是我很难过.
我正在开发一个iPhone应用程序,并且非常想确定设备是否正在漫游,以便我可以智能地避免在用户家庭网络之外花费昂贵的连接.
我写的应用程序是用于越狱手机,但如果可能的话,我更愿意使用标准的SDK.
这是我已经找到的:
1. Apple SDK: 在Apple文档中,我在Apple的SCNetworkReachability API中找到了承诺.通过API,您可以访问WIFI或手机网络,当前是否建立了网络连接等.但是,搜索SCNetworkReachability API参考pdf以获取"漫游"或"漫游"两者均为nil.他们的示例代码也是如此.
2.越狱iPhone FS的Grep: 首选项 - >常规 - >网络选项卡是用户可以打开或关闭漫游的地方.查看plist文件("/Applications/Preferences/Network.plist"),我能够找到以下引用:
PostNotification = "com.apple.commcenter.InternationalRoamingEDGE.changed";
cell = PSSwitchCell;
default = 1;
defaults = "com.apple.commcenter";
key = InternationalRoamingEDGE;
label = "EDGE_ROAMING_TOGGLE";
requiredCapabilities = (
telephony
);
Run Code Online (Sandbox Code Playgroud)
这当然是一个领先者,因为看起来我可以注册用户更改了InternationalRoaming设置的通知.尽管如此,我不确定如何将其变成他们实际上正在漫游的知识.
3.检查SpringBoard的类转储源: 我使用class-dump转储了SpringBoard的类.我无法找到任何"漫游"或"漫游"的引用
4.显然我开始在SO检查这个: 找不到任何相关的东西.
进一步的步骤:有人在这里有任何建议吗?我知道这是可能的.但苹果显然很难找到它.我非常怀疑,如果不使用私有框架,这是可能的.(例如CoreTelephony).由于这是一个越狱的应用程序,我可能会使用SpringBoard中的注入代码来屏幕抓取运营商名称,但我真的更愿意不去那条路线.任何建议都非常感谢.谢谢.
刚刚进行代码审查并开始怀疑:
我想if (self = [super init])检查分配[super init]变量的返回值是否self成功(操作值).因此(self = nil)实际上是TRUE.
我认为if ((self = [super init]))检查self赋值后的值是什么(变量的值).这样((self = nil))就可以了FALSE.
在初始化自己的类时,哪一个是正确的使用方法?Apple文档使用前者(例如这里),我现在正在使用它的样式.
快速而有希望的明显问题.我正在设置要提交的应用,而我正在iTunes Connect中工作.它要求我提供iPhone和iPad屏幕截图.如果您的构建仅适用于iPhone(例如我已将设备设置为iPhone的目标),是否可以省略iPad屏幕截图?在iPad上以2x移动方式运行我的应用程序的屏幕截图似乎是多余的.
提前感谢您的想法.
有没有办法以编程方式获取有关iPhone载体的信息?
为什么要NSClassFromString回来nil?根据定义,它必须返回类名.我该如何处理纠正这个问题?我需要从string实例化一个类,并使用创建的实例调用类中的方法.
这是我的代码的样子:
id myclass = [[NSClassFromString(@"Class_from_String") alloc] init];
[myclass method_from_class];
Run Code Online (Sandbox Code Playgroud)
但是这个method_from_class功能没有被调用,控制也没有进入.我的代码没有错误.知道如何在Objective-C中解决这个问题吗?
我使用以下代码获取有关我的iPhone的网络信息 -
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *osVersion = [[UIDevice currentDevice] systemVersion];
Run Code Online (Sandbox Code Playgroud)
但我得到错误 -
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
objc-class-ref in MyClass.o
ld: symbol(s) not found for architecture armv7
Run Code Online (Sandbox Code Playgroud)
该类不是iOS SDK的一部分吗?我究竟做错了什么?
我想改变我的UIImageView高度/宽度以匹配我从相册中选择的图像,我在这里找到了一个代码片段.
-(CGRect)frameForImage:(UIImage *)imgs inImageViewAspectFit:(UIImageView *)imagev
{
float imageRatio = imgs.size.width / imgs.size.height;
float viewRatio = imagev.frame.size.width / imagev.frame.size.height;
if(imageRatio < viewRatio)
{
float scale = imagev.frame.size.height / imgs.size.height;
float width = scale * imgs.size.width;
float topLeftX = (imagev.frame.size.width - width) * 0.5;
NSLog(@"image after aspect fit: width=%f",width);
imagev.frame = CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
return CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
}
else
{
float scale = imagev.frame.size.width / imgs.size.width;
float height = scale * imgs.size.height;
float topLeftY = (imagev.frame.size.height - height) * …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个iPad应用程序,用户将在文本字段中输入照片文件名(作为现场笔记的一部分),之后他们会将照片导入iPad的照片库.应用程序将使用ALAssetsLibrary访问库并枚举照片,查找具有在字段注释中输入的文件名的照片.这将是拍摄它的相机给照片的文件名.例如"DSC_0019.JPG".
这不可能吗?
我注意到,如果我将相机中的照片导入iPad,然后在我的Mac上打开iPhoto并将iPad作为相机查看,我可以"获取有关iPad上保存的图像的信息"并查看原始文件名我正在寻找对于.但是,这不包含在iPad上的元数据中.
任何帮助将不胜感激.
这是我的代码:
(在使用CFDictionary时,几乎所有东西都是null,除了没有我正在寻找的Exif键)
- (void)viewDidLoad
{
[super viewDidLoad];
//start activity animation
[self.activity setHidden:NO];
[self.activity startAnimating];
//init our arrays
autoAssignedAssets = [[NSMutableArray alloc] init];
unAssignedRecords = [[NSMutableArray alloc] init];
unAssignedAssets = [[NSMutableArray alloc] init];
//setup the library
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
//[ BLOCK ] => assetEnumerator
//
void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
if (result != nil) {
if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto] ) {
//=================================================================
ALAssetRepresentation* representation = …Run Code Online (Sandbox Code Playgroud) 我的应用程序中至少有两个控制器当前使用自己的CLLocationManager实例.我很好奇但是如果使用多个实例实际上会给手机增加额外的负担 - 超出了不同实例的额外内存.
iPhone会多次ping GPS硬件,还是使用某种调度方式,以便硬件被抽象出来并转发给所有听众?我正要编写自己的抽象层来处理多个观察者,但想检查是否有任何知识表明它没有必要.
ios ×5
iphone ×5
objective-c ×4
class ×2
autolayout ×1
carrier ×1
cocoa-touch ×1
instance ×1
ios6 ×1
ipad ×1
itunes ×1
jailbreak ×1
nsdate ×1
uiimageview ×1