小编Mik*_*ike的帖子

iOS无法找到插件,Android很好

我正在Phonegap/Cordova中构建一个应用程序.App目前相当简单,但确实需要网络状态和地理位置插件才能工作.

到目前为止,我已经在Android上开发了应用程序(它只由几个基本的HTML页面和一些JS构成),它一直运行良好.

今天早上我决定确保一切顺利.绝对没有任何意外,事实并非如此.

所以...它似乎是插件的问题.XCode吐出以下内容:

CDVPlugin class CDVLocation (pluginName: Geolocation) does not exist.
2013-10-18 11:24:29.437 Eye Cab[589:907] ERROR: Plugin 'Geolocation' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-10-18 11:24:29.438 Eye Cab[589:907] -[CDVCommandQueue executePending] [Line 117] FAILED pluginJSON = [
  "Geolocation1841912763",
  "Geolocation",
  "getLocation",
  [
    false,
    0
  ]
]
Run Code Online (Sandbox Code Playgroud)

我想这意味着它无法加载Geolocation插件.我为网络连接插件得到了类似的东西.

下面是我在Phonegap项目中截断的config.xml:

<feature name="http://api.phonegap.com/1.0/device" />
<feature name="Geolocation">
    <param name="ios-package" value="CDVLocation" />
</feature>
<feature name="NetworkStatus">
    <param name="ios-package" value="CDVConnection" />
</feature>
Run Code Online (Sandbox Code Playgroud)

我也尝试使用ID作为功能名称(例如org.apache.cordova.geolocation),但是遇到了同样的问题.实际上完全相同的错误.

一切都在Android中完美运行; 在模拟器中,在我的Mac上的Chrome和设备上.

我使用以下版本:

  • Phonegap 3.1.0-0.15.0
  • XCode 5.0
  • OSX …

xcode ios cordova

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

科尔多瓦试图拨打电话号码

我正在尝试拨打iOS中的电话号码,但我只有模拟器和iPod Touch进行测试.

该代码使用了以下内容:

window.location.href = 'tel:01234567890';
Run Code Online (Sandbox Code Playgroud)

适用于Android,但在iOS中它会死于:

无法加载包含错误的网页:无法显示该网址

现在,我确实意识到这已经被问过了,但是从一段时间以来的普遍共识是"它不起作用,你需要使用插件".一段时间以来,关于这一点的问题并不多,而且有什么问题似乎表明它在以编程方式进行时是有效的(如上所述window.location.href).我已经尝试了iOS PhoneDialer和相同插件的较新版本,但两者都有错误在XCode(ARC forbids explicit message send of 'release') - 有点faffing我可以运行,但然后PhoneGap找不到插件 - 它真的感觉像我用这种方法打砖墙,我简直不敢相信,这需要一些东西.

我知道你不能出于安全原因自动拨打/自动呼叫号码,但我需要做的就是打开预先填充号码的拨号器,这对于mailto:info@example.com打开你的电子邮件客户端和发送者预设的链接肯定没有什么不同.填充?

所以,我的问题是:

  • 最近更新了PhoneGap,iOS或XCode,这是否有所改变?
  • 或者,我不能在iPod或模拟器上执行此操作,它可以在iPhone上正常工作吗?
  • 我该如何解决?:)

xcode objective-c ios cordova

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

如何在Laravel Mix中将公共路径更改为包含下划线的内容?

在Laravel 5.4中引入了Mix来编译资产并维护资产管道.将默认值混合到名为的公共目录public.在许多情况下,包括我的,我的公共目录被称为其他东西.在我的情况下,它是public_html.

如何更改编译资产的公共目录?

我试过改变其中的路径webpack.min.js:

mix.js('resources/assets/js/app.js', 'public_html/assets/js')
   .sass('resources/assets/sass/app.scss', 'public_html/assets/css');
Run Code Online (Sandbox Code Playgroud)

不幸的是,这编译为:

- public
|- _html
|-- assets
|--- css
|--- js
|- fonts
Run Code Online (Sandbox Code Playgroud)

在Laravel 5.3和Elixir中,这很简单:

elixir.config.publicPath = 'public_html/assets';
Run Code Online (Sandbox Code Playgroud)

我已经检查了Mix的配置文件,但是在这里看不到任何明显的东西.

请注意:这是Laravel Mix,npm包,所以它与index.php文件中的修改无关.

php laravel laravel-elixir laravel-5.4 laravel-mix

15
推荐指数
1
解决办法
5988
查看次数

如何以编程方式启动OAuth会话?

我使用InfusionSoft的API来保存在网站上填写的表单的内容.API使用OAuth,据我所知,没有办法实现终身会话.

OAuth的工作方式是,它设计为用户在会话过期时登录,就像登录网站一样.这显然不适合API,但我确信这不是一个不寻常的要求.

我有一个初始令牌,但在那之后到期,那么呢?我唯一能想到的是拥有一个每小时运行一次的cron作业来刷新访问令牌(有一个'refreshAccessToken'方法).

php session oauth infusionsoft

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

很多平台,相同的核心代码库,最佳策略?

我正在开发一个小型网络应用程序.没有任何高级功能,只是来自数据库的基本查询.

该网站本身允许通过常规方式和Facebook Connect登录,然后它具有一些CRUD功能.

我将为它创建一个"原生"Facebook应用程序,以及一个iPhone应用程序和一个Android应用程序.

我的问题是,维护代码库的最佳方法是什么?

