我从可用的文档和我的测试中理解的是
iPhone 6和6 Plus上的所有现有应用程序都以兼容模式运行,这意味着API(如[UIScreen mainScreen] .bounds)将在新的iPhone(6/6 Plus)中返回320x568(iPhone 5/5s)并且所有UI都是iOS缩放到正确的分辨率.
为了支持iPhone 6/6Plus,我们需要为Launch Screen创建xib(File-> New-> File-> UserInterace-> Launch Screen)并将nib文件设置为"Launch Screen File".
我们可以根据avaialble size类在Launch screen nib文件中为启动画面设置不同的图像.[基本上任意,常规和紧凑的组合]
无法区分纵向iPad和横向iPad(均为常规宽度常规高度).此外,没有办法区分iPhone 4/4和iPhone 5/s.
有没有办法可以支持iPhone 6/6 Plus模式,还可以为纵向和iPad横向提供不同的iPad发布图像?
我在AppStore上有很多iOS应用程序.现在,对于下一版本的应用程序,我想为每个要在KeyChain中共享的应用程序保留一段数据.据我所知,我需要在Apple的KeychainItemWrapper类中提供相同的Keychain访问组.
*keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Any string" accessGroup:<string representing access group>];
Run Code Online (Sandbox Code Playgroud)
我知道自定义URL并没有用,因为我希望数据是持久的.
从配置门户我可以看到,我的所有应用程序都有不同的捆绑种子ID.我知道共享密钥链访问的主要先决条件是所有应用程序都有一个共同的捆绑种子ID.
现在我的问题是如何确保在这个场景中我可以使用Keychain在所有这些应用程序之间共享数据?
是否可以通过Provisioning配置文件门户更改所有应用程序的捆绑种子ID,而不会对任何功能造成任何损害(尽管我希望避免这种情况,因为有太多的应用程序).
有没有办法可以在文件中添加所有应用程序的捆绑种子ID,并在项目中使用该文件构建所有应用程序来实现此目的?我知道"keychain-access-groups",我是否需要创建一个plist文件并在其中添加所有应用程序的bundle seed ID?
感谢这方面的任何帮助.
当我从C++(和小Java)转移到Objective C(iOS)时,我很难理解iOS中的内存管理.但现在这一切看起来很自然,我知道保留,自动释放,复制和发布的东西.在阅读了ARC之后,我想知道使用ARC有什么好处,或者只是你不必担心内存管理.在转向ARC之前,我想知道如何转向ARC.
对于Apple TVOS,使用TVML而不是自定义应用程序(基于媒体的应用程序而非游戏)是否有任何优势?从我从Apple的文档中读到的,我无法弄清楚任何这样的优势(尽管它主要是关于TVML/TVJ).
对于iOS(Swift,Objective C)开发人员来说,使用自定义似乎更容易,更快速且具有更多可能性.
我认为Apple提供的任何模板都可以使用UIKit构建,因为它内部是UIKit.对?
[更新]
让我重新解释我原来的问题,因为到目前为止的答案没有给出任何支持自定义App的观点.我同意@shirefriendship有一些真正的有效点支持TVML(最大的一个是 - >应用程序更改可能没有应用程序更新).使用自定义优于TVML有什么优势吗?喜欢TVML无法触及的任何东西?
是否有可能以某种方式在iOS应用程序中编码如下?
if(app is live in app store)
{
//Do something
}
else
{
//Do other thing
}
Run Code Online (Sandbox Code Playgroud)
我想避免我们的QE/Dev团队使用app进行测试的情况.有没有办法可以检测应用程序代码的签名方式(Developer/Adhoc/Distribution)?即使有可能,也不会消除Apple在审核时使用我们的应用进行测试的情况.在我们的应用程序在App Store上线之前,我们记录了Apple的许多内容下载.
鉴于以下代码
self.view.backgroundColor = [UIColor yellowColor];
MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]
myVC.view.backgroundColor = [UIColor clearColor];
myVC.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:myVC animated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)
当我们调用presentViewController时会发生什么?当myVC可见时,我看不到黄色,然后我在它的viewDidAppear方法中检查了myVC.view.superView,它是UIWindow.
Q1.这意味着,直到模态窗口向上呈现ViewController.view(上面的情况中的self.view)从View层次结构中移除并且在UIWindow上添加了presentViewController.view(上面的情况中的myVC.view)?
Q2.如果myVC.modalPresentationStyle!= UIModalPresentationFullScreen会是什么情况?
Q3.除了presentViewController.view之外,iOS还会删除UIWindow中的所有视图,直到全屏模式对话框进行优化吗?如果不是为什么不呢?
我有一个简单的查询,我需要强调UIButton文本和颜色.我有uibutton的下线文字,但是关于色调,它不起作用.我已经从xib中设置了色调,它没有从那里开始.下面是我的代码.
NSMutableAttributedString *commentString = [[NSMutableAttributedString alloc] initWithString:@"Testing"];
[commentString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [commentString length])];
[_helpWithLoginLabel setAttributedTitle:commentString forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud) 在控制台上从XCode 10.2(在Swift 5.0迁移之前和之后)运行时,该应用在启动时崩溃
libswiftCore.dylib的此副本需要12.2.0之前的操作系统版本。
我了解此错误,但不确定要解决此问题需要什么。
我的应用程序仅在未使用XCode调试器运行时崩溃.很难跟踪,因为我无法调试,但我终于想通了.这是因为在某些不属于我的对象上调用release.在我更正之前,我搜索并在此处找到了2个相关问题(链接如下)
iOS应用程序在设备上单独运行时崩溃,在使用调试器运行Xcode时或在模拟器中不会崩溃
iPhone崩溃只在设备没有连接到xcode时,如何理解崩溃日志?
以上问题都没有回答为什么在通过调试器运行时没有崩溃.所以我的问题是它为什么会发生?我知道调试/发布特定崩溃的原因,但这很疯狂.它是偶然的,虽然它发生了10次以上.
我在这个论坛上发现了许多关于嵌入youtube视频和自动播放的问题,但没有一个问题清除我的疑虑.
我找到了两种在UIWebView中嵌入youtube视频的方法
1)
NSString *youTubeHTMLTemplate = @"<html><head><style type=\"text/css\">body { background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight];
Run Code Online (Sandbox Code Playgroud)
2)
NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID];
Run Code Online (Sandbox Code Playgroud)
如果我使用(1)方法并按照这里给出的方法我的视频自动播放.想法是在UIWebView中找到按钮并向其发送触摸事件.
如果我使用(2)并遵循相同的方法,视频不会自动播放.
我认为建议使用(2)方法,因为(1)仅用于Flash视频(对吗?).
无论如何(2)是可能的吗?这个链接说不.
谁能证实
添加在NSOperationQueue中发出同步NSURLConnection请求的操作(或来自线程(不是主线程)的同步请求)和从主线程发出异步请求之间的区别是什么?
两者都不会阻止主线程,因此UI将保持响应,但使用一个优于其他优势是否有任何优势?我知道在后面的方法中我可以跟踪请求进度等但是假设进度和其他HTTP内容在这里并不重要.
我正在使用WatchConnectivity将图像从iOS传输到Watch OS.在模拟器中调试时我遇到了问题
正如我所见(发送方即iOS),文件传输成功
public func session(session: WCSession, didFinishFileTransfer fileTransfer: WCSessionFileTransfer, error: NSError?)
Run Code Online (Sandbox Code Playgroud)
现在从XCode我停止iOS模拟器,将目标更改为Watch App,Ctrl + Run Watch App(刚运行,无构建).调用以下方法.
public func session(session: WCSession, didReceiveFile file: WCSessionFile)
Run Code Online (Sandbox Code Playgroud)
我终于做到了
NSFileManager.defaultManager().moveItemAtURL(file.fileURL, toURL: destinationFileURL)
Run Code Online (Sandbox Code Playgroud)
此调用抛出因为file.fileURL上没有文件(我也在我的MAC中检查过).
file.fileURL.path!是这样的
/Users/<user name>/Library/Developer/CoreSimulator/Devices/DAD8E150-BAA7-43E0-BBDD-58FB0AA74E80/data/Containers/Data/PluginKitPlugin/2CB3D46B-DDB5-480C-ACF4-E529EFBA2657/Documents/Inbox/com.apple.watchconnectivity/979DC929-E1BA-4C24-8140-462EC0B0655C/Files/EC57EBB8-827E-487E-8F5A-A07BE80B3269/image
Run Code Online (Sandbox Code Playgroud)
有线索吗?
ios ×11
ios5 ×3
ipad ×3
iphone ×3
apple-tv ×1
asynchronous ×1
autoplay ×1
cocoa-touch ×1
crash ×1
debugging ×1
embed ×1
ios8 ×1
iphone-6 ×1
itunes ×1
itunes-sdk ×1
keychain ×1
memory ×1
objective-c ×1
sdk ×1
swift5 ×1
tvos ×1
uibutton ×1
uiwebview ×1
watchos-2 ×1
xcode ×1
xcode10.2 ×1
youtube ×1