小编Ray*_*eck的帖子

在ARC中归零弱引用

如果我读到Mike Ash的"归零弱引用"文章是正确的,那么弱引用就像assign没有ARC的引用一样.但是,如果引用的对象被释放,而不是获得"悬空指针"(意味着指向解除分配的对象的指针),则指针将设置为nil.

这是正确的吗,这是否会在标记的任何财产weakassign(当ARC处于活动状态时)发生?

如果这是正确的,这将消除很多SIGABRT.

objective-c clang automatic-ref-counting

44
推荐指数
1
解决办法
1万
查看次数

iOS7中MKMapView的快照

我试图在iOS7应用程序中创建MKMapView的快照,就像之前iOS版本推荐的那样:

- (UIImage*) renderMapViewToImage
{
   UIGraphicsBeginImageContextWithOptions(mapView.frame.size, NO, 0.0);
   [mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext(); 
   return image;
}
Run Code Online (Sandbox Code Playgroud)

但是,返回的图像是一个黑色矩形,顶部有一个蓝色的当前位置点.我也试过使用mapView的不同子层,但结果总是一样的.

有谁知道如何在iOS7中拍摄MKMapView快照?

mapkit mkmapview ios ios7 mkmapsnapshotter

41
推荐指数
3
解决办法
2万
查看次数

NSNotifications是最佳实践

在尝试从显示获取数据的视图控制器中取消模型时,在异步提取完成时,我发布了NSNotification.

 [[NSNotificationCenter defaultCenter] postNotificationName:@"foobarFetchSuccess" object: foo];
Run Code Online (Sandbox Code Playgroud)

我养成了使用的习惯:

 #define FOO_FETCH_SUCCESS  @"foobarFetchSuccess"
Run Code Online (Sandbox Code Playgroud)

在一个公共头文件中,然后将其用于addObserver:和removeObserver:以及postNotificationName:

 [[NSNotificationCenter defaultCenter] addObserver:self @selector(gotData)
                                              name:FOO_FETCH_SUCCESS object: baz];
Run Code Online (Sandbox Code Playgroud)

所以@"foobarFetchSuccess"字符串遍布整个地方.还有更多像他一样的人.那么一次声明一个字符串并在任何地方使用它的最佳方法是什么?

objective-c nsnotification c-preprocessor

26
推荐指数
1
解决办法
9343
查看次数

Apple企业计划分发问题

此问题与Apple iOS开发人员企业计划有关

我正在尝试确定以下4个实体之间的限制和关系:Apple Enterprise Program分发许可证,DUNS编号,分发证书和应用程序.

这是一个场景:客户希望开发用于内部分发的iPad应用程序.每次他想要更新或发布应用程序时,该客户端都不想向其他部门负责人求助,因此他希望控制分发预处理.他有可能获得"自己的"部门级企业许可证,还是可以根据(可能是单一的)企业许可证获得单独的企业分发证书?此外,根据a)企业许可证,或b)分发证书,可以在内部分发的应用程序数量是否有限制.

所以这归结为:

  1. 企业可以拥有多个企业许可证吗?例如,2个部门是否都有自己的企业开发者许可证?
  2. 单个企业许可证是否可以拥有多个分发证书?
  3. 单个企业分发证书是否可以应用于多个应用程序?

编辑:你可以跳过下面的对话; 直接回答

licensing distribution ios

18
推荐指数
1
解决办法
2万
查看次数

为什么Xcode 4版本编辑器有时会说"没有编辑器"

在Project Navigator中,项目文件旁边有一个"M",表示它已被修改.所以我点击版本编辑器.左侧显示项目文件的内容,右侧显示"无编辑器".如果我进入源代码管理,提交所选文件......

但是,其他文件(.m,.h,.plist等)都显示真正的差异,并正确签入更改.

我是否以某种方式错误配置?

xcode xcode4 version-editor

16
推荐指数
1
解决办法
2万
查看次数

iOS企业计划与iOS开发人员计划

我正面临一些与iOS开发人员计划和iOS企业计划相关的问题.我的一位客户要求我建议其中一个.请回答我关于iOS企业计划的问题 -

  1. 如果我购买iOS Enterprise帐户,以便可以进行内部应用程序分发?
  2. 我有多少设备可以安装我的应用程序?
  3. 我需要所有设备的UDID吗?
  4. 如果我想添加一些新设备怎么办?
  5. 如果Ad-hoc分配相同,Ad-hoc证书的到期日是什么时候?

