我遇到了Xcode(使用Swift)的问题让我完全陷入困境.我意识到这个问题已被提出并回答,但没有一个答案对我有用,我的情况似乎与其他人有点不同,因为我的所有pod都失败了(不仅仅是一个特定的).一周前他们都工作得很好.
我将Cocoapods用于一些更常见的Swift框架(例如Alamofire,Eureka,Kingfisher,SwiftyJSON等).它们在Xcode 7中都运行良好.然而,其中一个(自动)更新增加了我的Xcode版本,之后必须在podfile中指定你的目标.我做了这个并运行pod安装.pod仍然存在,但现在每个与这些框架相关的import语句都失败了.
起初我认为这是一个Alamofire问题,因为这是第一个失败的"没有这样的模块'Alamofire'"错误.我尝试了Alamofire的一切,包括以下内容:
什么都不会删除"没有这样的模块..."错误.最后,我从舱中删除了Alamofire,并将Alamofire项目拖入了我的项目.这允许我删除Alamofire的import语句.但令我沮丧的是,现在下一个框架导致"没有这样的模块".我将接下来的三个框架移动到我的项目中,看起来它只会继续下去.显然,我的Pods框架都没有被识别出来了.我安装了Xcode 8并尝试使用Swift 2.3,但我得到了相同的"No such module"错误.
我真的更喜欢使用Cocoapods,因为它使得升级更容易,还有其他奖励.我猜我有一些设置错误,搞砸了我的所有豆荚,但没有找到任何运气.这是一场灾难,因为它已经关闭了几天的开发,没有任何修复的迹象.如果有什么我可以做或提供帮助找到解决方案,请告诉我.如果有人可以提供任何可能的解决方案甚至可以尝试的东西,我们将不胜感激.我目前正在使用Xcode版本7.3.1.
我的pod文件看起来像这样:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'Y2GOsp' do
use_frameworks!
# Pods for Y2GOsp
pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = …Run Code Online (Sandbox Code Playgroud) 我的Swift 4应用程序在所有模拟器上重建并成功运行,除了Generic iOS Device.如果我尝试将其归档或进行重建Generic iOS Device,则会收到No such module与我的某个pod框架相关的错误.
我尝试添加框架Linked Frameworks and Libraries,并删除了错误,但随后它在下一个pod框架上失败,依此类推.我Framework Search Paths没有运气,尝试过各种各样的路径.
目前,该值设置为:
我甚至尝试删除工作区,pod锁文件和pods文件夹,然后我做了一个pod install重建所有内容.同样,它在任何模拟器上重建清洁,除了通用模拟器.在通用的一个上,我得到No such module了pod框架的所有import语句.
任何建议都表示赞赏,因为这个问题让我完全陷入困境,因为我无法获得释放.
我正在尝试实现iOS推送通知.我的PHP版本停止工作,我无法让它再次运行.但是,我有一个使用Apple的新Auth Key完美运行的node.js脚本.我可以使用以下方法从PHP调用它:
chdir("../apns");
exec("node app.js &", $output);
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够将deviceToken和消息传递给它.有没有办法将参数传递给脚本?
这是我正在尝试运行的脚本(app.js):
var apn = require('apn');
var apnProvider = new apn.Provider({
token: {
key: 'apns.p8', // Path to the key p8 file
keyId: '<my key id>', // The Key ID of the p8 file (available at https://developer.apple.com/account/ios/certificate/key)
teamId: '<my team id>', // The Team ID of your Apple Developer Account (available at https://developer.apple.com/account/#/membership/)
},
production: false // Set to true if sending a notification to a production iOS app
});
var deviceToken = …Run Code Online (Sandbox Code Playgroud) 我正在尝试根据用户请求在运行时动态创建视图(UIImageView 和 UITextView),然后允许用户移动它们并调整它们的大小。除了调整大小之外,我一切都很好。我尝试使用捏合手势识别器,但发现它对于我想要的来说太笨拙了。因此,我想使用大小调整手柄。我相信我可以在每个手柄上放置一个平移手势识别器,并在其中一个移动时调整视图框架。
问题是,我不太确定如何创建尺寸手柄。我会指出我尝试过的所有事情,但说实话,我不太确定从哪里开始。我确实有一些想法...
1)可能使用coregraphics在角落和侧面画框或圆圈?我会创建一个新图层并在其上绘制它们吗?没有把握。
2)在每个角上贴一个盒子或圆圈的小图像?
3) XIB 文件上已经放置了句柄?
任何建议表示赞赏。我只需要指出正确的方向。
编辑:类似于 Apple 在 Pages 中使用的东西将是完美的!
在iOS Swift中,我很难将动画GIF从设备照片库加载到UIImageView或从中创建.gif文件.如果它是服务器上的文件或者它在应用程序中是正确的,我可以显示动画GIF.但是,当我从照片库加载它时,我丢失了动画.我发现了一些Objective-C解决方案并尝试将它们转换为Swift,但没有任何运气.
这是我到目前为止:
@IBAction func buttonTapped(sender: UIButton) {
selectPhoto()
}
func selectPhoto() {
let photoLibraryController = UIImagePickerController()
photoLibraryController.delegate = self
photoLibraryController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
let mediaTypes:[String] = [kUTTypeImage as String]
photoLibraryController.mediaTypes = mediaTypes
photoLibraryController.allowsEditing = false
self.presentViewController(photoLibraryController, animated: true, completion: nil)
}
// UIImagePickerControllerDelegate
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let origImage = info[UIImagePickerControllerOriginalImage] as! UIImage
self.imageView.image = origImage
picker.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
最理想的情况是,我想将照片库图像保存到服务器上的gif文件中.从那里我可以毫不费力地显示它.但是,我需要一些帮助将照片库中的数据转换为某种类型的属性,而不会丢失动画.我需要使用像ALAssetsLibrary这样的东西吗?
谢谢.
我有一个奇怪的问题,我无法解决.我有一个相对较大的应用程序,带有来自UIViewControllers和UITableViewControllers的模态视图控制器的segues.UIViewControllers似乎工作正常,但是,我与表视图控制器有一个不一致的问题.当我转到模态控制器时显示标签栏,它在模型视图中正确显示.但是,当我关闭模态控制器时,表视图控制器上的标签栏将有50/50的可能性消失.背景视图一直延伸到屏幕底部.标签栏是半透明的,所以我希望背景延伸到它后面,但我不知道为什么在某些情况下(具有相同的控制器和相同的情况)正常工作而有些则不能.我找不到任何模式.
初始tableview控制器:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if optionEnabled[indexPath.row] {
let segues:[String] = ["profileMenuSegue", "servicesProvidedSegue", "myWorkDaySegue", "myWorkWeekSegue", "timeOffSegue", "myAvailabilitySegue", "staffSegue", "promoSegue", "activateAccountSegue", "addWeekSegue"]
performSegueWithIdentifier(segues[indexPath.row], sender: self)
}
}
Run Code Online (Sandbox Code Playgroud)
模态视图控制器:
Alamofire.request(.POST, url, parameters: params, encoding: ParameterEncoding.URL)
.validate()
.responseJSON { (request, _, result) in
switch result {
case .Success(let data):
json = JSON(data)
print(json)
print("request successful")
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
})
case .Failure(_, let error):
print("request failed")
print(error)
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有"延伸边缘"设置的开启和关闭,并且我已经尝试覆盖顶部条和底部条的"推断".我在所有视图控制器上将演示文稿设置为"当前上下文".
任何建议都非常感谢,因为我正在试用的东西.
我无法理解这个错误的含义.我的应用程序工作正常,直到我迁移到Swift 4.现在我tableView:numberOfRowsInSection在尝试打开几个视图控制器时遇到此错误.我在Swift 3.2中没有遇到任何这些错误.在所有情况下都实现了numberOfRowsInSection方法,并且看起来很好.谁能指出我正确的方向?
2017-11-26 10:21:04.973523-0600 Y2GOsp [27701:6382461] - [Y2GOsp.ClientDetailViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例0x7fa51c89f000 2017-11-26 10:21:43.328635-0600 Y2GOsp [27701 :6382461]***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [Y2GOsp.ClientDetailViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例0x7fa51c89f000'
numberOfRowsInSection实现:
例1:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
Run Code Online (Sandbox Code Playgroud)
例2:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dayAppoints.count
}
Run Code Online (Sandbox Code Playgroud) 以UISlider的经验,我为ValueChanged事件创建IBAction 。现在,根据我的isContinuous设置,它会在值更改或拖动停止时触发。我的问题是我需要跟踪两种情况,但是我不能同时isContinuous设置两种方式。
有什么方法可以跟踪更改的值以及用户何时停止拖动?当值连续变化时,我想更新一个计数器,并且,当拖动停止时,我想刷新数据。我不想每次更改值时都刷新数据,因为这会导致过多的开销。我尝试了其他一些操作,但是在拖动停止时没有一个被调用。