小编tom*_*Dev的帖子

Xcode卡在索引上

我已经工作了2个月的项目没有任何理由停止工作,因为Xcode陷入了"索引".我不能再建造这个项目了.如果我尝试构建,Xcode冻结,我必须强制退出.这只发生在这个项目中.

我尝试清理所有派生数据,但没有帮助.

我正在使用Xcode 4.5.2.

有任何想法吗?

indexing xcode freeze

108
推荐指数
9
解决办法
9万
查看次数

Xcode 7.3/Swift 2:"没有用Objective-C选择器声明的方法"警告

我一直在使用选择器,甚至在迁移到Swift之后我能够毫无问题地使用它们.这就是我在Swift 2上使用的方式没有问题,直到我将Xcode更新到7.3版:

在此输入图像描述

正如使用可以看到我使用选择器与NSTimer.

这是被称为的动作:

 func Start () {

 }
Run Code Online (Sandbox Code Playgroud)

如您所见,Xcode 7.3现在发出警告"没有用Objective-C选择器声明的方法".通过单击警告,Xcode通过添加"Selector"快速修复代码,但我仍然得到相同的警告:在此输入图像描述

nstimer swift

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

耗材应用内购买和恢复按钮

现在所有应用程序都需要还原IAP按钮,如果没有,Apple将拒绝该应用程序.

问题是,消耗品呢?你无法恢复它们似乎是合乎逻辑的,因为用户将在游戏上花费额外的金币,就是这样.

我使用NSUserDefaults存储硬币,所以如果用户删除应用程序,他将失去一切,除非他通过iTunes同步.iCloud备份到同步设备将在未来的更新中添加,但我想这与问题无关,即...

消耗IAP可以/必须恢复吗?

我只是害怕遭到拒绝而且延迟了我的新游戏.

谢谢,

iphone xcode in-app-purchase ipad

8
推荐指数
2
解决办法
5089
查看次数

Swift 2:仅在全屏视频上旋转屏幕

这是一个很受欢迎的问题,但我找不到任何适用于Swift 2的解决方案.

该应用程序仅限肖像.但在观看YouTube等全屏视频时,用户应该可以旋转到横向.

在Objective C上,这是最简单的解决方案,我使用了很长时间:

AppDelegate file:

static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

    if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)]) {

        return UIInterfaceOrientationMaskAllButUpsideDown;

    } else {

    return UIInterfaceOrientationMaskPortrait;

    }

}
Run Code Online (Sandbox Code Playgroud)

这允许在视频全屏时的所有方向.否则,仅限肖像.

但是我很难在Swift上完成这项工作.当全屏视频是Swift上的播放器时,是否可以使屏幕旋转?

screen-orientation ios swift swift2

7
推荐指数
1
解决办法
1662
查看次数

NSUbiquitousKeyValueStore不与iCloud同步

我已经尝试了所有内容并阅读了所有主题,但我无法找出为什么NSUbiquitousKeyValueStore没有存储在iCloud上.

•创建了特定的应用程序ID

•为此App ID启用了iCloud

•创建供应配置文件

•在项目上启用iCloud

•将权利设置为键值:$(TeamIdentifierPrefix)$(CFBundleIdentifier)

•打开设备上的iCloud Drive

但NSUbiquitousKeyValueStore仅在本地保存.当我重新安装应用程序时,它不会从iCloud获取信息.

这是我正在尝试的方式:

    NSUbiquitousKeyValueStore *cloudStore = [NSUbiquitousKeyValueStore defaultStore];

if ([[cloudStore stringForKey:@"testString"] length] == 0) {
    NSLog(@"Nothing in iCloud - setting a value...");
    [cloudStore setString:@"I'm live in iCloud!" forKey:@"testString"];
    [cloudStore synchronize];
    [[NSUbiquitousKeyValueStore defaultStore] synchronize];

} else {
    NSString *result = [cloudStore stringForKey:@"testString"];
    NSLog(@"Found something in iCloud - here it is: %@", result);
}

[self registerForiCloudNotificatons];
Run Code Online (Sandbox Code Playgroud)

如果我删除应用程序或尝试新设备,它在iCloud上找不到任何内容.

