小编paj*_*vic的帖子

从Xcode 4中的项目中删除git

我刚刚在Xcode 4中创建了一个新项目,我想我已经选中了"为这个项目创建本地git存储库"框.现在,我想删除此版本控件,因为我只想用svn运行项目.这是可能的还是我必须从头开始创建一个新项目?

git xcode

42
推荐指数
4
解决办法
3万
查看次数

AVPlayerItem不能与iOS 8.4中的多个AVPlayer实例相关联

更新到iOS 8.4后,我得到了臭名昭着的例外,MPMoviePlayerController其中说:

AVPlayerItem不能与多个AVPlayer实例关联

我已经看到了几个解决方法,主要包括在重用之前重新初始化播放器.但是,对我来说,当我尝试播放新视频时,不会发生崩溃,而是当我通过旋转到纵向模式关闭播放器的全屏时.

这是我的代码:

@implementation MoviePlayerViewController

-(void)viewDidLoad
{
    [super viewDidLoad];

    self.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillEnterFullscreenNotification:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillExitFullscreenNotification:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];
}

- (void) moviePlayerWillEnterFullscreenNotification:(NSNotification*)notification
{
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];
}

- (void) moviePlayerWillExitFullscreenNotification:(NSNotification*)notification
{
    [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
}

- (void)deviceOrientationDidChange
{
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
    if (orientation == UIDeviceOrientationPortrait) {
        [self.moviePlayer setFullscreen:NO animated:YES];
    }
}

@end
Run Code Online (Sandbox Code Playgroud)

对全屏的更改发生在UIViewController具有MoviePlayerViewController …

cocoa-touch mpmovieplayercontroller ios avplayer ios8.4

37
推荐指数
1
解决办法
2292
查看次数

如何在iOS 4.2之前检查是否为特定应用启用了位置服务?

如何检查用户是否允许mu app的位置?通常我会使用该类的authorizationStatus方法CLLocationManager,但它仅适用于iOS 4.2及更高版本.是否有可能在使用SDK 4.2时以某种方式实现此目的,以便应用程序仍然可以在具有旧版iOS的设备上运行,或者我是否必须降级SDK?沿着同一条线,我需要一个类似于locationServicesEnablediOS 4.0之前的方法的替代方案.

iphone cllocationmanager ios-4.2

36
推荐指数
3
解决办法
6万
查看次数

在UITableView中滚动时移动视图

我有一个UIViewUITableView它下面:

在此输入图像描述

我想要做的是UITableView当用户开始在表格中滚动时,让上方的视图向上移动(不在路上),以便有更多空间UITableView(当你再次向下滚动时降下来).

我知道这通常是通过表头视图完成的,但我的问题是我的表视图位于一个选项卡内(实际上它是一个使用的侧滚动页面视图TTSliddingPageviewcontroller).所以虽然我只有一个顶部UIView有三个UITableView.

是否可以手动完成此操作?我的第一个想法是把所有东西放在一个UIScrollView,但根据Apple的文档,一个人不应该放在一个UITableView内部,UIScrollView因为这会导致不可预测的行为.

cocoa-touch uitableview uiscrollview uiview ios

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

在iTunes Connect中选择现有的银行信息

我不得不在iTunes Connect中重新申请合同.这样做时,我需要再次设置银行信息,但不会让我使用我在ITC中输入的现有银行帐户.当我按下银行信息下的"设置"时,它给了我两件事.首先我得到"当前银行账户",我可以查看或编辑(我不想编辑任何东西,因为帐户是正确的).其次,我得到一个空的下拉列表"选择一个不同的银行账户"选项(因为我没有指定其他银行账户).我想做的只是确认现有的银行账户,但是当我按下Save时,它说"你必须做出改变才能保存".我可以按的唯一按钮是取消,它将我带回显示我的合同概览的previeus页面,我可以看到合同具有"待处理银行"状态.所以这似乎有些悖论.我在这里错过了什么吗?

感谢名单!

itunesconnect

20
推荐指数
2
解决办法
9333
查看次数

App Store拒绝了应用程序作为预发布软件

我们的应用程序刚被应用程序商店拒绝,其解释如下:

您的应用程序被标记为预发布软件.预发布或试用版软件无法被接受进入生产环境,并且不符合App Store审查指南.

如果您有兴趣对您的应用进行试用测试并仅将其提供给特定用户,则可以使用Ad Hoc分发来扩大您的用户群.有关Ad Hoc分发的信息,请参阅iOS Developer Program用户指南.

这可能是一个愚蠢的问题,但我无法弄清楚我们的应用程序是如何"标记为预发布".它是在我们的项目或目标中设置的一些标志吗?或者它是在iTunes Connect中设置的东西?

更新:

我们收到了苹果公司的回复,我认为这是对我们现在接受的商业模式的误解.

我已经接受了休伯特的答案,因为它是最接近问题的答案,尽管科多的评论(我给了一个upvote)排在第一位.

xcode app-store appstore-approval ios

8
推荐指数
1
解决办法
3556
查看次数

模拟器中没有 Touch ID / Face ID 提示

我正在使用KeychainAccessSwift钥匙串包装器来使用生物识别技术保存和读取钥匙串。

在模拟器(Xcode 10.1、iOS 12.1)中运行时,不会显示 Touch ID/Face ID 提示/对话。该值被写入钥匙串和从钥匙串读取,而无需用户通过生物识别进行确认。当我在设备上运行时,提示按预期出现。

即使我没有激活匹配的触摸/面部,模拟器似乎总是处于生物识别已经被批准的状态。

这是模拟器或 SDK 中的错误或(或可能是功能)吗?我有一个旧的 Objective-C 项目,它使用 Apple 的旧 KeychainWrapper,我在同一个模拟器中得到了提示。

keychain ios ios-simulator swift

8
推荐指数
1
解决办法
1536
查看次数

用于访问Mac OS X中的UI元素的API

我们正在开发一个帮助阅读障碍者的应用程序.用户可以通过将鼠标光标悬停在屏幕上,让应用程序大声读出屏幕上的任何文本(菜单,按钮标签,窗口标题等)(我知道许多操作系统已经可以做到这一点,但这是一个教学工具,我们正在做一些额外的事情).我们有一个适用于Windows的工作应用程序,现在我们想在OS X中做类似的事情.基本上我们想要实现类似于OS X的VoiceOver功能的东西.我的问题是我们可以用来访问UI元素的API在OS X中(如Windows的Microsoft Active Accessibility).我一直在阅读有关Mac OS X Accessibility的内容,但这似乎更像是一个API,可以在您自己的应用程序中启用辅助功能,而不是从操作系统(或其他应用程序)访问元素.我错了吗?

macos accessibility

6
推荐指数
1
解决办法
5111
查看次数

如何为Objective-C和Swift创建通用iOS库?

我需要为iOS(框架或静态库 - 我还没有决定)创建一个可以在Objective-C和Swift项目中使用的库.这样做的最佳方式是什么?我看到它的方式我有三个选择:

  1. 在Objective-C中编写库并添加对Swift(桥接头等)的支持.
  2. 在Swift中编写库并添加对Objective-C的支持.
  3. 在Objective-C和Swift中编写两个库.我真的想避免这个选择.

这里的主要要求是开发人员应尽可能轻松地使用它.理想情况下,他们应该能够选择他们的语言而不关心,或者甚至不知道图书馆本身的语言是什么.这可以做到吗?

此外,我希望能够使用CocoaPods分发库,如果这有任何意义.

objective-c ios ios-frameworks swift ios-library

6
推荐指数
1
解决办法
1196
查看次数

“过分展开的属性”警告?

我有一堂课,我有这样的财产:

var residenceId: Int!
Run Code Online (Sandbox Code Playgroud)

使用Xcode 10和Swift 4.2进行构建时,没有问题。但是,在安装Xcode 11 Beta并转换为Swift 5之后,我得到以下警告:

Implicitly unwrapped property 'residenceId' declared here
Run Code Online (Sandbox Code Playgroud)

在上一节课中,我还具有以下功能:

func jsonDictionary() -> [String : Any] {
    return ["residenceId": residenceId]
}
Run Code Online (Sandbox Code Playgroud)

我在这里得到警告

Coercion of implicitly unwrappable value of type 'Int?' to 'Any' does not unwrap optional
Run Code Online (Sandbox Code Playgroud)

我们是否不再被允许使用隐式展开的可选?

在此处输入图片说明

编辑:

经过更多研究之后,我开始相信“在这里声明的未包装属性'residenceId'实际上不是警告”,而是一些信息(以灰色标签而不是通常的黄色)以帮助我理解为什么我收到第二个警告。

为了澄清,我的问题是,我们是否不再能够使用“!” 属性上的符号定义一个隐式解开的属性(仅在我们确定它不会为nil时才明显),以便以后避免显式解开它(从而简化代码)。

swift swift5

6
推荐指数
1
解决办法
402
查看次数