小编Kir*_*odi的帖子

请求iOS 10中相机和库的权限 - Info.plist

我在应用程序中实现了WKWebView.在显示的网页中有一个文件输入,它应该从照片中导入图像.每当我按下该输入并选择"拍照"或"照片库"时,该应用程序突然崩溃,我认为这是因为该应用程序缺少拍照或从库导入的权限.

当用户选择上述方法之一(拍照或照片库)时,如何推送权限请求?

我使用Swift 3.0和WKWebView.

ios swift wkwebview

73
推荐指数
8
解决办法
11万
查看次数

不推荐使用componentWillMount,它将在React Native的下一个主要版本0.54.0中删除

我使用的是本机最新版本的0.54.0和每当在iOS上运行应用程序时,发现有关弃用生命周期方法的警告.还请更新组件.

警告 :

不推荐使用componentWillMount,将在下一个主要版本中删除它.请改用componentDidMount.作为临时解决方法,您可以重命名为UNSAFE_componentWillMount.请更新以下组件:容器,文本,TouchableOpacity,Transitioner,View

我也根据waring添加前缀UNSAFE_的每个方法进行更改.

UNSAFE_componentDidMount() {
}
UNSAFE_componentWillMount() {
}
UNSAFE_componentWillUpdate(nextProps, nextState) {
}
UNSAFE_componentWillReceiveProps(nextProps) {
}
Run Code Online (Sandbox Code Playgroud)

虽然警告仍在继续.请帮我.

目前我在我的应用程序中隐藏了YellowBox waring.

import { YellowBox } from 'react-native';

render() {

  YellowBox.ignoreWarnings([
    'Warning: componentWillMount is deprecated',
    'Warning: componentWillReceiveProps is deprecated',
  ]);
}
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-ios

29
推荐指数
3
解决办法
4万
查看次数

登录需要Popup应用内购买问题?

我在我的应用程序中集成了应用程序内购买,它适用于购买和恢复项目.但是有一个问题,

当我使用test1@gmail.com购买该项目时,其成功购买该项目也恢复正常工作.

现在,我从我的设备上卸载了应用程序,还清除了iTunes和App Store中的凭据.并再次安装.

当我点击恢复按钮时,会显示两个Popup:一个是test1@gmail.com,另一个是退出或创建用户.

每当我从后台到前台时,每次都会显示登录弹出窗口.

注意:我还调用了finishTransaction方法.但它不适合我.

登录PopUp显示时,无法调用一种方法.

在此输入图像描述

我怎么能解决这个问题?

in-app-purchase ios in-app swift

28
推荐指数
1
解决办法
1382
查看次数

Facebook Logout无法在ios中使用新的SDK V.4.1.0?

朋友我想在我的应用程序中集成Facebook,以便我下载新的Facebook SDK v.4.1.0,对于Facebook登录按钮使用FBSDKLoginButtonSwift中的以下代码类.

if (FBSDKAccessToken.currentAccessToken() != nil)
{
    // User is already logged in, do work such as go to next view controller.

    // Or Show Logout Button
    let loginView : FBSDKLoginButton = FBSDKLoginButton()
    self.view.addSubview(loginView)
    loginView.center = self.view.center
    loginView.readPermissions = ["public_profile", "email", "user_friends"]
    loginView.delegate = self
    self.returnUserData()
}
else
{
    let loginView : FBSDKLoginButton = FBSDKLoginButton()
    self.loginButtonDidLogOut(loginView)
    self.view.addSubview(loginView)
    loginView.center = self.view.center
    loginView.readPermissions = ["public_profile", "email", "user_friends"]
    loginView.delegate = self
 }
}
Run Code Online (Sandbox Code Playgroud)

如上面的代码,显示"使用Facebook登录"按钮.

在此输入图像描述

成功登录后,显示注销按钮.当我点击注销按钮然后调用它的委托 - 委托类FBSDKLoginButtonDelegate

委派注销方法:

func …
Run Code Online (Sandbox Code Playgroud)

facebook ios swift

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

如何获取尚未安装该应用程序的Facebook好友列表?

我正在开发一个社交网络应用程序.我在我的iOS应用程序中集成了Facebook SDK 3.14.现在,我想获取所有Facebook好友的列表,这样我就可以邀请那些没有使用该应用程序的朋友,并向已安装该应用程序的朋友发送好友请求.

我可以获得已经使用我的应用程序的朋友列表"/me/friends".

[FBRequestConnection startWithGraphPath:@"/me/friends"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          NSLog(@"All == %@", result);
                      }];
Run Code Online (Sandbox Code Playgroud)

它给朋友的Facebook ID(例如id = 654330727444458)作为回应,以便我可以向他们发送朋友请求.

要获得所有未下载应用程序的Facebook好友的列表,如果我想邀请那些,我需要让所有朋友使用"me/taggable_friends"(如果我错了请纠正我).

[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          NSlog("%@", result);
                      }];
Run Code Online (Sandbox Code Playgroud)