所以我试着找出iCloud是否正常工作:

    NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
    NSLog(@"iCloud at %@", ubiq);

} else { …
Run Code Online (Sandbox Code Playgroud)

ios icloud nsubiquitouskeyvaluestore

6
推荐指数
2
解决办法
2040
查看次数

使用NSUserDefault保存游戏进度:好主意还是坏主意?

我正在开发游戏,用户所做的所有进展都将与NSUserDefaults一起保存.是好还是坏?

丢失游戏的几率是多少?有一个更好的方法吗?

当用户同步设备时,iTunes会备份NSUserDefaults吗?因此,如果用户更改了他的设备,他不会失去进度,他只需要将设备与iTunes同步?它有多安全?

如果用户当时没有互联网连接,GameCenter成就也将与NSUserDefaults一起保存.

好吧,我只想知道你的意见/经验.所有代码都运行完美,但我担心玩家可能因某些原因失去进度.

如果有人想要更多关于代码的细节可以免费询问,我可以在这里发布.

谢谢!

iphone xcode nsuserdefaults ipad

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

我可以在Xcode上重新打开.xcarchive吗?

是否可以在Xcode上重新打开.xcarchive文件?

我知道这并不常见,但我想完全按照提交到App Store的方式打开一个项目.我没有备份那个确切的版本,所以打开存档副本真的很棒!

在你问我为什么不从商店下载它之前,我必须说这个版本已被批准,并且我的发布正在等待.:)

谢谢!

iphone xcode archive ipad

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

如何在 PHP 网络应用程序上安全地使用 Firebase 身份验证

我正在用 PHP 和 MySQL 建立一个新闻网站。对于用户管理,我正在考虑使用 Firebase Auth。

登录名、密码、电子邮件确认等将由 Firebase 管理。这部分可以使用 Javascript 中的文档轻松实现。

但在某一时刻,Web 应用程序需要知道用户的电子邮件,例如,管理内容并允许访问受限区域,使用 PHP 连接到 MySQL 数据库。

Firebase Auth 使用 JavaScript 来查找电子邮件,例如:

      firebase.auth().onAuthStateChanged(function(user) {

                var user = firebase.auth().currentUser;

                if(user != null){

                  var email_id = user.email;

                }
        }
Run Code Online (Sandbox Code Playgroud)

如何安全地让用户电子邮件登录到会话并使用 PHP 发送到服务器端?如何安全地确定会话已过期并使用 PHP 让应用程序知道该情况?是否推荐使用这种方法(Firebase Auth + PHP 网站)?

谢谢!

javascript php firebase firebase-authentication

5
推荐指数
1
解决办法
5723
查看次数

后台的iOS 13关闭应用程序:音频流问题

我被困在使用Swift 5和Xcode 11在后台播放音频的过程中。

启用后台模式和启动AVAudioSession不再起作用,并且当您离开应用程序后,应用程序会在几秒钟后保持关闭状态。

首先,我得到了权利变暖,但是流开始了:

Error acquiring assertion: <NSError: 0x2829830f0; domain: RBSAssertionErrorDomain; code: 2; reason: "Required client entitlement is missing"> {
userInfo = {
    RBSAssertionAttribute = <RBSLegacyAttribute: 0x1050a9040; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
}
Run Code Online (Sandbox Code Playgroud)

在背景上几秒钟后关闭时:

[ProcessSuspension] Background task expired while holding WebKit ProcessAssertion (isMainThread? 1).
Run Code Online (Sandbox Code Playgroud)

如果我保持打开应用程序的声音,无论如何都会停止:

[ProcessSuspension] 0x10dfc8848 - ProcessAssertion::processAssertionWasInvalidated()
Run Code Online (Sandbox Code Playgroud)

苹果喜欢每年更改一次。到目前为止,有人在iOS 13和Xcode 11 / Swift 5上工作过吗?

谢谢!

更新:我刚刚发现此问题仅影响通过WebViews播放的音频。我不确定这是否是iOS 13上的错误,或者苹果是否真的从多任务处理中削减了WebViews。因此,我更改了应用程序,现在通过AVPlayer播放音频。背景音频再次起作用。

audio background audio-streaming ios swift

5
推荐指数
1
解决办法
547
查看次数

在iCloud上保存游戏进度:最佳解决方案?

我正在开发一款新的iOS游戏,并希望通过iCloud在线保存进度.节省是相当频繁的,但它们大多是双打和整数,分数,解锁和NSDate数字.

由于互联网将被要求玩游戏,我想只在线保存游戏,而不是本地.当应用程序打开时,它应该从服务器下载保存的游戏,一旦完成,启动游戏.

在线货币将通过IAP销售,因此我希望确保即使游戏被删除并重新安装也不会丢失进度,当然,也可以在同一用户的多个设备上使用.

最好的方法是什么?是否可以通过iCloud?键值似乎很乱,因为它不能与iCloud快速同步.那么核心数据呢?

我不是在寻找要复制和粘贴的代码,但是我想创建一个讨论来找出这个案例的最佳解决方案,如果它是iCloud,设置我自己的服务器等等.我看到的每个人都说不同的东西,但到目前为止,我找不到最好的解决方案.

谢谢!

xcode sync ios icloud

4
推荐指数
1
解决办法
1285
查看次数