我尝试了几种方法来使用UIAlertController而不是UIAlertView.我尝试了几种方法,但我无法使警报行动起作用.这是我的代码在IOS 8和IOS 9中正常工作,但是出现了弃用的标志.我尝试了下面的优雅建议,但我无法在此背景下使其发挥作用.我需要提交我的应用程序,这是最后要解决的问题.感谢您的任何进一步建议.我是新手.
#pragma mark - BUTTONS ================================
- (IBAction)showModesAction:(id)sender {
NSLog(@"iapMade: %d", iapMade3);
// IAP MADE ! ===========================================
if (!iapMade3) {
//start game here
gamePlaysCount++;
[[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"];
NSLog(@"playsCount: %ld", (long)gamePlaysCount);
if (gamePlaysCount >= 4) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Basic"
message: THREE_PLAYS_LIMIT_MESSAGE
delegate:self
cancelButtonTitle:@"Yes, please"
otherButtonTitles:@"No, thanks", nil];
[alert show];
NSString *path = [[NSBundle mainBundle] pathForResource:@"cow" ofType:@"wav"];
_pop =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[_pop play];
[self dismissViewControllerAnimated:true completion:nil];
} else {
if (gamePlaysCount == 1) {
// Create …Run Code Online (Sandbox Code Playgroud) 当我尝试在运行一个应用程序的iOS模拟器10使用xcode8我得到这些警报频繁.它们一次随机出现两个,并且不明显是什么触发它们.
下面是我得到的错误图片.
我试过以下事情.
我有一个文本框,我只对第一个字母大写有兴趣,那么如何在iPhone UITextField中做到这一点.
更新到之后Xcode 7.3,我的项目中会显示大量警告.
'++'已被弃用:它将在Swift 3中删除
有什么想法修复这个警告吗?是什么原因++以及--将来会被弃用?
我无法将所有的Objective C代码示例可用于添加数据和查询从数据iOS Keychain到斯威夫特.我正在尝试对字符串(访问令牌)进行基本存储并将其读回.我已经看过Stack Overflow上的其他一些问题,但我无法让它工作.我试图拼凑各种来源的解决方案.
编辑1:我尝试了一个更基本的设置,因为我认为我的self.defaultKeychainQuery可能搞砸了.我已将下面的代码更新为最新版本.
编辑2:搞定了.我没有正确地将数据值添加到保存查询中.我需要将字符串转换为NSData.我已将下面的代码更新为最新的工作版本.
编辑3:正如Xerxes在下面指出的那样,由于Dictionaries存在一些问题,此代码不适用于高于Beta 1的Xcode版本.如果你知道对此的修复,请告诉我.
保存
class func save(service: NSString, data: NSString) {
var dataFromString: NSData = data.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
// Instantiate a new default keychain query
var keychainQuery: NSMutableDictionary = NSMutableDictionary(objects: [kSecClassGenericPassword, service, userAccount, dataFromString], forKeys: [kSecClass, kSecAttrService, kSecAttrAccount, kSecValueData])
// Delete any existing items
SecItemDelete(keychainQuery as CFDictionaryRef)
// Add the new keychain item
var status: OSStatus = SecItemAdd(keychainQuery as …Run Code Online (Sandbox Code Playgroud) UAlertView在iOS 9及更高版本中已弃用.什么是另类?
UIAlertView *new = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Your InApp Purchases were successfully restored" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[new show];
Run Code Online (Sandbox Code Playgroud) 我试图在swift中分享图像和文本.但是当我选择通过facebook,messenger或whatsapp进行分享时,它只提供文本(图像不共享).我正在使用UIActivityViewController进行共享.
这是我的代码:
func displayShareSheet(latitude:NSString?, longitude:NSString?, image:UIImage?, address:NSString? ) {
let activityViewController = UIActivityViewController(activityItems: [(latitude as NSString?)!, (longitude as NSString?)!, (image as UIImage?)!, (address as NSString?)!], applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: {}
)
}
Run Code Online (Sandbox Code Playgroud) 我有UIScrollView一个UIView内部.我想锁定x轴,以便视图只垂直滚动.如何启用方向锁定?
我试图传递访问令牌,Alamofire但在网络上的各种方法混淆.
以下是我们需要使用的方法.
let todosEndpoint: String = "https:url......."
let headers = [
"Authorization": "Bearer \(token!)",
"Content-Type": "application/X-Access-Token"
]
let Auth_header = [ "Authorization" : tokenString! ]
Alamofire.request(todosEndpoint, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: Auth_header)
.responseJSON { response in
print("response.request \(response.request)") // original URL request
print("response.response \(response.response)") // HTTP URL response
print("response.data \(response.data)") // server data
print("response.result \(response.result)")
print("response \(response)")
}
}
Run Code Online (Sandbox Code Playgroud)
要么
let aManager = SessionManager()
aManager.session.configuration.httpAdditionalHeaders = [
"Authorization": "Bearer tokenString"]
Run Code Online (Sandbox Code Playgroud)
要么
let headerss = [
"Authorization": …Run Code Online (Sandbox Code Playgroud) 我试图避免每次会话在Spotify for SDK中过期时用户的弹出窗口授予权限.
Pop出现一小时后,弹出窗口似乎再次授予用户权限,这样他就可以在我的应用程序上播放Spotify中的曲目,我在尝试续订会话时遇到错误:
[PLAYER][PLAY][SPOTIFY] Error renew Session Optional(Error Domain=com.spotify.auth Code=0 "Missing token refresh service." UserInfo={NSLocalizedDescription=Missing token refresh service.})
[PLAYER][SPOTIFY] Session could not be renewed,popup login
Run Code Online (Sandbox Code Playgroud)
在这里我如何尝试更新会话:
//Renew Session
func renewSession(completion:@escaping (Bool)->())
{
print("[PLAYER][PLAY][SPOTIFY] Renew Session requested ")
let auth = SPTAuth.defaultInstance()
auth?.renewSession(auth?.session, callback: { (error, session) in
if (error != nil)
{
print("[PLAYER][PLAY][SPOTIFY] Error renew Session \(String(describing: error))")
completion(false)
return
}
auth?.session = session
if auth?.session.isValid() == true
{
print("[PLAYER][PLAY][SPOTIFY] Renew Session Success")
completion(true)
}else
{
print("[PLAYER][PLAY][SPOTIFY] Renew Session …Run Code Online (Sandbox Code Playgroud) ios ×9
swift ×4
swift3 ×3
ios10 ×2
objective-c ×2
swift2 ×2
uialertview ×2
alamofire ×1
ios9 ×1
iphone ×1
keychain ×1
session ×1
spotify ×1
uiscrollview ×1
uitextfield ×1
xcode ×1
xcode8 ×1