在taggable_friends回复中,我得到朋友的身份为id = "AaLYBzZzHdzCmlytqyMAjO0OLDZIOs74Urn93ikeRmmTB3vX_Xl81OYUt4XnoWG0BDLuX67umVkheVdDjzyvm0fcqMqu84GgM9JnNHc-1B63eg"这是朋友的令牌ID并且它不是唯一的.我不能使用它,必须使用朋友的Facebook ID邀请他们.不幸的是,我无法在可标记的朋友回复.

facebook facebook-graph-api ios

12
推荐指数
1
解决办法
7843
查看次数

在iPhone 6 plus中使用SIGTRAP的iOS应用程序崩溃?

我有一个用swift编写的应用程序,它使用AFNetwork和其他一些用Obj编写的帮助程序.在我的客户端设备(iPhone 6+)上他收到了一个SIGTRAP错误,我试图在我们拥有的测试设备和所有模拟器上重新创建问题,但无法重新创建它.

下面是堆栈跟踪,它崩溃了两次:http: //paste.ubuntu.com/12077304/ 当我象征崩溃报告时,它指向:

-[Instagram getOwnBaseUrl] (in DiaryApp) (Instagram.m:118)
Run Code Online (Sandbox Code Playgroud)

在第二个实例中,它指向:

[UIAlertView(AFNetworking) showAlertViewForTaskWithErrorOnCompletion:delegate:cancelButtonTitle:otherButtonTitles:]_block_invoke (in DiaryApp) (UIAlertView+AFNetworking.m:72)
Run Code Online (Sandbox Code Playgroud)

崩溃日志:http://paste.ubuntu.com/12077328/

我无法确定崩溃的确切原因.在这方面的任何帮助将受到高度赞赏.

谢谢.

iphone objective-c symbolicatecrash ios swift

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

NSArray.array/.new/@ []/alloc-init之间的区别

似乎有不同的实例化NSArrays的方法(NSDictionary和其他一些方法相同).

我知道:

  1. [NSArray array]
  2. [NSArray new]
  3. @[]
  4. [[NSArray alloc] init]

出于可读性的原因,我经常坚持[NSArray array],但所有这些之间有什么区别,他们都真的这样做吗?

objective-c nsarray ios

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

如何在 React Native 中重新加载 TabNavigator 上的视图点击

我想在用户每次更改选项卡时重新加载 tabNavigator。当用户更改选项卡时,不会调用 React Native 的生命周期方法。那么如何在 TabNavigator 中重新加载选项卡:

下面的示例有两个选项卡:1) 主页 2) 事件。现在我想在用户从主页选项卡返回时刷新事件选项卡。

EXPO LINK: 世博标签导航器

代码 :

import React, {Component} from 'react';
import  {View, StyleSheet, Image, FlatList, ScrollView, Dimensions } from 'react-native';
import { Button, List, ListItem, Card  } from 'react-native-elements' // 0.15.0
//import { Constants } from 'expo';
import { TabNavigator, StackNavigator } from 'react-navigation'; // 1.0.0-beta.11

//image screen width and height defs
const windowWidth = Dimensions.get('window').width;
const windowHeight = Dimensions.get('window').height;


export default class App extends Component {
  render() { …
Run Code Online (Sandbox Code Playgroud)

tabnavigator react-native react-navigation

8
推荐指数
3
解决办法
3万
查看次数

scrollView中的多行标签仅显示在一行中并展开到其全宽

我在UIScrollView中有UILabel.我的标签可以扩展到多行.我已经设置,因为它可以扩展到2或3行.它在UIScrollView中未显示时工作正常.但当我把它放在UIScrollView中时,这个标签显示为一个冗长的标签,而不是分成多行.而是显示水平滚动.我不想显示横向滚动,而是希望我的标签扩展到两行以上并且只覆盖可用的宽度.myLabel.numberOfLines = 0

iphone multiline uiscrollview uilabel ios

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

如何从iOS中的ALAsset获取视频的缩略图?

我想从视频中获取每帧的缩略图,然后将这些图像保存在可变图像阵列中.

我想用这些图像作为动画播放.

NSURL* assetURL = [self.asset valueForProperty:ALAssetPropertyAssetURL];
NSDictionary* assetOptions = nil;

AVAsset* myAsset = [[AVURLAsset alloc] initWithURL:assetURL options:assetOptions];

self.imageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:myAsset];


int duration = CMTimeGetSeconds([myAsset duration]);

for(int i = 0; i<duration; i++)
{
    CGImageRef imgRef = [self.imageGenerator copyCGImageAtTime:CMTimeMake(i, duration) actualTime:NULL error:nil];
    UIImage* thumbnail = [[UIImage alloc] initWithCGImage:imgRef scale:UIViewContentModeScaleAspectFit orientation:UIImageOrientationUp];
    [thumbnailImages addObject:thumbnail];
}
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码来获取缩略图,但问题是如果有2秒的视频,我只得到2个缩略图,但我想要20个缩略图(每秒10个缩略图).

那么,如何使用CMTimeMake每0.1秒获取缩略图

objective-c ios avplayer cmtime alassetslibrary

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