我刚刚在Xcode 4中创建了一个新项目,我想我已经选中了"为这个项目创建本地git存储库"框.现在,我想删除此版本控件,因为我只想用svn运行项目.这是可能的还是我必须从头开始创建一个新项目?
更新到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 …
如何检查用户是否允许mu app的位置?通常我会使用该类的authorizationStatus
方法CLLocationManager
,但它仅适用于iOS 4.2及更高版本.是否有可能在使用SDK 4.2时以某种方式实现此目的,以便应用程序仍然可以在具有旧版iOS的设备上运行,或者我是否必须降级SDK?沿着同一条线,我需要一个类似于locationServicesEnabled
iOS 4.0之前的方法的替代方案.
我有一个UIView
与UITableView
它下面:
我想要做的是UITableView
当用户开始在表格中滚动时,让上方的视图向上移动(不在路上),以便有更多空间UITableView
(当你再次向下滚动时降下来).
我知道这通常是通过表头视图完成的,但我的问题是我的表视图位于一个选项卡内(实际上它是一个使用的侧滚动页面视图TTSliddingPageviewcontroller
).所以虽然我只有一个顶部UIView
有三个UITableView
.
是否可以手动完成此操作?我的第一个想法是把所有东西放在一个UIScrollView
,但根据Apple的文档,一个人不应该放在一个UITableView
内部,UIScrollView
因为这会导致不可预测的行为.
我不得不在iTunes Connect中重新申请合同.这样做时,我需要再次设置银行信息,但不会让我使用我在ITC中输入的现有银行帐户.当我按下银行信息下的"设置"时,它给了我两件事.首先我得到"当前银行账户",我可以查看或编辑(我不想编辑任何东西,因为帐户是正确的).其次,我得到一个空的下拉列表"选择一个不同的银行账户"选项(因为我没有指定其他银行账户).我想做的只是确认现有的银行账户,但是当我按下Save时,它说"你必须做出改变才能保存".我可以按的唯一按钮是取消,它将我带回显示我的合同概览的previeus页面,我可以看到合同具有"待处理银行"状态.所以这似乎有些悖论.我在这里错过了什么吗?
感谢名单!
我们的应用程序刚被应用程序商店拒绝,其解释如下:
您的应用程序被标记为预发布软件.预发布或试用版软件无法被接受进入生产环境,并且不符合App Store审查指南.
如果您有兴趣对您的应用进行试用测试并仅将其提供给特定用户,则可以使用Ad Hoc分发来扩大您的用户群.有关Ad Hoc分发的信息,请参阅iOS Developer Program用户指南.
这可能是一个愚蠢的问题,但我无法弄清楚我们的应用程序是如何"标记为预发布".它是在我们的项目或目标中设置的一些标志吗?或者它是在iTunes Connect中设置的东西?
更新:
我们收到了苹果公司的回复,我认为这是对我们现在接受的商业模式的误解.
我已经接受了休伯特的答案,因为它是最接近问题的答案,尽管科多的评论(我给了一个upvote)排在第一位.
我正在使用KeychainAccessSwift钥匙串包装器来使用生物识别技术保存和读取钥匙串。
在模拟器(Xcode 10.1、iOS 12.1)中运行时,不会显示 Touch ID/Face ID 提示/对话。该值被写入钥匙串和从钥匙串读取,而无需用户通过生物识别进行确认。当我在设备上运行时,提示按预期出现。
即使我没有激活匹配的触摸/面部,模拟器似乎总是处于生物识别已经被批准的状态。
这是模拟器或 SDK 中的错误或(或可能是功能)吗?我有一个旧的 Objective-C 项目,它使用 Apple 的旧 KeychainWrapper,我在同一个模拟器中得到了提示。
我们正在开发一个帮助阅读障碍者的应用程序.用户可以通过将鼠标光标悬停在屏幕上,让应用程序大声读出屏幕上的任何文本(菜单,按钮标签,窗口标题等)(我知道许多操作系统已经可以做到这一点,但这是一个教学工具,我们正在做一些额外的事情).我们有一个适用于Windows的工作应用程序,现在我们想在OS X中做类似的事情.基本上我们想要实现类似于OS X的VoiceOver功能的东西.我的问题是我们可以用来访问UI元素的API在OS X中(如Windows的Microsoft Active Accessibility).我一直在阅读有关Mac OS X Accessibility的内容,但这似乎更像是一个API,可以在您自己的应用程序中启用辅助功能,而不是从操作系统(或其他应用程序)访问元素.我错了吗?
我需要为iOS(框架或静态库 - 我还没有决定)创建一个可以在Objective-C和Swift项目中使用的库.这样做的最佳方式是什么?我看到它的方式我有三个选择:
这里的主要要求是开发人员应尽可能轻松地使用它.理想情况下,他们应该能够选择他们的语言而不关心,或者甚至不知道图书馆本身的语言是什么.这可以做到吗?
此外,我希望能够使用CocoaPods分发库,如果这有任何意义.
我有一堂课,我有这样的财产:
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时才明显),以便以后避免显式解开它(从而简化代码)。
ios ×5
swift ×3
cocoa-touch ×2
xcode ×2
app-store ×1
avplayer ×1
git ×1
ios-4.2 ×1
ios-library ×1
ios8.4 ×1
iphone ×1
keychain ×1
macos ×1
objective-c ×1
swift5 ×1
uiscrollview ×1
uitableview ×1
uiview ×1