我一直在努力学习如何使用协议进行委派.我理解了一切,但我想不到何时使用委托除了使用表视图和可能滚动视图.
一般来说,何时使用授权?
我从过去1个多月开始进入iOS开发,我所经历的是我必须为iphone放置1x 2x 3x的图像,然后为ipad放置2x视网膜.其中一位经验丰富的设计师建议我使用svg格式,因为它会根据屏幕尺寸进行自我调整.
所以我提出的问题是:
如果根据您的经验有任何其他信息请分享.
谢谢.
我会假设我知道如何使用DispatchGroup,为了解问题,我尝试过:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
performUsingGroup()
}
func performUsingGroup() {
let dq1 = DispatchQueue.global(qos: .userInitiated)
let dq2 = DispatchQueue.global(qos: .userInitiated)
let group = DispatchGroup()
group.enter()
dq1.async {
for i in 1...3 {
print("\(#function) DispatchQueue 1: \(i)")
}
group.leave()
}
group.wait()
dq2.async {
for i in 1...3 {
print("\(#function) DispatchQueue 2: \(i)")
}
}
group.notify(queue: DispatchQueue.main) {
print("done by group")
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果 - 预期 - 是:
performUsingGroup() DispatchQueue 1: 1
performUsingGroup() DispatchQueue …Run Code Online (Sandbox Code Playgroud) 我对权利文件有一些疑问.
1)权利文件的用途是什么.
2)如果我不添加它会发生什么.
3)myApp.entitlements和entitlements.plist有什么区别?
我想在Itunes Connect中提交我的应用以供审核,但是当我尝试提交时,我收到错误消息:
要将此应用程序配置为IOS路由应用程序,请在iTunes Connect上的"我的应用程序"中的应用程序版本页面上上载路由应用程序覆盖文件.要将您的应用程序配置为IOS路由应用程序,应用程序的Info.plist必须包含
MKDirectionsApplicationSupportedModes密钥.
因此,在我的项目中,在功能中,地图已关闭.我有MapKit.framework在我的项目中,因为我使用了地图,但我没有显示路由信息,也没有在我的应用程序中提供它.事实上,我的项目中的这个框架导致了这个ITunes Connect错误,如果是这样,我该如何修复它.通过修复它,我希望它关闭路由.
我的应用程序不是为了提供路由信息,也不是要将其设置为iOS路由应用程序.
任何帮助,将不胜感激.
我正在使用XCode 6.
我试图通过reduce函数加入String数组的元素.现在尝试了一下,但我无法得到问题的确切原因.这是我认为应该做的伎俩.我也尝试了其他替代方案,但考虑到巨额我会等待一些输入:
var genres = ["towel", "42"]
var jointGenres : String = genres.reduce(0, combine: { $0 + "," + $1 })
Run Code Online (Sandbox Code Playgroud)
错误:
..:14:44:无法使用类型'的参数列表调用'+'(IntegerLiteralConvertible,combine:(($ T6,($ T6,$ T7) - >($ T6,$ T7) - > $ T5) - >($ T6,($ T6,$ T7) - > $ T5) - > $ T5,(($ T6,$ T7) - >($ T6,$ T7) - > $ T5,$ T7) - > (($ T6,$ T7) - > $ T5,$ T7) - > $ T5) - >(($ T6,($ T6,$ T7) - > $ T5) …
我无法解决错误"重复符号".
错误是
duplicate symbol _GSDK_NSClassFromString in: .../Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
/Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)
duplicate symbol _GSDK_objc_getClass in: .../Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
/Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)
duplicate symbol _GSDK_objc_getProtocol in: ...Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
.../Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)
duplicate symbol _GSDK_objc_lookUpClass in: ...Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
...Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)
ld: 4 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我更新并安装了Podfile.但它没有用.
Pod文件
target 'game' do
# Pods for game
pod 'Firebase'
pod 'Firebase/AdMob'
end
Run Code Online (Sandbox Code Playgroud)
我之前可以添加Firebase.但是当我不小心删除"FirebaseCore.framework"时.之后我删除了Pod并重新安装了Firebase,但它没有用.
我该如何解决?
这可能是一个奇怪的问题,但它让我很困惑.为什么我们必须在iOS中为推送通知创建开发和生产SSL证书?开发证书和生产证书有什么区别?
我正在开发一个带推送通知的iOS应用程序(由自托管的解析服务器处理),当我将环境从开发切换到生产(带有生产证书)时,我的设备上不再收到推送通知.一旦我将此应用程序上传到应用程序商店(然后,它将在生产中),它是否会起作用?或者,我可以"测试"我的生产环境,以确保通知在我的应用程序商店发布后可以在我的应用程序中运行吗?
请原谅我的初学者问题.我知道我可以像这样切换到另一个屏幕(ViewController)
self.performSegueWithIdentifier ("SecondViewController", sender: self)
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到在哪里指定我的第二个屏幕的id,我只是找到了Storyboard ID,是吗?
我已经尝试过,只是因为以下错误而收到了崩溃:
Receiver()没有带标识符'SecondViewController'的segue
任何的想法?谢谢
我想在应用程序处于前台时显示推送通知的横幅.我实现这个方法来显示通知:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
completionHandler([.alert, .badge, .sound])
}
Run Code Online (Sandbox Code Playgroud)
ios ×8
swift ×6
xcode ×3
assets ×1
delegates ×1
delegation ×1
entitlements ×1
firebase ×1
objective-c ×1
png ×1
protocols ×1
reduce ×1
semaphore ×1
submit ×1
svg ×1
uistoryboard ×1