我之前已经创建了一个基本API,允许我添加,编辑和删除数据库记录,然后我在所有平台上使用HTTP POST到API.这使得维护代码库,修复错误,进行更新等非常容易,因为我只需要更新一个地方.各个应用程序本身只有一些皮肤,然后是一些cURL请求.虽然这对于移动应用程序(iPhone和Android)非常有用,但它确实在网站和Facebook应用程序上发出了不必要的http请求.

处理这种情况的最佳方法是什么?我应该创建2个网站(Facebook和普通网站)和API吗?这将使维护更加困难,但更加稳定和快速.只是一个API,这将使其易于维护?

代码库是CodeIgniter中的PHP,MySQL是数据库.

php mysql api facebook codeigniter

11
推荐指数
1
解决办法
465
查看次数

为什么输入524288的默认最大长度?

HTML输入(<input type="text">)的默认最大长度是524288字符.这似乎是一个非常特殊的数字,为什么选择它?

html w3c html-input

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

如果在Laravel的内置身份验证中经过身份验证的逻辑重定向?

之前已经问过这个问题,我相信我的代码是正确的,但我的行为很奇怪.

我需要在登录后将用户重定向到不同的路由,具体取决于某些数据库值.我认为为了做到这一点,我只需将我的逻辑放在handle方法中app/Http/Middleware/RedirectIfAuthenticated.php.我的方法目前看起来像这样:

public function handle($request, Closure $next)
{

    if ($this->auth->check()) {
        if($this->auth->user()->sign_up_complete == 1){
            return redirect('/');
        } else {
            if($this->auth->user()->step_one_complete == 0){
                return redirect('/register/step-1');
            } elseif($this->auth->user()->step_two_complete == 0){
                return redirect('/register/step-2');
            } else {
                return redirect('/');
            }
        }
    }

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,登录后用户被重定向到/home.我试图把dd($this->auth->user())里面$this->auth->check()的条件,但它永远不会被运行.如果我将它放在该检查之外,那么它就会在每次请求时运行.它看起来$this->auth->check()永远不会运行.

我的问题:如果不在这里,这个逻辑应该去哪里?

我也protected $redirectTo = '/account';AuthController.php控制器中删除了.

php authentication laravel laravel-5.1

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

如何使用Laravel Passport为密码授予客户端创建令牌?

我正在构建一个API,我正在使用Laravel Passport进行身份验证.

API正用于我们的移动应用程序,因此我们使用密码授予客户端.

一切都很好,用户可以登录以获取访问令牌.我们创建了一个允许用户注册的注册端点.我们现在还需要API来返回访问令牌.

浏览文档无法以编程方式创建访问令牌.

如何在控制器中为密码授予客户端创建访问令牌?我显然不想对我自己的API执行HTTP请求来获取它.

我知道我可以使用个人访问授权客户端并调用createToken用户模型,但这意味着访问令牌与不同的客户端相关联.这对我来说似乎不对.

php oauth laravel laravel-passport

9
推荐指数
2
解决办法
3974
查看次数

如何使用资源逐行编写,但仍使用Laravel的内置存储?

我想用来Storage::put写一个文件.该文件可能非常大(> 100MB),所以我想利用一个流,所以我不会盲目地将所有内容放入内存中.

我将要发出多个API请求,然后循环遍历他们的结果,因此我将要回来的数据不是问题,它将限于合理的数量.

根据文档,我需要使用:

Storage::put('file.xml', $resource);
Run Code Online (Sandbox Code Playgroud)

但是这会$resource是什么?

传统上,当使用PHP编写文件时,我已经用它的组合来完成它fopen,fwrite并且fclose为了逐行编写.我正在创建的文件了通过各种集合循环和utlising各种API,因为我去,所以$resource不是一个文件指针或文件引用作为在文档中关于其他地方交谈.

那么,我如何使用流和Laravel进行逐行编写Storage

php laravel flysystem laravel-5.3

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

如何忽略Bootstrap按钮组中的隐藏元素?

我有一个包含10个按钮的按钮组.在某些屏幕宽度(响应)下,我用媒体查询隐藏了一些这些按钮.

问题是如果我隐藏最后一个按钮,新的最后一个按钮的边缘不会变圆.

这是一个难以描述的问题,但很容易在小提琴中展示.

我的问题:如何将圆角添加到按钮组中的最后一个可见按钮,而不是简单地将最后一个按钮添加到当前.

根据SO的规则,下面的Fiddle代码:

<div class="btn-group" id="sortBtns" role="group">
    <button type="button" class="btn btn-default">First</button>
    <button type="button" class="btn btn-default">Second</button>
    <button type="button" class="btn btn-default">Third</button>
    <button type="button" class="btn btn-default">Fourth</button>
    <button type="button" class="btn btn-default">Fifth</button>
    <button type="button" class="btn btn-default">Sixth</button>
</div>

<div class="btn-group" id="sortBtns" role="group">
    <button type="button" class="btn btn-default">First</button>
    <button type="button" class="btn btn-default">Second</button>
    <button type="button" class="btn btn-default">Third</button>
    <button type="button" class="btn btn-default">Fourth</button>
    <button type="button" class="btn btn-default">Fifth</button>
    <button type="button" class="btn btn-default" style="display:none;">Sixth</button>
</div>
Run Code Online (Sandbox Code Playgroud)

请注意第二个按钮组中"第五个"缺少圆角.

我可以通过在最后一个可见元素中添加一个新类来使用JavaScript来实现这一点,但我宁愿不这样做.是否有更简洁的CSS解决方案?

css twitter-bootstrap

8
推荐指数
1
解决办法
2947
查看次数