谢谢

enterprise distribution certificate udid ios

15
推荐指数
1
解决办法
1万
查看次数

ipad相机和webview youtube视频播放问题

Rootviewcontroller有一个播放youtube视频的webview,它有一个摄像头按钮.用户可以点击相机按钮并录制视频. 到目前为止它的工作正常

当我关闭相机控制器并尝试在webview中播放视频时,即使我尝试删除并再次添加视图,其帧也会受到干扰.

当我关闭相机控制器而没有录制视频时,它工作正常......这是图像在此输入图像描述 用于播放视频的代码

 GDataEntryBase *entry2 = [[AppDelegate.feed entries] objectAtIndex:[tag intValue]];
    NSArray *contents = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaContents];
   NSString *urlString=[NSURL URLWithString:[[contents objectAtIndex:0] URLString]];

    NSString *embedHTML = @"\
    <html><head>\
    <style type=\"text/css\">\
    body {\
    background-color: black;\
    color: black;\
    }\
    </style>\
    </head><body style=\"margin:0\"><div>\
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"736\" height=\"571\"></embed></div>\
    </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, webplay.frame.size .width, webplay.frame.size.height];
    NSLog(@"html=%@",html);
        [webplay loadHTMLString:html baseURL:nil];
Run Code Online (Sandbox Code Playgroud)

iphone uiwebview uiimagepickercontroller ipad ios4

15
推荐指数
1
解决办法
531
查看次数

在文件中缺少必需的体系结构i386

添加MapKit和CoreLocation框架后,我无法构建我的应用程序.它们都是4.3框架,用于与UIKit,CoreGraphics和Foundation一起工作的应用程序,只是给我这两个问题.不确定所需的架构是什么,代码中没有任何错误.任何帮助表示赞赏!

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/MapKit.framework/MapKit, missing required architecture i386 in file

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/CoreLocation.framework/CoreLocation, missing required architecture i386 in file

Undefined symbols for architecture i386:
  "_CLLocationCoordinate2DMake", referenced from:
       -[Layer2 tableView:cellForRowAtIndexPath:] in Layer2.o
  "_OBJC_CLASS_$_MKMapView", referenced from:
       objc-class-ref in Layer2.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

iphone core-location mapkit i386

12
推荐指数
2
解决办法
2万
查看次数

在UIView中创建内部阴影

我想在我UIView的iPad 上创建一个内部阴影:

UIView带阴影

UIView可能会改变大小,所以我无法使用简单的图像来创建这种阴影.

我已经测试了setShadow等,但它只是一个创建的阴影.

知道怎么创造这种影子吗?

xcode objective-c ipad ios

12
推荐指数
2
解决办法
2万
查看次数

使用ARC进行NSURLConnection sendSynchronousRequest

我开始玩ARC了,我尝试的第一个体验之一是对URL进行HTTP调用并获取一些数据.当然,HTTP状态代码对我来说很重要,所以这意味着我去了我使用的"goto" sendSynchronousRequest:

NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *responseCode = nil;

NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request returningResponse:responseCode error:error];
Run Code Online (Sandbox Code Playgroud)

启用ARC后,我在最后一行收到编译器错误和警告.

错误:

使用ARC不允许将Objective-C指针隐式转换为'NSURLResponse*__ autoreleasing*'

使用ARC不允许将Objective-C指针隐式转换为'NSError*__ autoreleasing*'

file://localhost/Users/jason/Projects/test/Data/DataService.m:错误:自动引用计数问题:ARC不允许将Objective-C指针隐式转换为'NSURLResponse*__ autoreleasing*'

file://localhost/Users/jason/Projects/test/Data/DataService.m:错误:自动引用计数问题:ARC不允许将Objective-C指针隐式转换为'NSError*__ autoreleasing*'

警告:

不兼容的指针类型将'NSHTTPURLResponse*_ strong'发送到'NSURLResponse* _autoreleasing*' 类型的参数

不兼容的指针类型将'NSError*_ strong'发送到'NSError* _autoreleasing*' 类型的参数

从我可以告诉参考传递是什么搞乱了这一点,但我不确定解决这个问题的正确方法是什么.是否有一种"更好"的方式来完成ARC的类似任务?

objective-c nsurlconnection automatic-ref-counting

11
推荐指数
1
解决办法
1万
查看次数